Práctica 5 Examen RenatoCS

7
Resumen Este informe trata sobre el uso del Software Zelio y Step 7 Micro Win para la automatización de una secuencia de tres motores. I. OBJETIVOS 1. Utilizar la programación en Zelio Soft para diseñar el mando de tres motores en la siguiente secuencia: - − − 2. Repetir la secuencia utilizando la programación en Step 7 Micro Win. II. INTRODUCCIÓN Como parte de los conocimientos de Automatización industrial, es necesario estar al tanto sobre la programación en Step 7 Micro Win para un posterior uso del PLC S7-200 de Siemens. Se partirá de un diseño realizado en un lenguaje ya conocido como es el BDF de Zelio. . III. MARCO TEÓRICO Step 7 Micro Win [1] STEP 7 es un Software de Programación de PLC (Controladores Lógicos Programables el SIMATIC-S7 de Siemens, es el sucesor de SIMATIC S5 STEP 7 está ampliamente extendido en toda Alemania, Estándares utilizados [2] Los lenguajes de programación SIMATIC integrados en STEP 7 cumplen con la norma DIN EN 6.1131-3. El software estándar se ejecuta bajo los sistemas operativos MS Windows 2000 Professional (en adelante llamado Windows 2000) y MS Windows XP Professional (en adelante llamado Windows XP) y MS Windows Server 2003, estando adaptado a su funcionamiento gráfico y orientado a los objetos. Funciones del software estándar El software estándar le asiste en todas las fases de creación de soluciones de automatización, tales como • crear y gestionar proyectos • configurar y parametrizar el hardware y la comunicación • gestionar símbolos crear programas, p.ej. para sistemas de destino S7 • cargar programas en sistemas de destino • comprobar el sistema automatizado • diagnosticar fallos de la instalación El interface de usuario del software STEP 7 ha sido diseñado siguiendo los criterios ergonómicos más avanzados, lo que permite conocer rápidamente sus funciones. Modos de programación [3] Para toda la familia de autómatas Simatic S7 se emplean los siguientes lenguajes de programación: - Diagrama de funciones (FUP) - Lista de instrucciones (AWL). - Esquema de contactos (KOP): se representa gráficamente con símbolos eléctricos.: Esta práctica se realizará en modo KOP, por lo que profundizaremos un poco más los conceptos sobre este lenguaje: KOP [4] Es un esquema de contactos, escalera o ladder. Es un lenguaje de Step 7 gráfico y probablemente el más extendido en todos los lenguajes de programación y por tanto el más similar a otros. Probablemente es el más fácil de entender por personal proveniente de la industria eléctrica y técnicos eléctricos. En definitiva, es la representación que habría que cablear si se quisiera hacer el mismo programa que realizas con el PLC. [5] Funciones y bloques funcionales son las partes básicas de construcción de un programa, que contienen una declaración de datos, variables y un conjunto de instrucciones. Los programas, bloques Funcionales y funciones se denominan Unidades de Organización de Programas, POU´s. BLOQUE PRINCIPAL [5] El bloque principal es “un conjunto lógico de todos los elementos y construcciones del lenguaje de programación que son necesarios para el tratamiento de señal previsto que se requiere para el control de una máquina o proceso mediante el sistema de autómata programable”. Un programa puede contener, aparte de la declaración de tipos de datos, variables y su código interno, distintas instancias de funciones y bloques funcionales. Renato Alejandro Castro Serrano e-mail: [email protected] Práctica No. 4: Arranque de tres motores en secuencia

Transcript of Práctica 5 Examen RenatoCS

Page 1: Práctica 5 Examen RenatoCS

Resumen – Este informe trata sobre el uso del Software Zelio y

Step 7 Micro Win para la automatización de una secuencia de tres

motores.

I. OBJETIVOS

1. Utilizar la programación en Zelio Soft para diseñar el

mando de tres motores en la siguiente secuencia:

- 𝐴𝐵𝐶 − 𝐴𝐶̅̅ ̅̅ − �̅� − 𝐴𝐵𝐶 − 𝐴𝐵𝐶̅̅ ̅̅ ̅̅

2. Repetir la secuencia utilizando la programación en Step 7

Micro Win.

II. INTRODUCCIÓN

Como parte de los conocimientos de Automatización

industrial, es necesario estar al tanto sobre la programación en

Step 7 Micro Win para un posterior uso del PLC S7-200 de

Siemens. Se partirá de un diseño realizado en un lenguaje ya

conocido como es el BDF de Zelio.

.

III. MARCO TEÓRICO

Step 7 Micro Win

[1] STEP 7 es un Software de Programación de PLC

(Controladores Lógicos Programables el SIMATIC-S7 de

Siemens, es el sucesor de SIMATIC S5 STEP 7 está

ampliamente extendido en toda Alemania,

Estándares utilizados

[2] Los lenguajes de programación SIMATIC integrados en

STEP 7 cumplen con la norma DIN EN 6.1131-3. El software

estándar se ejecuta bajo los sistemas operativos MS Windows

2000 Professional (en adelante llamado Windows 2000) y MS

Windows XP Professional (en adelante llamado Windows XP)

y MS Windows Server 2003, estando adaptado a su

funcionamiento gráfico y orientado a los objetos.

Funciones del software estándar

El software estándar le asiste en todas las fases de creación

de soluciones de automatización, tales como

• crear y gestionar proyectos

• configurar y parametrizar el hardware y la comunicación

• gestionar símbolos

• crear programas, p.ej. para sistemas de destino S7

• cargar programas en sistemas de destino

• comprobar el sistema automatizado

• diagnosticar fallos de la instalación

El interface de usuario del software STEP 7 ha sido diseñado

siguiendo los criterios ergonómicos más avanzados, lo que

permite conocer rápidamente sus funciones.

Modos de programación

[3] Para toda la familia de autómatas Simatic S7 se emplean

los siguientes lenguajes de programación:

- Diagrama de funciones (FUP)

- Lista de instrucciones (AWL).

- Esquema de contactos (KOP): se representa gráficamente

con símbolos eléctricos.:

Esta práctica se realizará en modo KOP, por lo que

profundizaremos un poco más los conceptos sobre este

lenguaje:

KOP

[4] Es un esquema de contactos, escalera o ladder. Es un

lenguaje de Step 7 gráfico y probablemente el más extendido en

todos los lenguajes de programación y por tanto el más similar

a otros.

Probablemente es el más fácil de entender por personal

proveniente de la industria eléctrica y técnicos eléctricos. En

definitiva, es la representación que habría que cablear si se

quisiera hacer el mismo programa que realizas con el PLC.

[5] Funciones y bloques funcionales son las partes básicas de

construcción de un programa, que contienen una declaración de

datos, variables y un conjunto de instrucciones. Los programas,

bloques Funcionales y funciones se denominan Unidades de

Organización de Programas, POU´s.

BLOQUE PRINCIPAL

[5] El bloque principal es “un conjunto lógico de todos los

elementos y construcciones del lenguaje de programación que

son necesarios para el tratamiento de señal previsto que se

requiere para el control de una máquina o proceso mediante el

sistema de autómata programable”. Un programa puede

contener, aparte de la declaración de tipos de datos, variables y

su código interno, distintas instancias de funciones y bloques

funcionales.

Renato Alejandro Castro Serrano

e-mail: [email protected]

Práctica No. 4: Arranque de tres motores en

secuencia

Page 2: Práctica 5 Examen RenatoCS

Comparado esto con un PLC convencional, éste contiene un

solo recurso, ejecutando una tarea que controla un único

programa de manera cíclica. El S7-200 sólo cuenta con el

programa principal y la creación y utilización de funciones

(subrutinas) reusables o no reusables. La creación de los

bloques funcionales se aplica en los PLC’s de gama alta S7-

300/400. Sin embargo es conveniente que usted como

programador reconozca y diferencie estos conceptos.

Fig.1: Esquema de programación en KOP

El programa principal contiene las operaciones que controlan la

aplicación. El S7-200 ejecuta estas operaciones en orden

secuencial de arriba hacia abajo y de izquierda a derecha una

vez por ciclo.

En el programa principal se tendrá en cuenta entonces:

Marcaje inicial, es decir, ubicar la primera marca de ciclo

con la marca especial SM0.1 (setear la(s) primera(s)

marca(s) que permite(n) evolucionar la red).

Llamado de subrutinas (Automático, Alarmas, Recetas,

Salidas, etc.)

Operaciones globales.

Evalúa el modo de operación en que se encuentra la

máquina.

Resetear la demás área de memoria M, C y T con el fin de

garantizar que los contadores y temporizadores se

encuentren en 0 y que no hayan marcas seteadas (lugares

de la PN con marcas) al poner en RUN el PLC.

Las subrutinas se ejecutan sólo cuando se llaman desde el

programa principal, desde una rutina de interrupción, o bien

desde otra subrutina. Las subrutinas son elementos opcionales

del programa, adecuándose para funciones que se deban

ejecutar repetidamente. Así, en vez de tener que escribir la

lógica en cada posición del programa principal donde se deba

ejecutar una función, basta con escribirla sólo una vez en una

subrutina y llamar a la subrutina desde el programa principal

desde otra subrutina cada vez que sea necesario.

Las subrutinas tienen varias ventajas:

Permiten reducir el tamaño total del programa.

Acorta el tiempo de ciclo, puesto que el código se ha

extraído del bloque principal.

El S7--200 evalúa el código del bloque principal en cada

ciclo, sin importar si el código se ejecuta o no. Sin embargo,

el S7--200 evalúa el código en la subrutina sólo si se llama

a ésta. El llamado puede ser condicional (el llamado

requiere de ciertas condiciones) o Incondicional (El llamado

se realiza en todo momento).

Bajo este principio de funcionamiento se desprenden 2

situaciones:

El no evaluar la subrutina en el actual ciclo de ejecución puede

generar que algunos valores de dicha subrutina se vean

afectados y no se actualicen correctamente.

El evaluar la subrutina en todos los ciclos de ejecución así ésta

no interese ser evaluada, implica consumo de tiempo de

ejecución que en algunas aplicaciones puede resultar valioso.

Fig.2: Llamado condicional e incondicional de subrutinas

[5] En el lenguaje KOP se dispone de las operaciones lógicas

con bits siguientes:

• ---| |--- Contacto normalmente abierto

El contacto normalmente abierto se cierra si el valor del bit

consultado, que se almacena en el <operando> indicado, es "1".

Si el contacto está cerrado, la corriente fluye a través del

contacto y el resultado lógico (RLO) es "1".

De lo contrario, si el estado de señal en el <operando> indicado

es "0", el contacto está abierto. Si el contacto está abierto no

hay flujo de corriente y el resultado lógico de la operación

(RLO) es "0".

En las conexiones en serie, el contacto ---| |--- se combina bit a

bit por medio de una Y lógica con el RLO. Cuando las

conexiones se realizan en paralelo, el contacto se combina con

el RLO por medio de una O lógica.

• ---| / |--- Contacto normalmente cerrado

El Contacto normalmente cerrado se abre si el valor del bit

consultado, que se almacena en el <operando> indicado, es "0".

Si el contacto está cerrado, la corriente fluye a través del

contacto y el resultado lógico (RLO) es "1". De lo contrario, si

el estado de señal en el <operando> indicado es "1" , el contacto

Page 3: Práctica 5 Examen RenatoCS

está abierto. Si el contacto está abierto no hay flujo de corriente

y el resultado lógico de la operación (RLO) es "0".

Cuando se realizan conexiones en serie, el contacto ---| / |--- se

combina bit a bit por medio de una Y lógica con el RLO. Si las

conexiones se efectúan en paralelo, el contacto se combina con

el RLO por medio de una O lógica.

• XOR O-exclusiva

XOR (O-exclusiva) genera un RLO de "1" si el estado de señal

de los dos bits indicados es distinto.

• ---( ) Bobina de relé, salida

Opera como una bobina en un esquema de circuitos. Si la

corriente fluye hasta la bobina (RLO = 1), el bit en el

<operando> se pone a "1". Si no fluye corriente hasta la bobina

(RLO = 0), el bit en el <operando> se pone a "0". Una bobina

de salida sólo puede colocarse dentro de un esquema de

contactos en el extremo derecho de un circuito. Como máximo

puede haber 16 salidas múltiples (v. ejemplos). Se puede crear

una salida negada

• ---( # )--- Conector

Es un elemento intercalado que cumple una función de

asignación; el conector almacena el RLO actual (el estado de

señal del flujo de corriente) en el <operando> que se haya

especificado. Este elemento de asignación memoriza la

combinación lógica de bits de la última rama abierta que esté

antes que él. Si se conecta en serie con otros elementos, la

operación ---( # )--- se inserta igual que un contacto. El

elemento ---( # )--- nunca debe conectarse a una barra de

alimentación, ni colocarse directamente detrás de una rama, y

tampoco debe emplearse como final de una rama. Se puede

crear la negación del elemento ---( # )--- anteponiéndole el

elemento ---|NOT|--- (invertir el resultado lógico).

• ---|NOT|--- Invertir resultado lógico (RLO)

Invierte el bit RLO

Las siguientes operaciones reaccionan ante un RLO de 1:

• ---( S ) Activar salida

Sólo se ejecuta si el RLO de las operaciones anteriores es "1"

(flujo de corriente en la bobina). Si el RLO es "1", el

<operando> indicado del elemento se pone a "1".

Un RLO = 0 no tiene efecto alguno, de forma que el estado de

señal actual del operando indicado del elemento no se altera.

• ---( R ) Desactivar salida

Sólo se ejecuta si el RLO de las operaciones anteriores es "1"

(flujo de corriente en la bobina). Si fluye corriente a la bobina

(RLO es "1"), el <operando> indicado del elemento se pone a

"0". Un RLO de "0" (= no hay flujo de corriente en la bobina)

no tiene efecto alguno, de forma que el estado de señal del

operando indicado del elemento no varía. El <operando>

también puede ser un temporizador (N.° de T) cuyo valor de

temporización se pone a "0", o un contador (N.° de Z) cuyo

valor de contaje se pone a "0".

• SR Desactivar flip-flop de activación

Se activa si el estado en la entrada S es "1" y si el estado de la

entrada R es "0". De no ser así, cuando el estado en la entrada

S es "0" y el estado de la entrada R es "1", se desactiva el flip-

flop. Si el RLO es "1" en ambas entradas, la operación

Desactivar flip-flop de activación ejecuta en el <operando>

indicado primero la operación Activar y seguidamente la

operación Desactivar, de modo que la dirección permanece

desactivada para el resto del ciclo de programa.

Las operaciones S (Activar) y R (Desactivar) sólo se ejecutan

si el RLO es 1. Si el RLO es 0, estas operaciones no se ven

afectadas y el operando indicado no varía.

• RS Activar flip-flop de desactivación

RS (Activar flip-flop de desactivación) se desactiva si el estado

en la entrada R es "1" y si el estado en la entrada S es "0". De

no ser así, cuando el estado en la entrada R es "0" y el estado en

la entrada S es "1", se activa el flip-flop. Si el RLO es "1" en

ambas entradas, la operación Desactivar flip-flop de activación

ejecuta en el <operando> indicado primero la operación

Desactivar y seguidamente la operación Activar, de modo que

la dirección permanece activada para el resto del ciclo de

programa.

Las operaciones S (Activar) y R (Desactivar) sólo se ejecutan

si el RLO es 1. Si el RLO es 0 estas operaciones no se ven

afectadas y el operando indicado no varía.

Temporizadores

[5] En toda solución automática pueden existir

temporizadores inherentes al proceso que parten de los

mismos requerimientos del cliente, por ejemplo, la

activación temporizada de algunos actuadores cuando no se

poseen sensores que indiquen el final de dicha activación.

TON: TEMPORIZADOR CON RETARDO A LA

CONEXIÓN.

Fig. 3: Temporizador TON

Page 4: Práctica 5 Examen RenatoCS

La operación temporizador como retardo a la conexión

(TON) cuenta el tiempo al estar activada (ON) la entrada de

habilitación. Si el valor actual (Txxx) es mayor o igual al valor

de preselección (PT), se activará el bit de temporización (bit T).

El temporizador continúa contando tras haber alcanzado el

valor de preselección y detiene el conteo cuando alcanza el

valor máximo de 32767.

Fig. 4: Funcionamiento del temporizador TON

IV. DESARROLLO DE LA PRÁCTICA

Programación de la secuencia en BDF de Zelio

Para esta secuencia se utilizaron 4 básculas R-S, una como

comando general y las otras 3 encargadas de accionar las

diferentes salidas según lo requerido en la secuencia, además se

utilizaron 4 temporizadores que se accionan al mismo tiempo,

pero el tiempo de activación de su salida es diferente para cada

uno, lo cual permite que se desarrolle la secuencia.

El diseño empieza con la entrada digital I1, la cual dará un pulso

que será retenido por la báscula B05, la que servirá como

entrada activa durante toda la secuencia. Al mismo tiempo se

activará la báscula B07, esta encenderá Q1 y Q3 donde se

conectará el motor A y C; además se activará la báscula B08

para encender la salida Q2 donde se conectará el motor B, así

se cumple la primera parte de la secuencia accionando los 3

motores. La salida de la primera báscula además activará el

temporizador B11, el cual, luego de transcurridos 5 segundos,

reseteará la báscula B07, lo que desactivará las salidas Q1 y Q3.

La báscula B05 también activará el temporizador B13, el cual

luego de 10 segundos desde su activación reseteará la báscula

B08, permitiendo que la salida Q2 se apague. Conjuntamente

también está activo el temporizador B14, que luego de 15

segundos desde su activación, accionará la báscula B16, la que

volverá a activar las tres salidas Q1, Q2 y Q3. Finalmente, el

temporizador B17 que también estaba activo desde el principio,

activará su salida luego de 20 segundos. Esta salida reseteará

las básculas que estaban activas, B17 y B05, apagando todas las

salidas y el circuito queda listo para el siguiente pulso.

La entrada digital I2 servirá como apagado general. Esta

entrada está conectada a los reset de todas las básculas mediante

compuertas OR, esto permitirá que en cualquier momento

deseado se apague cualquier salida que esté activa, además de

reiniciar la báscula principal que permite que el circuito quede

listo para el próximo pulso.

El diseño realizado en BDF se muestra en la figura 9.

Además se colocará el diseño como anexo para una mejor

visualización.

Fig.9 Esquema BDF de la secuencia

Programación en KOP de S7-200

La secuencia lógica de programación en KOP es muy similar a

la utilizada en BDF. Se parte de un pulsante I0.0 que activa la

bobina Q0.3, esta bobina activará a las Q0.0, Q0.1 y Q0.2 en

modo Set. Además activará al temporizador T37 tipo TON, el

cual cambiará el estado de su salida a alto luego de 5 segundos.

Al activarse la salida del T37 se activarán también las bobinas

Q0.0 y Q0.2 en modo Reset. Al mismo tiempo se activará el

temporizador T38, luego de 5 segundos su salida cambiará a

alto activando la bobina Q1.0 en modo Reset. Luego se activará

el temporizador T39, pasados 5 segundos su salida cambiará a

alto y se volverán a activar las bobinas Q0.0, Q0.1 y Q0.2 en

modo Set, finalmente un temporizador T40 hará que, luego de

5 segundos, todas las bobinas se reseteen, finalizando la

secuencia.

El esquema realizado de la programación KOP de la secuencia

de motores se muestra en la Figura 10.

Page 5: Práctica 5 Examen RenatoCS

Fig. 10: Esquema KOP de la secuencia

Código en AWL de S7-200

Luego de realizar la programación en lenguaje KOP, el sistema

genera automáticamente el código AWL de la secuencia. El

código generado fue el siguiente:

ORGANIZATION_BLOCK PRINCIPAL:OB1

TITLE=COMENTARIOS DEL PROGRAMA

BEGIN

Network 1 // Arranque

// Comentario de segmento

LD Q0.3

S Q0.0, 1

S Q0.1, 1

S Q0.2, 1

Network 2 // Activación Temporizador 1

LD Q0.3

TON T37, 50

Network 3 // Apagado Motor A y Motor C

LD T37

R Q0.0, 1

R Q0.2, 1

Network 4 // Activación Temporizador 2

LD T37

TON T38, 50

Network 5 // Apagado Motor B

LD T38

R Q0.1, 1

Network 6 // Activación Temporizador 3

LD T38

TON T39, 50

Network 7 // Encendido Motores A, B y C

LD T39

S Q0.0, 1

S Q0.1, 1

S Q0.2, 1

Network 8 // Activación Temporizador 4

LD T39

TON T40, 50

Network 9 // Apagado Motores A, B, C. Fin de Secuencia /

Apagado General

LD T40

O I0.0

R Q0.0, 1

R Q0.1, 1

R Q0.2, 1

R Q0.3, 1

Network 10 // Pulsante de Activación

LD I0.1

S Q0.3, 1

END_ORGANIZATION_BLOCK

Page 6: Práctica 5 Examen RenatoCS

V. CONCLUSIONES

Para el diseño en KOP de S7 Micro Win es posible utilizar

una lógica de diseño muy similar a la de BDF, esto es una ventaja si ya se conocía la forma de diseñar y programar en

bloques de función de Zelio.

Cuando se diseña una secuencia en KOP o FUP, el software S7 Micro Win genera automáticamente el código AWL con

toda la rutina de la secuencia, estas instrucciones serán leídas

e interpretadas por el PLC o un simulador del mismo al

momento de la implementación.

Una forma básica de diseño de una secuencia de motores

puede realizarse utilizando bobinas Set (para activar el motor) y bobinas Reset (para desactivarlo), con

temporizadores tipo TON.

Los temporizadores TON retardan el cambio de su salida al

estado lógico 1 luego de transcurrido el tiempo establecido.

Se debe elegir correctamente el código del temporizador a

utilizar, a partir del T37 los temporizadores funcionan con base de 100 ms.

Se puede otorgar el mismo nombre de una variable a distintos elementos, en este caso todos los eventos

relacionados a esa variable trabajarán de manera

sincronizada.

VI. REFERENCIAS

[1] Colaboradores de Wikipedia. STEP 7 [en línea]. Wikipedia, La

enciclopedia libre, 2013 [fecha de consulta: 11 de noviembre del 2013].

Disponible en

<http://es.wikipedia.org/w/index.php?title=STEP_7&oldid=67641725>.

[2] Programar con STEP 7 [en línea]. SIEMENS, Simatic [fecha de consulta:

11 de noviembre del 2013]. Disponible en <

http://cache.automation.siemens.com/dnl/jExNDU0NwAA_18652056_

HB/S7prv54_s.pdf >.

[3] Introducción a la programación en AWL [en línea]. INFO PLC, 2013

[fecha de consulta: 11 de noviembre del 2013]. Disponible en

<http://www.infoplc.net/files/descargas/siemens/infoPLC_net_Programa

cion_AWL.pdf >.

[4] Step 7… AWL, FUP o KOP [en línea]. Programación SIEMENS [fecha

de consulta: 11 de noviembre del 2013]. Disponible en

<http://programacionsiemens.com/step-7-awl-fup-kop-cual-elijo/>.

[5] Medina J.F.. MANUAL TÉCNICO DE PROGRAMACIÓN DE MICRO

PLC's SIEMENS S7-200 BASADO EN MODELOS DE REDES DE PETRI

BAJO EL LENGUAJE DE PROGRAMACIÓN "KOP” [en línea].

Universidad Nacional de Colombia, 2011 [fecha de consulta: 11 de

noviembre del 2013]. Disponible en

<http://grupotyt.unalmed.edu.co/docs/autoI-medianf_TDG.pdf>.

Page 7: Práctica 5 Examen RenatoCS

ANEXOS

Esquema de la secuencia realizado en BDF