Sistema de programación IEC 61131-3 - CoDeSys - Guia de ejercicios

32
Sistema de programación IEC 61131-3: CoDeSys Guía de ejercicios Ing. Gabriel Vento Versión 1.01 Festo AR Edison 2392 (1640) Martínez Buenos Aires - Argentina Sistema de programación IEC 61131-3: CoDeSys Guía de ejercicios

Transcript of Sistema de programación IEC 61131-3 - CoDeSys - Guia de ejercicios

Sistema de

programación IEC

61131-3: CoDeSys

Guía de ejercicios

Ing. Gabriel Vento

Versión 1.01

Festo AR

Edison 2392

(1640) Martínez

Buenos Aires - Argentina

Sistema de programación IEC 61131-3: CoDeSys Guía de ejercicios

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 2 de 32

Tabla de contenido

1 EJERCICIO 1: CONTROL DE SALIDA MEDIANTE MÚLTIPLES ENTRADAS .................... 3

2 EJERCICIO 2: CONTROL DE LUZ DE ESCALERA .............................................................. 4

3 EJERCICIO 3: CONTROL DE LÁMPARAS TEMPORIZADAS ............................................. 5

4 EJERCICIO 4: CONTROL DE TOILET ................................................................................ 6

5 EJERCICIO 5: SELECCIÓN DE PROGRAMA A EJECUTAR ................................................ 7

6 EJERCICIO 6: SECUENCIADOR ........................................................................................ 8

7 EJERCICIO 7: BLINKER .................................................................................................. 10

8 EJERCICIO 8: BLINKER CON HABILITACIÓN/BLOQUEO MEDIANTE CONTADOR ...... 11

9 EJERCICIO 9: PROYECTO FINAL: SEMÁFORO DE DOS VÍAS ....................................... 12

10 EJERCICIOS RESUELTOS ........................................................................................... 14

10. 1 EJERCICIO 1 ........................................................................................................... 14 10. 2 EJERCICIO 2 ........................................................................................................... 15 10. 3 EJERCICIO 3 ........................................................................................................... 16 10. 4 EJERCICIO 4 ........................................................................................................... 17 10. 5 EJERCICIO 5 ........................................................................................................... 18 10. 6 EJERCICIO 6 ........................................................................................................... 19 10. 7 EJERCICIO 7 ........................................................................................................... 23 10. 8 EJERCICIO 8 ........................................................................................................... 25 10. 9 EJERCICIO 9 ........................................................................................................... 28

Sistema de programación IEC 61131-3: CoDeSys Guía de Ejercicios

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 3 de 32

1 Ejercicio 1: Control de salida mediante múltiples entradas

1. Crear un Nuevo Proyecto: Sistema Target: None

2. Crear un programa llamado PLC_PRG escrito en IL. Este será el programa

principal del proyecto y se encargará únicamente de iniciar el programa del

ejercicio propiamente dicho.

3. Crear un programa llamado Ejercicio_1 escrito en LDR.

Descripción del programa:

4. Utilizar los nombres de variables en concordancia con la descripción del

programa.

5. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 4 de 32

2 Ejercicio 2: Control de luz de escalera

1. Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa

llamado Luz_Escalera escrito en LDR.

2. Descripción del programa:

- Debe haber un interruptor al comienzo y otra al final de la escalera, desde

donde la luz puede ser encendida o apagada (Llave de combinación).

- Una llave principal podrá activar / desactivar el sistema de iluminación.

3. Realizar una visualización simple para probar el programa.

4. Utilizar los nombres de variables en concordancia con la descripción del

programa.

5. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 5 de 32

3 Ejercicio 3: Control de lámparas temporizadas

1. Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa

llamado Ejercicio_3 en CFC.

2. Descripción del programa:

3. Realizar un retardo a la conexión para ambas lámparas, la primera con 3

segundos y la segunda con 7 segundos.

4. Utilizar los nombres de variables en concordancia con la descripción del

programa.

5. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 6 de 32

4 Ejercicio 4: Control de Toilet

1. Sobre el mismo proyecto creado en el ejercicio 1, incluir un nuevo programa

llamado “toilet_Control” escrito en FBD.

2. Descripción del programa:

- Al detectarse un flanco ascendente en la señal switch se debe encender la

salida light, y tres segundos después la salida Fan.

- Al detectarse un flanco descendente en la señal switch se debe apagar la

salida light y cinco segundos después la salida fan.

3. Realizar una visualización simple para probar el programa.

4. Utilizar los nombres de variables en concordancia con la descripción del

programa.

5. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 7 de 32

5 Ejercicio 5: Selección de programa a ejecutar

1. Sobre el mismo proyecto creado en el ejercicio 1, eliminar el programa

PLC_PROG y crearlo nuevamente, pero esta vez en ST.

2. Descripción del programa:

Mediante dos pulsadores se debe poder incrementar / decrementrar el valor de

la variable SELECT. Dependiendo del valor de la misma, se debe ejecutar uno y

solo uno de los ejercicios creados con anterioridad, según la siguiente tabla:

Valor de la variable Select Programa a ejecutar

1 Ejercicio_1

2 Luz_escalera

3 Ejercicio_3

4 Toilet_control

1 > Select > 4 La variable select no debe tomar nunca valores en este rango

3. Realizar una visualización simple para probar el programa.

4. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 8 de 32

6 Ejercicio 6: Secuenciador

1. Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2. Descripción del programa:

Si se encuentra presente la entrada C_Completo (Ciclo completo), se debe

realizar una secuencia cíclica según la siguiente tabla:

Salida Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7

0

1

2

3

4

5

6

7

Sin embargo, si la entrada C_Completo no estuviera presente, los pasos 3 y 4

deben ser reemplazados por los pasos alternativos presentados en la tabla a

continuación. El paso 5 debe ser eliminado.

Salida Paso 3 alternativo

Paso 4 alternativo

0

1

2

3

4

5

6

7

La transición de un paso al paso siguiente debe hacerse luego de cumplido un

tiempo fijo de 1 segundo. Para esto se debe implementar un bloque de

funciones encargado de realizar el temporizado.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 9 de 32

- El programa principal debe llamarse PLC_PRG, y debe estar escrito en SFC.

Las acciones vinculadas con los pasos deben estar escritas en IL, y las

acciones vinculadas con transiciones en FBD.

- El bloque de funciones debe llamarse Temporizador, y debe estar escrito en

CFC.

3. Utilizar los nombres de variables en concordancia con la descripción del

programa.

4. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 10 de 32

7 Ejercicio 7: Blinker

1. Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2. Descripción del programa:

El programa debe hacer oscilar una salida con un ciclo de trabajo del 60%. La

frecuencia de oscilación será determinada mediante un pulso en una entrada,

según la siguiente descripción:

Entrada 0: Frecuencia de oscilación: 1Hz.

Entrada 1: Frecuencia de oscilación: 5Hz.

Entrada 2: Frecuencia de oscilación: 10Hz.

El temporizador deberá implementarse mediante un bloque de funciones y debe

existir una única instancia de dicho bloque.

- El programa principal debe llamarse PLC_PRG, y estar escrito en SFC. Las

acciones vinculadas con los pasos deben escribirse en CFC.

- El bloque de funciones debe llamarse Espera y estar escrito en CFC.

3. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 11 de 32

8 Ejercicio 8: Blinker con habilitación/Bloqueo mediante contador

1. Crear un Nuevo Proyecto: Sistema Target: FESTO CECX-X-C1

2. Descripción del programa:

El programa debe hacer oscilar una salida con un ciclo de trabajo del 60%. La

frecuencia de oscilación será determinada mediante un pulso en una entrada,

según la siguiente descripción:

Entrada 0: Frecuencia de oscilación: 1Hz.

Entrada 1: Frecuencia de oscilación: 5Hz.

Entrada 2: Frecuencia de oscilación: 10Hz.

El temporizador deberá implementarse mediante un bloque de funciones y debe

existir una única instancia de dicho bloque.

Además del oscilador, se deberá implementar un contador de flancos

ascendentes en una nueva POU llamada Contador, el cuál detenga el oscilador al

llegar a la cuenta de 15. La entrada de pulsos para el contador será la entrada 3

y recibirá el nombre de PULSOS. El contador debe poder ser reiniciado mediante

la entrada 4, la cual llevará el nombre RESET. Al resetear el contador, el

oscilador deberá ser reiniciado.

- El programa principal debe llamarse PLC_PRG, y estar escrito en SFC. Las

acciones vinculadas con los pasos deben escribirse en CFC.

- El bloque de funciones para le temporizado debe llamarse Espera y estar

escrito en CFC.

- LA POU que implementa el contador debe escribirse en CFC y llevar el

nombre CONTADOR.

3. Utilizar los nombres de variables en concordancia con la descripción del

programa.

4. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 12 de 32

9 Ejercicio 9: Proyecto Final: Semáforo de dos vías

5. Crear un nuevo proyecto. Sistema Target: FESTO CECX-X-C1.

6. Descripción del programa:

El proyecto debe controlar un semáforo simple de dos vías, en concordancia con

el siguiente gráfico:

Para controlar la secuencia se requiere:

- Un programa principal, llamado PLC_PRG, escrito en CFC.

- Un programa secundario llamado SEQUENCE, escrito en SFC.

- Un bloque de funciones llamado TRAFFICSIGNAL, escrito en FBD.

- Un bloque de funciones llamado WAIT, escrito en IL.

Se utilizará una instancia del FB TRAFFICSIGNAL para cada uno de los

semáforos, y su función será la de seleccionar cuál es la luz que se enciende

en función del estado de una variable de entrada llamada STATUS. Sus

salidas serán las señales de luz RED, YELLOW y GREEN, en concordancia con

la siguiente tabla:

Valor de la variable STATUS Señal a encender

1 GREEN

2 YELLOW

3 RED

4 YELLOW, RED

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 13 de 32

El bloque de funciones WAIT será un temporizador, el cuál recibirá como

entrada la duración de la fase en segundos (Variable Time_in) y como salida

producirá el valor TRUE (Variable OK) al cumplirse el periodo de tiempo

especificado.

El programa secundario SEQUENCE será el encargado de combinar todos los

elementos para controlar la correcta secuencia de funcionamiento del

sistema. Tendrá una variable de entrada llamada START, dos variables de

salida llamadas TRAFFICSIGNAL1 y TRAFFICSIGNAL2 respectivamente, y una

variable del tipo WAIT (FB creado anteriormente), llamada DELAY. Se deben

utilizar pasos no-IEC y todas las acciones vinculadas a los pasos deben estar

escritas en IL. La secuencia debe interrumpirse al final del ciclo si la señal

START no se encuentra presente.

El programa PLC_PRG conecta la entrada de habilitación (Variable IN) con el

bloque SEQUENCE, el cuál provee las instrucciones correctas como salidas

para cada una de las instancias del FB TRAFFICSIGNAL, el cuál finalmente se

vincula a las salidas físicas.

La vinculación entre las entradas/Salidas del PLC y las variables deben ser

válidas a lo largo de todo el proyecto, y en concordancia con la siguiente

tabla:

Variable Dirección

IN %IX4.0

A1_GREEN %QX0.0

A1_YELLOW %QX0.1

A1_RED %QX0.2

A2_GREEN %QX0.3

A2_YELLOW %QX0.4

A2_RED %QX0.5

7. Utilizar los nombres de variables en concordancia con la descripción del

programa.

8. Realizar una visualización simple para probar el programa.

9. Ejecutar la simulación y verificar el correcto funcionamiento del programa.

10. Descargar el programa al controlador y verificar su correcto funcionamiento.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 14 de 32

10 Ejercicios Resueltos

10. 1 Ejercicio 1

Control de salida mediante múltiples entradas.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 15 de 32

10. 2 Ejercicio 2

Control de luz de escalera.

Visualización:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 16 de 32

10. 3 Ejercicio 3

Control de lámparas temporizadas.

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 17 de 32

10. 4 Ejercicio 4

Control de Toilet

Visualización:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 18 de 32

10. 5 Ejercicio 5

Selección de programa a ejecutar

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 19 de 32

10. 6 Ejercicio 6

Secuenciador

Programa PLC_PRG:

Acción de Inicio:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 20 de 32

Acción de Paso 2:

Acción de transición 1:

Acción de transición 2:

Acción de Paso 3:

Acción de Paso 3 alternativo:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 21 de 32

Acción de Paso 4:

Acción de Paso 4 alternativo:

Acción de Paso 5:

Acción de Paso 6:

Acción de Paso 7:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 22 de 32

Bloque de funciones del temporizador:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 23 de 32

10. 7 Ejercicio 7

Blinker:

Programa PLC_PRG

Acción paso INIT

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 24 de 32

Acción Paso STEP2:

Bloque de funciones del temporizador:

Variables Globales:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 25 de 32

10. 8 Ejercicio 8

Blinker con habilitación/Bloqueo mediante contador

Programa PLC_PRG

Acción paso INIT

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 26 de 32

Acción Paso STEP2:

Bloque de funciones del temporizador:

Bloque de funciones del contador:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 27 de 32

Variables Globales:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 28 de 32

10. 9 Ejercicio 9

Proyecto final: Semáforo de dos vías

Declaración de variables globales:

Bloque de funciones TRAFFICSIGNAL:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 29 de 32

Bloque de funciones WAIT:

Programa SEQUENCE:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 30 de 32

Programa SEQUENCE – Acción INIT:

Programa SEQUENCE – Acción SWITCH1:

Programa SEQUENCE – Acción GREEN2:

Programa SEQUENCE – Acción SWITCH2:

Programa SEQUENCE – Acción GREEN1:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 31 de 32

Programa PLC_PRG:

Visualización:

Sistema de programación IEC 61131-3: CoDeSys. Guía de ejercicios. Página 32 de 32