Práctica 5 Examen RenatoCS
-
Upload
renato-castro -
Category
Documents
-
view
43 -
download
0
Transcript of 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
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
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
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.
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
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>.
ANEXOS
Esquema de la secuencia realizado en BDF