curso festo de plc.pdf
TRANSCRIPT
Libro de Trabajo - Nivel básico
Sistema para Enseñar Automatización y Comunicaciones94
427
E
Controles LógicosProgramables
Nº de artículo: 94427 EDescripción: ARBB.SPS FPC GSDenominación: D.S301-C-FPC-EEdición: 03/1999Composición: F. Ebel, M. SchwarzGráficos: D. SchwarzenbergerAutores: E. v. Terzi, H. Regber, C. Löffler, F. EbelTraducción: I. Sahun
© Copyright by Festo Didactic KG, D-73734 Esslingen, 1999
Sin nuestra expresa autorización, queda terminantemente prohibida lareproducción total o parcial de este documento, así como su uso inde-bido y/o su exhibición o comunicación a terceros. De los infractores seexigirá el correspondiente resarcimiento de daños y perjuicios. Quedanreservados todos los derechos inherentes, en especial los de patentes,de modelos registrados y estéticos.
Prefacio
El Sistema para la Enseñanza de Automatización y Comunicaciones deFesto Didactic para cumplir con los diversos requerimientos de la for-mación profesional y especializada. Los diferentes equipos de forma-ción están estructurados consecuentemente:
Equipos básicos que aportan conocimientos básicos en una ampliagama de tecnologías.Los equipos de tecnología tratan con importantes áreas de la técni-ca de control en bucle abierto y en bucle cerrado.Los equipos de funciones explican las funciones básicas de los sis-temas automatizados.Los equipos de aplicación proporcionan una forma avanzada de re-alizar prácticas muy orientadas a la realidad industrial.
El diseño modular del sistema de enseñanza permite aplicaciones quevan más allá de los límites de los equipos individuales. La utilizaciónde un PLC, por ejemplo, es posible en el campo de los actuadoresneumáticos, hidráulicos y eléctricos.
Todos los equipos de enseñanza tienen una estructura idéntica:
Hardware o parte físicaTeachware o parte didácticaSoftware o conjunto de programasCursos
El hardware está formado por componentes e instalaciones industrialesadaptados para fines didácticos.
El courseware se ajusta metodológica y didácticamente al hardware deformación. El courseware comprende:
Libros de texto (con ejercicios y ejemplos)Libros de trabajo (con ejercicios prácticos, hojas de trabajo, notassuplementarias, soluciones y fichas técnicasTransparencias para retroproyección y vídeos (como medios visua-les de ayuda al instructor)
Los medios de enseñanza y de aprendizaje están disponibles en variosidiomas. Han sido diseñados para su utilización en clase, pero tambiénpueden utilizarse con fines autodidactas.
En el campo del software, se dispone de programas asistidos por orde-nador y software de programación para controles lógicos programa-bles.
La gama de productos de Festo Didactic para la formación básica yavanzada se completa con una amplia selección de cursos ajustadosal contenido de los equipos de tecnología.
3
Festo Didactic • TP301
Distribución de este libro
Este libro está estructurado como sigue:
Sección A – Curso
Sección B – Fundamentos
Sección C – Soluciones
Sección D – Apéndice
La sección A - Curso - enseña la programación de los Controles Lógi-cos Programables con la ayuda de una serie de ejercicios progresivos.
Cualquier conocimiento técnico que se necesite para la realización deun ejercicio se ofrece al principio. Las funciones se limitan a los reque-rimientos más elementales. En la sección B, pueden obtenerse conoci-mientos más detallados.
La sección B - Fundamentos - contiene conocimientos técnicos deaplicación general para suplementar los contenidos de formación delos ejercicios en la sección A. Se establecen enlaces teóricos con lanecesaria terminología técnica explicada con la ayuda de ejemplos. Uníndice proporciona un medio fácil de buscar la terminología.
La sección C - Soluciones - proporciona las soluciones a los ejerci-cios de la sección A, con breves explicaciones.
La Sección D - Apéndice - contiene las fichas técnicas y un glosarioque sirve como medio de referencia.
4
TP301 • Festo Didactic
Equipo de tecnología TP301 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Tabla de contenido
Tabla de componentes/ejercicios. . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Componentes del equipo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Notas sobre seguridad. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Notas sobre el funcionamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Sección A – Curso
Componentes de un control lógico programable
Ejercicio 1: Diseño y funcionamiento de un control lógico programableComponentes de un PLC . . . . . . . . . . . . . . . . . . . . . . A-3
Programación según IEC 1131
Ejercicio 2: Del problema a la solución – teniendo en cuenta IEC 1131-3Pasos prácticos para la programación de un PLC. . . A-9
Operaciones lógicas básicas
Ejercicio 3: Circuito de una lámparaLa función de asignación . . . . . . . . . . . . . . . . . . . . . A-15
Ejercicio 4: Alarma antirroboLa función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25
Ejercicio 5: Prensa con barrera protectoraLa función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35
Ejercicio 6: Sistema de timbreLa función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45
Sistemas lógicos sin funciones memorizantes
Ejercicio 7: Dispositivo estampadorCombinación de AND/OR/NOT . . . . . . . . . . . . . . . . A-55
Ejercicio 8: Control de un silo para dos materiales a granelCircuito combinatorio con derivación . . . . . . . . . . . . A-65
Sistemas lógicos con funciones memorizantes
Ejercicio 9: Alarma de incendiosActivación de una salida . . . . . . . . . . . . . . . . . . . . . . A-73
5
Festo Didactic • TP301
Ejercicio 10: Supervisión de la rotura de una brocaActivación y desactivación de una salida . . . . . . . A-81
Ejercicio 11: Activación de un cilindroFlancos de las señales . . . . . . . . . . . . . . . . . . . . . A-89
Sistemas lógicos con funciones temporales
Ejercicio 12: Encolado de componentesPulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-101
Ejercicio 13: Dispositivo de marcadoSeñal con retardo a la conexión . . . . . . . . . . . . . A-111
Ejercicio 14: Dispositivo de fijaciónSeñal con retardo a la desconexión . . . . . . . . . . A-121
Sistemas de control secuencial
Ejercicio 15: Dispositivo elevador para paquetesSecuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . A-131
Ejercicio 16: Dispositivo elevador y clasificador para paquetesDerivación alternativa. . . . . . . . . . . . . . . . . . . . . . A-147
Ejercicio 17: Dispositivo de estampación con contadorCiclos de recuento . . . . . . . . . . . . . . . . . . . . . . . . A-159
Sección B – Fundamentos
Capítulo 1 Automatizando con un PLC. . . . . . . . . . . . . . . . . . . . B-1
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
1.2 Campos de aplicación de un PLC . . . . . . . . . . . . . . . . . . . . . B-2
1.3 Diseño básico de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
1.4 El nuevo estándar para PLC IEC 1131 . . . . . . . . . . . . . . . . . B-8
Capítulo 2 Fundamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11
2.1 El sistema de numeración decimal . . . . . . . . . . . . . . . . . . . B-12
2.2 El sistema de numeración binario . . . . . . . . . . . . . . . . . . . . B-12
2.3 El código BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14
2.4 El sistema de numeración hexadecimal . . . . . . . . . . . . . . . B-14
2.5 Números binarios con signo . . . . . . . . . . . . . . . . . . . . . . . . B-15
2.6 Números reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
6
TP301 • Festo Didactic
2.7 Generación de señales binarias y digitales . . . . . . . . . . . . . B-16
Capítulo 3 Operaciones Booleanas . . . . . . . . . . . . . . . . . . . . . B-19
3.1 Funciones lógicas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
3.2 Otras operaciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
3.3 Establecimiento de funciones de conmutación . . . . . . . . . . B-26
3.4 Simplificación de funciones lógicas . . . . . . . . . . . . . . . . . . . B-28
3.5 Diagrama de Karnaugh-Veitch . . . . . . . . . . . . . . . . . . . . . . . B-30
Capítulo 4 Diseño y modo de funcionamiento de un PLC . . B-33
4.1 Estructura de un PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34
4.2 Unidad de procesamiento principal de un PLC . . . . . . . . . . B-36
4.3 Modo de funcionamiento de un PLC . . . . . . . . . . . . . . . . . . B-38
4.4 Memoria del programa de la aplicación . . . . . . . . . . . . . . . B-40
4.5 Módulo de Entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42
4.6 Módulo de Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-44
4.7 Aparato programador / Ordenador personal . . . . . . . . . . . . B-46
Capítulo 5 Programación de un PLC. . . . . . . . . . . . . . . . . . . . B-49
5.1 Búsqueda de una solución sistemática . . . . . . . . . . . . . . . . B-50
5.2 Recursos de estructuración de IEC 1131-3 . . . . . . . . . . . . B-53
5.3 Lenguajes de programación. . . . . . . . . . . . . . . . . . . . . . . . . B-56
Capítulo 6 Elementos comunes de los lenguajes . . . . . . . . . B-61
6.1 Recursos de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-62
6.2 Tipos de datos y variables . . . . . . . . . . . . . . . . . . . . . . . . . . B-66
6.3 Unidades de organización de programas . . . . . . . . . . . . . . B-76
Capítulo 7 Diagrama de bloques de función . . . . . . . . . . . . . B-91
7.1 Elementos del diagrama de bloques de función . . . . . . . . . B-92
7.2 Evaluación de redes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-93
7.3 Estructuras de bucle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-94
7
Festo Didactic • TP301
Capítulo 8 Diagrama de contactos . . . . . . . . . . . . . . . . . . . . . . B-95
8.1 Elementos del diagrama de contactos. . . . . . . . . . . . . . . . . B-96
8.2 Funciones y bloques de función . . . . . . . . . . . . . . . . . . . . . B-98
8.3 Evaluación de los renglones . . . . . . . . . . . . . . . . . . . . . . . . B-99
Capítulo 9 Lista de instrucciones . . . . . . . . . . . . . . . . . . . . . . B-101
9.1 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-102
9.2 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-103
9.3 Funciones y bloques de función . . . . . . . . . . . . . . . . . . . . B-104
Capítulo 10 Texto estructurado . . . . . . . . . . . . . . . . . . . . . . . . . B-107
10.1 Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
10.2 Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-110
10.3 Instrucciones de selección . . . . . . . . . . . . . . . . . . . . . . . . . B-112
10.4 Instrucciones de iteración . . . . . . . . . . . . . . . . . . . . . . . . . B-115
Capítulo 11 Diagrama de funciones secuencial. . . . . . . . . . . . B-119
11.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-120
11.2 Elementos del diagrama de funciones secuencial . . . . . . B-120
11.3 Transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-130
11.4 Pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-133
11.5 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-143
Capítulo 12 Sistemas de control lógico. . . . . . . . . . . . . . . . . . B-147
12.1 Qué es un sistema de control lógico . . . . . . . . . . . . . . . . . B-148
12.2 Sistema de control lógico sin propiedades memorizantes B-148
12.3 Sistema de control lógico con propiedades memorizantes B-154
12.4 Evaluación de flancos . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-157
Capítulo 13 Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . B-161
13.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-162
13.2 Temporizador de pulsos. . . . . . . . . . . . . . . . . . . . . . . . . . . B-163
8
TP301 • Festo Didactic
13.3 Señal con retardo a la conexión . . . . . . . . . . . . . . . . . . . . B-165
13.4 Señal con retardo a la desconexión. . . . . . . . . . . . . . . . . . B-167
Capítulo 14 Contadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-171
14.1 Funciones de contador. . . . . . . . . . . . . . . . . . . . . . . . . . . . B-172
14.2 Contador incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-172
14.3 Contador decremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-176
14.4 Contador incremental/decremental. . . . . . . . . . . . . . . . . . . B-178
Capítulo 15 Sistemas de control secuencial . . . . . . . . . . . . . B-179
15.1 Qué es un sistema de control secuencial . . . . . . . . . . . . . B-180
15.2 Diagrama de funciones según IEC 848 . . . . . . . . . . . . . . B-180
15.3 Diagrama desplazamiento-fase . . . . . . . . . . . . . . . . . . . . . B-186
Capítulo 16 Puesta a punto y seguridad en el manejo de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-187
16.1 Puesta a punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-188
16.2 Seguridad en el manejo de un PLC. . . . . . . . . . . . . . . . . . B-190
Capítulo 17 Comunicaciones con PLC . . . . . . . . . . . . . . . . . . B-195
17.1 La necesidad de comunicación . . . . . . . . . . . . . . . . . . . . . B-196
17.2 Transmisión de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-196
17.3 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-197
17.4 Comunicación a nivel de campo . . . . . . . . . . . . . . . . . . . . B-198
Apéndice
Bibliografía de ilustraciones . . . . . . . . . . . . . . . . . . . . . . . . B-202
Bibliografía de literatura . . . . . . . . . . . . . . . . . . . . . . . . . . . B-203
Directrices y estándares . . . . . . . . . . . . . . . . . . . . . . . . . . . B-205
Indice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-209
9
Festo Didactic • TP301
Sección C – Soluciones
Sección D – Apéndice
Fichas técnicas
Entrada de señales eléctricas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 011088
Indicador y placa de distribución eléctrica . . . . . . . . . . . . . . . . . . . 030311
Cilindro de simple efecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152887
Cilindro de doble efecto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152888
Unidad de mantenimiento con válvula de interrupción . . . . . . . . . . 152894
Distribuidor de aire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152896
Sensor de proximidad, inductivo . . . . . . . . . . . . . . . . . . . . . . . . . . . 152902
Sensor de proximidad, capacitivo . . . . . . . . . . . . . . . . . . . . . . . . . . 152903
Sensor de proximidad, óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152904
Interruptor de proximidad para montake en cilindro . . . . . . . . . . . . 152905
Electroválvula de 5/2-vías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152909
Electroválvula de 5/2-vías de dos bobinas . . . . . . . . . . . . . . . . . . . 152910
Unidad de conexión para E/S digitales . . . . . . . . . . . . . . . . . . . . . . 159385
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
10
TP301 • Festo Didactic
Equipo de tecnologíaTP301 "Controles Lógicos Programables"
El equipo de tecnología TP301 "Controles Lógicos Programables" esparte integrante del Sistema para la Enseñanza de Automatización yComunicaciones de Festo Didactic y forma parte del nivel básico delTP300.
Los objetivos didácticos del TP301 son aprender cómo se programanlos controles lógicos programables y enseñar los fundamentos de lacreación de programas en los lenguajes ’Diagrama de Contactos’ (lad-der diagram o LD), ’diagrama de bloques de función’ (function blockdiagram o FBD), ’lista de instrucciones’ (instruction list o IL), ’texto es-tructurado’ (structured text o ST) y ’diagrama de funciones secuencial’(sequential funtion chart o SFC, muy parecido al GRAFCET). La pro-gramación se realiza según IEC 1131-3.
Tiene la opción de utilizar este libro de trabajo con diversos controleslógicos programables de distintos fabricantes, Las soluciones están dis-ponibles para los controles Festo, Siemens S5-95U, AEG A120 y Mit-subishi Melsec A1S.
Los ejercicios en este libro de trabajo puede realizarse con cualquierade los dos diferentes equipos, es decir, con la placa perforada o laversión con placa perfilada. Se recomienda tener conocimientos bási-cos de electroneumática para trabajar con el equipo de tecnologíaTP301.
Los ejercicios del TP301 tratan con los siguientes temas principales:
Componentes de un control lógico programableProgramación de PLC según IEC 1131Operaciones lógicas básicasSistemas de control lógicoSistemas de control secuencial
La asignación de componentes y ejercicios puede verse en la siguientetabla de asignaciones componentes/ejercicios.
11
Festo Didactic • TP301
Asignación de componentes a los ejercicios
Descripción 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Entrada de señales eléctricas 1 1 1 1 1 1 1 1 1 1 1 1 1
Distribuidor e indicadoreléctrico 1 1 1 1 1
Sensor de proximidad, óptico1 1 1 1 1
Sensor de proximidad,inductivo 1 1 1 1 1
Sensor de proximidad,capacitive 1 1 1 1 1
Sensor de proximidad conbrida para cilindro 1 4 4 4 4
Electroválvula de 5/2 víasde una bobina 1 1 2 1 1 1 1 2 2 2
Electroválvula de 5/2 víasde doble bobina 1 1 1
Cilindro de doble efecto1 1
21 2 2 2
Cilindro de simple efecto1 1 1 1 1 1
Válvula de paro/marcha confiltro y regulador 1 1 1 1 1 1 1 1 1 1
Distribuidor1 1 1 1 1 1 1 1 1 1
12
TP301 • Festo Didactic
Equipo TP310, Placa de montaje perfilada,Nº de artículo 080 261
Descripción Nº deartículo
Cantidad
Entrada de señales eléctricas 011 088 1
Distribuidor e indicador eléctrico 030 311 1
Sensor de proximidad, óptico 152 904 1
Sensor de proximidad, inductivo 152 902 1
Sensor de proximidad, capacitivo 152 903 1
Sensor de proximidad con brida para cilindro 152 905 4
Electroválvula de 5/2 vías de una bobina 152 909 2
Electroválvula de 5/2 vías de dos bobinas 152 910 1
Cilindro de doble efecto 152 888 2
Cilindro de simple efecto 152 887 1
Válvula de paro/marcha con filtro y regulador 152 894 1
Distribuidor 152 896 1
Tubo de plástico 151 496
Distribuidor de enchufe rápido 036 315
opcional, no incluído en la dotación original del equipo
Fuente de alimentación 151 503
Juego de cables 030 332
Clavija adaptadora 035 651
13
Festo Didactic • TP301
Equipo TP301, Placa de montaje perforada,Nº de artículo 080 260
Descripción Nº deartículo
Cantidad
Entrada de señales eléctricas 011 088 1
Distribuidor e indicador eléctrico 030 311 1
Sensor de proximidad, óptico 150 758 1
Sensor de proximidad, inductivo 150 757 1
Sensor de proximidad, capacitivo 150 759 1
Sensor de proximidad con brida para cilindro 030 331 4
Electroválvula de 5/2 vías de una bobina 030 315 2
Electroválvula de 5/2 vías de dos bobinas 030 317 1
Cilindro de doble efecto 013 415 2
Cilindro de simple efecto 011 711 1
Válvula de paro/marcha con filtro y regulador 011 758 1
Distribuidor 011 713 1
Tubo de plástico 006 204
Distribuidor de enchufe rápido 006 831
opcional, no incluído en la dotación original del equipo
Fuente de alimentación 151 503
Juego de cables 030 332
14
TP301 • Festo Didactic
Notas sobre seguridad
En interés de la seguridad, deben seguirse las siguientes indicaciones:
Montar los componentes en la placa de forma segura.
No aplicar el aire comprimido hasta que se no hayan realizado y ase-gurado todas las conexiones.
Proceder con cuidado al aplicar el aire comprimido.Los cilindros pueden avanzar o retroceder en el momento que se apli-que el aire comprimido.
Desconectar el aire inmediatamente si hay líneas sueltas. Esto evitaaccidentes.
No desconectar líneas de aire bajo presión.
No sobrepasar la presión de trabajo máxima permitida de 8 bar.
Observar las normas generales de seguridad según DIN 58 126 y VDE0100.
Usar solamente tensiones extra bajas de hasta 24 V DC.
Observar las fichas técnicas de los componentes individuales, en espe-cial las notas relacionadas con la seguridad.
15
Festo Didactic • TP301
Notas sobre el funcionamiento
Cuando se monte un circuito, deben observarse las siguientes notas:
Bloquear la salida 2 de la válvula, si se conecta un cilindro de sim-ple efecto a una válvula 5/2 vías.
Las señales de entrada, que se producirían durante un proceso realde producción, se reproducen en parte por señales emitidas por pul-sadores o interruptores.
4(A) 2(B)
5(R) 3(S)
1(P)
Tapón para la salida 2de la válvula de 5/2 vías
16
TP301 • Festo Didactic
Sección A – Curso
Componentes de un control lógico programable
Ejercicio 1: Diseño y funcionamiento de un control lógico programableComponentes de un PLC . . . . . . . . . . . . . . . . . . . . . . A-3
Programación según IEC 1131
Ejercicio 2: Del problema a la solución – teniendo en cuenta IEC 1131-3Pasos prácticos para la programación de un PLC. . . A-9
Operaciones lógicas básicas
Ejercicio 3: Circuito de una lámparaLa función de asignación . . . . . . . . . . . . . . . . . . . . . A-15
Ejercicio 4: Alarma antirroboLa función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25
Ejercicio 5: Prensa con barrera protectoraLa función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35
Ejercicio 6: Sistema de timbreLa función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45
Sistemas lógicos sin funciones memorizantes
Ejercicio 7: Dispositivo estampadorCombinación de AND/OR/NOT . . . . . . . . . . . . . . . . A-55
Ejercicio 8: Control de un silo para dos materiales a granelCircuito combinatorio con derivación . . . . . . . . . . . . A-65
Sistemas lógicos con funciones memorizantes
Ejercicio 9: Alarma de incendiosActivación de una salida . . . . . . . . . . . . . . . . . . . . . . A-73
A-I
Festo Didactic • TP301
Ejercicio 10: Supervisión de la rotura de una brocaActivación y desactivación de una salida . . . . . . . A-81
Ejercicio 11: Activación de un cilindroFlancos de las señales . . . . . . . . . . . . . . . . . . . . . A-89
Sistemas lógicos con funciones temporales
Ejercicio 12: Encolado de componentesPulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-101
Ejercicio 13: Dispositivo de marcadoSeñal con retardo a la conexión . . . . . . . . . . . . . A-111
Ejercicio 14: Dispositivo de fijaciónSeñal con retardo a la desconexión . . . . . . . . . . A-121
Sistemas de control secuencial
Ejercicio 15: Dispositivo elevador para paquetesSecuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . A-131
Ejercicio 16: Dispositivo elevador y clasificador para paquetesDerivación alternativa. . . . . . . . . . . . . . . . . . . . . . A-147
Ejercicio 17: Dispositivo de estampación con contadorCiclos de recuento . . . . . . . . . . . . . . . . . . . . . . . . A-159
A-II
TP301 • Festo Didactic
Controles lógicos programables Tema
Diseño y funcionamiento de un control lógico programable
Título
Componentes de un PLC
Ser capaz de explicar el diseño básico y el modo de funcionamiento deun PLC
Objetivo didáctico
Ser capaz de configurar y poner a punto un PLC
Actualmente los Controles Lógicos Programables forman parte de cual-quier proceso de automatización. La Fig. A1.1 muestra una configura-ción típica de una solución de automatización realizada por medio deun PLC. El sistema de control mostrado representa los componentesmás elementales de una aplicación con PLC.
Conocimientostécnicos
PLC
Display /Unidad de Control
PC /Aparato programador
Actuadores
Sensores
Fig. A1.1:Automatización con PLC
B 16
A-3Ejercicio 1
Festo Didactic • TP301
Los componentes básicos de un sistema de control son:
Control Lógico Programable (PLC), también denominado AutómataProgramable (AP).Bajo este nombre se incluyen los módulos electrónicos a través delos cuales todas las funciones de la máquina o sistema a controlarson direccionadas y activadas en una secuencia lógicaSensoresEstos componentes están situados directamente en el sistema o lamáquina a controlar, y a través de ellos el PLC interroga el estado oposición de la máquina.ActuadoresEstos componentes están situados directamente en el sistema omáquina a controlar y a través de ellos, el PLC es capaz de cambiaro influir en estados y con ello en el proceso técnico.PC o dispositivo programadorSe utiliza para crear el programa que contiene la lógica del sistemao maquinaria a controlar y transferirla a la memoria del PLC. Almismo tiempo, estas herramientas de programación también propor-cionan funciones de apoyo para la verificación del programa de PLCy la puesta a punto del control.Unidades de indicación y controlEsto les permite supervisar e influir en el funcionamiento del sistemao la máquina.
Control Lógico programableEl componente más importante de un sistema de control es el PLC ysu programa. La Fig. A1.2, ilustra los componentes de un sistema PLC
Programa PLC
UPPUnidad Principal
de Proceso
Módulo de entrada M ódulo de salida
ActuadoresSensoresFig. A1.2:
Componentes de unsistema PLC
A-4 Ejercicio 1
TP301 • Festo Didactic
Un PLC se conecta con el sistema a controlar a través de módulos deentra y de salida. El sistema a controlar proporciona señales de entra-da (generalmente binarias) a través de los sensores, a los módulos deentrada. Estas señales son procesadas en la unidad principal de pro-ceso, el componente más importante de un PLC. Antes de la formula-ción de los estándares IEC, conocida como "unidad central de control"(CCU). La "especificación" para el procesamiento de señales de defineen el programa del PLC. El resultado del procesamiento es emitido alos actuadores del sistema a controlar a través del módulo de salida.Así, el diseño de un PLC corresponde al de un ordenador.
Programa de PLCUn programa de PLC consiste en una secuencia lógica de instruccio-nes. El programa de control es almacenado en una memoria especial,leíble electrónicamente, denominada ’memoria del programa’ del PLC.Durante el desarrollo del programa se utilizan memorias RAM con ba-terías de respaldo ya que su contenido puede variarse muy rápidamen-te.
Una vez probado y depurado el programa del control, suele transferirsea una memoria de sólo lectura, es decir una EPROM. En cualquiercaso, cuando se ejecuta el programa se procesa en ciclos continuos.
SeñalesLas señales de entrada llegan al PLC a través de los sensores. Estasseñales contienen información sobre el estado del sistema a controlar.Es posible introducir señales binarias, digitales y analógicas.
Un PLC solamente puede reconocer y emitir señales eléctricas. Poresta razón, las señales no-eléctricas deben convertirse en señaleseléctricas por medio de convertidores. Ejemplos de sensores son:
Pulsadores, interruptores, finales de carrera, sensores de proximidad
Las señales de salida influyen en el sistema a controlar. Las señalespueden emitirse en forma binaria, digital o analógica. Las señales desalida se amplifican en señales de conmutación a través de los actua-dores o se convierten en señales para otras formas de energía. Ejem-plos de actuadores son:
Pilotos, zumbadores, timbres, contactores, cilindros con electrovál-vulas, motores de paso a paso.
B 4
B 4
A-5Ejercicio 1
Festo Didactic • TP301
Debe resolverse una tarea de control por medio de un control lógicoprogramable (PLC). El alumno deberá familiarizarse con el diseño bási-co de un PLC.
Descripción delproblema
1. Componentes de un PLCDefinición del ejercicio
2. Diseño y puesta a punto del PLC que haya seleccionado
Para llevar a cabo el ejercicio utilizando las hojas de trabajo, véase lasección B del libro de trabajo y la ficha técnica o el manual del PLCque se utilice
Realización
Croquis de situación
A-6 Ejercicio 1
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Componentes de un PLC
Pregunta 1¿Cuáles son los componentes básicos de un PLC?
Pregunta 2¿Cuáles con los módulos básicos que forma la unidad central decontrol en un control lógico programable?
Pregunta 3¿Cómo se consigue el aislamiento eléctrico entre las señales de unsensor/actuador y el PLC?
B 4.2
B 4.1
B 4.5
A-7Ejercicio 1
Festo Didactic • TP301
HOJA DE TRABAJO
2. Diseño y puesta a punto del PLC que se haya seleccionado
Introducir los datos técnicos del control lógico programable selecciona-do en la tabla inferior.
Configurar el PLC según las notas destacadas en la ficha técnica o elmanual.
Tensión de funcionamiento
Tensión nominal
Margen de tensión admisible
Consumo de corriente
Entradas
Cantidad
Corriente de entrada
Nivel de entrada
Salidas
Cantidad
Lógica de conmutación
Tensión de salida
Corriente de salidaDatos técnicos
A-8 Ejercicio 1
TP301 • Festo Didactic
Controles lógicos programables Tema
Del problema a la solución – teniendo en cuenta IEC 1131-3 TítuloPasos prácticos para la programación de un PLC
Familiarizarse con los recursos básicos del lenguaje para la configura-ción y estructuración de un programa de PLC según IEC 1131-3
Objetivo didáctico
Se capaz de declarar variables para su uso en un programa dePLC.Ser capaz de aplicar un procedimiento sistemático para la realiza-ción de los ejercicios con PLC.
Creación de un programa de PLCLos pasos prácticos para la creación de un programa de PLC se mues-tran en la fig. A2.1
Conocimientos técnicos
Programa del PLC Instalación/proceso
Realización de la solución� Configuración del PLC� Declaración de variables del programa PLC� Formulación de la lógica del programa PLC en LD, FBD, IL, ST o SFC
Prueba y puesta a punto del sistema de control� Transferencia del programa al PLC� Verificación del sistema de control (programa del PLC e instalación) y corrección de los posibles errores
Documentación del sistema de control� Impresión del programa con comentarios� Creación de la lista de referncias cruzadas� Inclusión de los esquemas del circuito
Montaje de lainstalación
Planificación de la instalación� Trazado del esquema del circuito
Trazado de la solución� Representación como tabla de funciones (sistema de control lógico)� Representación en forma de FCH según IEC 848 (sistema de control secuencial)
Descripción de la tarea de control� Descripción verbal� Croquis de situación
Fig. A2.1:Procedimiento para la creación de un programade PLC
B 5
A-9Ejercicio 2
Festo Didactic • TP301
Descripción de una tarea de controlLos requerimientos básicos para describir una tarea de control incluyenuna descripción verbal, un croquis de situación y la definición de lossensores y actuadores a utilizar. Esta información es necesaria para eldesarrollo de esquemas de circuitos. Además, es necesario definir laasignación de sensores a las salidas del PLC. Un ejemplo de lista deasignaciones de este tipo se muestra en la tabla A2.1.
Dado que esta lista forma parte integrante de los programas de PLC,no se crea por separado en el caso de pequeñas tareas de control.
Diseño de la soluciónLa solución diseñada es dar una clara representación de la función ycomportamiento del control, independientemente de la tecnología. Latabla de funciones se utiliza como medio de describir sistemas senci-llos de control lógico. El diagrama de funciones según IEC 848 es par-ticularmente adecuado para la descripción de sistemas de control se-cuenciales.
Realización de la soluciónLa realización de la solución se divide en:
Programación de la lógica del sistema de control (PLC)Incorporación del programa de PLC en el PLC o en el sistema PLC
Un ejemplo de esto se muestra en la fig. A2.2 utilizando una tarea decontrol sencilla:
Debe sonar un timbre tanto si se presiona el pulsador de la puerta deljardín como si se presiona el pulsador de la puerta de la casa.
Ejemplo
Cuando se empieza la creación de un programa de PLC, los recursosdeben declararse con la sintaxis definida por IEC 1131-3. Las entradasy salidas del PLC declaradas en la fig. A2.2a son variables localesdentro del programa "Timbre". La utilización de variables globales senecesita normalmente en tareas de control algo más complejas.
B 6.1
Designación del recurso Direcciones deEntrada/salida en el PLC
Comentario
S1 I1.5 Pulsador de MARCHA
Y5 Q2.7 Avance del cilindro C
Tabla A2.1:Ejemplo de lista
de asignaciones
A-10 Ejercicio 2
TP301 • Festo Didactic
A continuación de la declaración, se formula en cuerpo del programa.En este punto se dispone de funciones y bloques de función para crearuna programa con una distribución clara. El ejemplo se programa endiagrama de bloques de función utilizando la función lógica OR.
Para ejecutar un programa en el PLC, es necesario saber cómo seprocesa el programa: cíclicamente o en relación con determinadosacontecimientos. IEC 1131-3 facilita sus propios recursos de lenguajepara la asignación de tales características secuenciales y para la incor-poración del programa al PLC. Estos con los recursos de lenguaje deconfiguración.
La fig. A2.2b ilustra la configuración "Ejemplo". Esta configuración rep-resenta el PLC. La configuración "Ejemplo" requiere el recurso "Proce-sador_1". Este recurso está asignado al programa "Timbre". La tarea"T_ciclico" define que el programa "Timbre" debe procesarse cíclica-mente.
B 6.1 - 6.3
END_PROGRAM
RESOURCE Instalación
>=1
BOOL;BOOL;BOOL;
PROGRAM TimbreVAR Pulsador_FD AT %IX1: Pulsador_AD AT %IX2: Timbre AT %QX1:END_VAR
Pulsador_FD
Pulsador_AD
TimbrePROGRAM Timbre
a) Ejemplo de un programa de PLC b) Ejemplo de la instalación de un programa en un PLC o en un sistema PLC
TASKT_cíclica
CONFIGURATION ejemplo
Fig. A2.2:Realización de la solución
A-11Ejercicio 2
Festo Didactic • TP301
Verificación y puesta a punto del controlEl programa se carga desde el PC o aparato programador al PLC parasu verificación o puesta a punto del sistema de control. A continuación,debe comprobarse la interacción del PLC y el sistema a controlar.
Documentación del sistema de controlLa documentación del sistema se compila tan pronto como la instala-ción funciona sin fallos y el programa del PLC ha sido modificado con-secuentemente. LA documentación consiste básicamente en:
el croquis de situación,el diseño de la solución formal,la impresión del programa con comentarios.
Las entradas y salidas del PLC, así como las variables adicionalespara almacenamiento de información deben incorporarse al programade PLC. Para ello, deberá familiarizarse con el procedimiento básicorequerido para la generación de programas de PLC.
Descripción del problema
1. Procedimientos para crear un programa de PLCDefinición del ejercicio
2. Recursos de un PLC según IEC 1131-3
3. Declaración de variables según IEC 1131-3
Para llevar a cabo el ejercicio necesitará la información de la sección Bdel libro de trabajo: Capítulo 6, página B-65.
Realización
A-12 Ejercicio 2
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Pasos prácticos para la creación de un programa de PLC
Especificar los cinco pasos prácticos para la creación de un programade PLC,
Responder a las siguientes preguntas: Pregunta
1. ¿Qué actividades hay que realizar en la etapa "Realización de la so-lución"?
2. Recursos de un PLC según IEC 1131-3
Los siguientes recursos deben direccionarse directamente.Especificar las designaciones según IEC 1131-3:
Bit de entrada 14
Memoria 9
Palabra de salidas 3
Entrada 7 en la 2ª tarjeta de entradas
A-13Ejercicio 2
Festo Didactic • TP301
HOJA DE TRABAJO
3. Declaración de variables según IEC 1131-3
En una declaración de programa, deberán tenerse en cuenta los si-guientes datos. Utilice el tipo de datos adecuado en la declaración.La declaración deberá ser válida sólo localmente.
la entrada del interruptor S1, aplicada a la entrada 2 de la 4ªtarjeta de entradastemperatura TEMP, aplicada a la palabra de salidas nº 1memoria VALVULA_ABIERTAmemoria booleana con el identificador PIEZA_PRESENTE, prea-signada al valor inicial 0memoria booleana con el identificador INIC_ROBOT, preasignadacon el valor inicial 1almacenamiento de un número (entero - INT) bajo el nombre NU-MERO, con el valor 0 preasignado
A-14 Ejercicio 2
TP301 • Festo Didactic
Controles lógicos programables Tema
Circuito de una lámpara TítuloLa función de asignación
Comprender la actuación de una salida de PLC Objetivo didácticoSer capaz de realizar la función de asignación lógica con un PLCSe capaz de crear un programa de PLC según IEC 1131-3
Todo control lógico programable tiene un cierto número de entradas ysalidas, a través de las cuales se conectan los sensores y actuadores.El programa transferido al control contiene las órdenes que interconectanlas entradas individuales y las asignan a las correspondientes salidas.
Conocimientostécnicos
La función de asignaciónLa función de asignación permite que el estado de una señal de entra-da sea transmitido directamente al estado de una salida del PLC. Elcomportamiento puede describirse claramente con la ayuda de una ta-bla de funciones, que lo representa por una entrada %IX1 y una salida%QX2 en la tabla A3.1.
%IX1 %QX2
0 0
1 1
Tabla A3.1:Tabla de funciones para lafunción de asignación
B 3
A-15Ejercicio 3
Festo Didactic • TP301
Para realizar la función de asignación en cada uno de los lenguajes deprogramación, necesitará las órdenes mostradas en la tabla A3.2.
B 8
B 7
B 9
B 10
%IX1 %QX2
LD
%IX1 %QX2
FBD
LD %IX1
IL
ST %QX2
%QX2 := %IX1;
ST
Renglón con un contacto abiertoy bobina no-memorizante.
Conexión directa de la entraday la salida especificadas
Leer el valor de la entrada especificaday cargarlo al acumulador
Carga el contenido del acumuladora la salida especificada
Asignación del valor de la entradaespecificada a la derecha de ":=" a la salida especificada a la izquierda de ":=" Tabla A3.2:
La función de asignación
A-16 Ejercicio 3
TP301 • Festo Didactic
El accionamiento de un pulsador (S1) hace que se encienda la lámpa-ra (H1). La lámpara debe permanecer iluminada mientras el pulsadorse halle accionado.
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipo Definición del ejercicio
2. Descripción de la tarea de control por medio de la tabla de funcio-nes y una ecuación booleana
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajesde programación
5. Verificación y puesta a punto del programa de PLC y del sistema.
H1
S1
Croquis de situación
A-17Ejercicio 3
Festo Didactic • TP301
1. Trazado del esquema del circuito y montaje del equipoRealización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control inde-pendientemente de la tecnología por medio de la tabla de funcionesy la ecuación booleana asociada.
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Entrada de señales eléctricas
1 Dispositivo indicadorLista de componentes
Antes de cablear:
¡Desconectar la alimentación!
A-18 Ejercicio 3
TP301 • Festo Didactic
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema del circuito
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
A-19Ejercicio 3
Festo Didactic • TP301
A-20 Ejercicio 3
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Crear la tabla de funciones:
Deducir la ecuación booleana a partir de la tabla:
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuitoeléctrico
S1 H1
0
1Tabla de funciones
Ecuación booleana
A-21Ejercicio 3
Festo Didactic • TP301
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-22 Ejercicio 3
TP301 • Festo Didactic
HOJA DE TRABAJO
Responder a las siguientes preguntas: Pregunta
1. ¿Cuál es el comportamiento de una salida programada como no-me-morizante, si deja de aplicarse la señal de entrada?
2. Describir el diseño básico de un módulo de salida.
A-23Ejercicio 3
Festo Didactic • TP301
A-24 Ejercicio 3
TP301 • Festo Didactic
Controles lógicos programables Tema
Alarma antirrobo TítuloLa función NOT
Poder realizar la función not con un PLC Objetivo didáctico
La función NOTLa función NOT se utiliza para convertir señales binarias a su valoropuesto:
Conocimientostécnicos
Si la señal es 0, se evalúa como 1Si la señal es 1, se evalúa como 0
La Tabla A4.1 ilustra un ejemplo del comportamiento de la funciónNOT para la entrada %IX1 y una salida %QX2.
%IX1 %QX2
0 1
1 0
Tabla A4.1:Tabla de funciones para lafunción NOT
B 3
A-25Ejercicio 4
Festo Didactic • TP301
La tabla A4.2 contiene las órdenes para la realización de la funciónNOT en cada uno de los lenguajes de programación.
B 8
B 7
B 9
B 10
%IX1 %QX2
LD
FBD
LDN
IL
ST
%QX2 := NOT %IX1;
ST
/
%IX1 %QX2NOT
%IX1
%QX2
Renglón con contacto normalmentecerrado y bobina no-memorizante.
Usar la función NOT en la entrada especificada
Cargar el valor inverso de laentrada en el acumulador.
Cargar el contenido del acumuladora la salida especificada.
Asignar el valor inverso de la entrada especificadaa la salidaindicada a la izquierda de ":=".
Tabla A4.2:La función NOT
A-26 Ejercicio 4
TP301 • Festo Didactic
Se ha dispuesto un fino hilo tensado tras una ventana, que se rompe sihay un intento de robo. Como resultado de la rotura se interrumpe uncircuito cerrado y debe sonar un zumbador.
Descripción delproblema
1. Trazado el esquema del circuito y montaje del equipo Definición del ejercicio
2. Descripción de la tarea de control por medio de la tabla de funcio-nes y la ecuación booleana
3. Declaración de las variables del programa PLC
4. Formulación del programa PLC en uno de los lenguajes de progra-mación del PLC
5. Verificación y puesta a punto del programa y el sistema PLC
S1
H1
Croquis de situación
A-27Ejercicio 4
Festo Didactic • TP301
1. Trazado el esquema del circuito y montaje del equipoRealización
⇒ Completar el esquema del circuito eléctrico en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control inde-pendientemente de la tecnología por medio de una tabla de funcio-nes y la ecuación booleana asociada.
3. Declaración de las variables del programa PLC
⇒ Todas las variables deben ser declaradas como variables localesdel programa del PLC
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Entrada de señales eléctricas
1 Dispositivo indicadorLista de componentes
Antes de cablear:
¡Desconectar la alimentación!
A-28 Ejercicio 4
TP301 • Festo Didactic
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema del circuito
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
A-29Ejercicio 4
Festo Didactic • TP301
A-30 Ejercicio 4
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Crear la tabla de funciones:
Deducir la ecuación booleana a partir de la tabla:
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuitoeléctrico
S1 H1
0
1Tabla de funciones
Ecuación booleana
A-31Ejercicio 4
Festo Didactic • TP301
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-32 Ejercicio 4
TP301 • Festo Didactic
HOJA DE TRABAJO
Responder a la siguiente preguntas: Pregunta
1. La salida se activa como no-memorizante. ¿Cuál es el efecto en laseñal de salida, si el hilo se rompe y debe ser reparado?
A-33Ejercicio 4
Festo Didactic • TP301
A-34 Ejercicio 4
TP301 • Festo Didactic
Controles lógicos programables Tema
Prensa con barrera protectora TítuloLa función AND
Se capaz de realizar una función AND con un PLC Objetivo didácticoComprender el término ’función’ según IEC 1131-3Poder utilizar funciones estándar según IEC 1311-3
Las funciones son parte de las unidades de organización del programay por lo tanto representan un medio para configurar programas dePLC. IEC 1311-3 proporciona funciones estandarizadas para la solu-ción de tareas básicas de tecnología de control.
Conocimientostécnicos
La función ANDSolamente cuando todas las señales conectadas en AND están en 1,el resultado es 1. Si una sola de las señales conectadas es 0, enton-ces el resultado es también 0.
La tabla de funciones para la función AND se muestra a continuaciónpara las dos entradas %IX1 y %IX2, así como para la salida %QX3.
%IX1 %IX2 %QX3
0 0 0
0 1 0
1 0 0
1 1 1
Tabla A5.1:Tabla de funciones para lafunción AND
B 3
A-35Ejercicio 5
Festo Didactic • TP301
La tabla A5.2 contiene las órdenes para la realización de la funciónAND en cada uno de los lenguajes de programación.
B 8
B 7
B 9
B 10
%IX1 %QX3
LD
FBD
IL
ST
%IX2
&
%IX2
%QX3%IX1
o bien
AND
%IX2
%QX3%IX1
LD
ST
%IX1
%QX3
AND %IX2
%QX3 := %IX1 & %IX2;
%QX3 := AND(%IX1, %IX2);
o bien
Las dos entradas especificadasse conectan con el operador "&".El resultado se asigna a la salidaespecificada.
Invocación de una función AND conentradas especificadas comoparámetros transferidos.
Renglón con dos contactos en serienormalmente abiertos
Las entradas y salidas de la funciónAND se conectan con losparámetros especificados
Cargar al acumulador el valor de laentrada especificada.Conexión en AND del resultadoactual con la segunda entrada.Cargar el contenido del acumuladora la salida especificada
Tabla A5.2:La función AND
A-36 Ejercicio 5
TP301 • Festo Didactic
Una prensa de estampación 1.0 debe avanzar solamente si se presio-na el pulsador S1 y (and) la barrera protectora se halla cerrada. Si unade estas condiciones no se cumple, la prensa debe retroceder inmedia-tamente.
Descripción delproblema
La posición de la barrera protectora cerrada B1 es detectada por un sen-sor de proximidad B1. La herramienta de la prensa avanza o retrocedepor medio de una electroválvula con retorno por muelle (bobina Y1).
1. Trazado los esquemas neumático y eléctrico y montaje del equipo. Definición del ejercicio
2. Descripción de la tarea de control por medio de la tabla de funcio-nes y una ecuación booleana
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajesde programación
5. Verificación y puesta a punto del programa de PLC y del sistema.
1.0
S1
B1
Croquis de situación
A-37Ejercicio 5
Festo Didactic • TP301
1. Trazado de los esquemas neumático y eléctrico y montaje delequipo
Realización
⇒ Completar los esquemas neumático y eléctrico en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control independiente-mente de la tecnología, por medio de la tabla de funciones y laecuación booleana asociada.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Cilindro de doble efecto
Electroválvula 5/2 vías de una bobina
1 Entrada de señales eléctricas
1 Interruptor de proximidad inductivo
Tubo de plásticoLista de componentes
Antes de cablear y de conectar los tubos:
¡Desconectar la alimentación eléctrica!
A-38 Ejercicio 5
TP301 • Festo Didactic
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema!
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire en la unidad de mantenimiento hastala presión de trabajo (véanse las fichas técnicas de los componen-tes neumáticos)!
Funcionamiento de la instalación:
Mantener despejada la zona de funcionamiento de la instalación!
A-39Ejercicio 5
Festo Didactic • TP301
A-40 Ejercicio 5
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito electroneumático y eléctrico,y montaje del equipo
Completar el esquema del circuito electroneumático
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
Esquema del circuitoelectroneumático
A-41Ejercicio 5
Festo Didactic • TP301
HOJA DE TRABAJO
Completar el esquema del circuito eléctrico e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Crear la tabla de funciones:
Deducir la ecuación booleana a partir de la tabla:
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
S1 B1 Y1
Tabla de funciones
Ecuación booleana
A-42 Ejercicio 5
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-43Ejercicio 5
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a la siguiente pregunta:Pregunta
1. La salida Y1 ¿debe activarse como memorizante o como no-memori-zante?
A-44 Ejercicio 5
TP301 • Festo Didactic
Controles lógicos programables Tema
Sistema de timbre TítuloLa función OR
Realización de la función lógica OR con un PLC. Objetivo didáctico
La función ORSi por lo menos una de las señales conectadas se halla en 1, el resul-tado es también 1. Solamente si todas las señales conectadas se ha-llan en 0 el resultado es también 0.
Conocimientostécnicos
La Tabla A6.1 contiene la tabla de funciones para la conexión OR delas señales de las entradas %IX1 y %IX2. El resultado se refleja en lasalida %QX3.
%IX1 %IX2 %QX3
0 0 0
0 1 1
1 0 1
1 1 1
Tabla A6.1:Tabla de funciones para la función OR
B 3
A-45Ejercicio 6
Festo Didactic • TP301
La Tabla A6.2 contiene las órdenes para la realización de la funciónOR en los diferentes lenguajes de programación.
B 8
B 7
B 9
B 10
LD
FBD
IL
ST
>=1
%IX2
%QX3%IX1
o bien
OR
%IX2
%QX3%IX1
LD
ST
%IX1
%QX3
OR %IX2
%IX1 %QX3
%IX2
%QX3 := %IX1 OR %IX2;
Renglón con dos contactos enparalelo normalmente abiertos
Las entradas y la salida de lafunción OR están conectadas conlos parámetros especificados.
Cargar al acumulador el valor dela entrada especificada. Conexión en OR del resultado actualcon la segunda entrada.Cargar el contenido del acumuladora la salida especificada.
Las dos entradas especificadas están conectadas con el operador"OR". El resultado es asignado ala salida especificada.
Tabla A6.2:La función OR
A-46 Ejercicio 6
TP301 • Festo Didactic
El timbre de un apartamento debe sonar tanto si se presiona el pulsa-dor S1 en la puerta del jardín como si se presiona el pulsador S2 en lapuerta del apartamento.
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipo Definición del ejercicio
2. Descripción de la tarea de control por medio de la tabla de funcio-nes y una ecuación booleana
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajesde programación
5. Verificación y puesta a punto del programa de PLC y del sistema
H1
S2
S1
Croquis de situación
A-47Ejercicio 6
Festo Didactic • TP301
1. Trazado del esquema del circuito y montaje del equipoRealización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control independiente-mente de la tecnología por medio de la tabla de funciones y laecuación booleana asociada.
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Entrada de señales eléctricas
1 Dispositivo indicadorLista de componentes
Antes de cablear la instalación:
¡Desconectar la alimentación!
A-48 Ejercicio 6
TP301 • Festo Didactic
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
A-49Ejercicio 6
Festo Didactic • TP301
A-50 Ejercicio 6
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Crear la tabla de funciones:
S1 S2 H1
Tabla de funciones
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuitoeléctrico
A-51Ejercicio 6
Festo Didactic • TP301
HOJA DE TRABAJO
Deducir la ecuación booleana a partir de la tabla:
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Ecuación booleana
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-52 Ejercicio 6
TP301 • Festo Didactic
HOJA DE TRABAJO
Responder a la siguiente pregunta: Pregunta
1. En el caso de una función OR, la salida se activa si por lo menosuna de las señales se halla en 1. Con la función OR EXCLUSIVA,la salida solamente se activa si hay una sola de las entradas en 1.Completar la tabla de funciones.
S1 S2 H1
0 0
0 1
1 0
1 1 Tabla de funciones
A-53Ejercicio 6
Festo Didactic • TP301
A-54 Ejercicio 6
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo estampador TítuloCombinaciones de AND/OR/NOT
Ser capaz de combinaciones de conexiones lógicas con un PLC Objetivo didácticoComprender las prioridades de los operadores elementales en cadauno de los lenguajes de programación
Combinación de conexiones lógicasCasi todas las tareas de control requieren la programación de unacombinación de conexiones lógicas. Para diseñar una solución esesencial lo siguiente:
Conocimientostécnicos
Establecer una ecuación booleana que describa la lógica de la tareade controlTener en consideración las prioridades de los operadores utilizadospara la programación
El ejemplo que sigue trata con una combinación de las funciones AND,OR y NOT:
Un piloto H1 debe lucir si se acciona el interruptor S1, y además unosólo de los interruptores S2 ó S3.
La correspondiente tabla de funciones es como sigue:
La forma normal disyuntiva puede deducirse de esta tabla. La formanormal disyuntiva describe la tarea de control por medio de una ecua-ción booleana, que puede convertirse fácilmente en uno de los lengua-jes de programación.
S1 S2 S3 H1
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0 Tabla A7.1:Tabla de funciones
B 3
A-55Ejercicio 7
Festo Didactic • TP301
El método para solucionarlo en la forma normal disyuntiva está basadoen las líneas de la tabla de funciones para las cuales la variable resul-tante (H1) tiene el valor 1. Estas líneas se conectan en OR y llevan ala ecuación booleana:
H1 = (S1 S2 S3) ∨ (S1 S2 S3)
La realización de la tarea de control en cada uno de los lenguajes deprogramación se relaciona en la tabla A7.2.
B 8
B 7
B 9
B 10
LD
FBD
IL
ST
H1 := S1 & NOT S2 & S3 OR S1 & S2 & NOT S3;
H1 := (S1 & NOT S2 & S3) OR (S1 & S2 & NOT S3);
LDANDNANDOR(ANDANDN)ST
S1S2S3S1S2S3
H1
S1 S3S2
/
S3S2
/
S1
H1
>=1 H1
&
S3S2S1
&
S3S2S1
orTabla A7.2:
Combinación deoperaciones lógicas
A-56 Ejercicio 7
TP301 • Festo Didactic
Dado que el procesamiento de la función OR es una acción posterioren la lista de instrucciones, se abre un paréntesis a continuación de lainstrucción OR. El hecho de cerrar el paréntesis en la penúltima líneahace que el resultado de la expresión entre paréntesis sea enlazadaen OR con el resultado actual (en el acumulador).
La solución en Texto Estructurado no requiere ningún paréntesis dadoque en este caso los propios operadores establecen las prioridades.Sin embargo, para conseguir una mejor legibilidad es una buena ideautilizar paréntesis en las expresiones más complejas.
Prioridades con los enlaces lógicos básicosEn los lenguajes de programación gráficos LD y FBD, el orden deprocesamiento está implícitamente especificado por el símbolo gráficodel programa o la parte del programa.
De esta forma, en un determinado renglón primero se evalúan los enla-ces en serie antes de "calcular" los enlaces existentes en paralelo.
En el diagrama de bloques de función, el orden de evaluación de unared se define por bloques.
Las instrucciones de un programa en lista de instrucciones se proce-san línea por línea. Si debe modificarse la prioridad de los operandos,debe indicarse por medio de paréntesis.
El lenguaje ST define una regla única de preferencia para los operado-res. La función booleana AND tiene mayor prioridad que la funciónbooleana OR. Al igual que en las operaciones matemáticas, se aplicala regla de la multiplicación antes que la suma o la resta.
A-57Ejercicio 7
Festo Didactic • TP301
Un dispositivo estampador puede hacerse funcionar desde tres luga-res. Se inserta una pieza a través de una guía, con lo que se activandos de los tres sensores de proximidad B1, B2 y B3. Esto hace avan-zar el cilindro 1.0 por medio de la electroválvula (bobina Y1) y se cortaun rebaje en la pieza. El ciclo de estampado sólo debe dispararse siexisten dos de las señales. Por razones de seguridad, debe evitarse queel cilindro avance si están activados los tres sensores de proximidad.
Descripción delproblema
1. Trazado del esquema del circuito Definición del ejercicio
2. Montaje del equipo con la ayuda de los esquemas de los circuitoselectroneumático y eléctrico
3. Descripción de la tarea de control por medio de la tabla de funcio-nes y una ecuación booleana
4. Declaración de las variables del programa PLC
5. Formulación del programa de PLC en uno de los diversos lenguajesde programación
6. Verificación y puesta a punto del programa de PLC y del sistema
1.0
B3
B2
B1
Fig. A7.1:Croquis de situación
A-58 Ejercicio 7
TP301 • Festo Didactic
1. Trazado del esquema del circuito eléctrico Realización
⇒ Completar el esquema eléctrico en la HOJA DE TRABAJO.
2. Montaje del equipo con la ayuda de los esquemas de los circui-tos electroneumático y eléctrico
⇒ Montar los elementos necesarios en la placa perfilada:
⇒ Establecer las conexiones neumáticas y eléctricas.
3. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control independiente-mente de la tecnología, por medio de la tabla de funciones y laecuación booleana asociada.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Cilindro de doble efecto
1 Electroválvula 5/2 vías de una bobina
1 Interruptor de proximidad inductivo
1 Interruptor de proximidad capacitivo
1 Interruptor de proximidad óptico
Tubo de plástico Lista de componentes
Antes de cablear y de conectar los tubos:
¡Desconectar la alimentación eléctrica!
A-59Ejercicio 7
Festo Didactic • TP301
4. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
5. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
6. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda de los esquemas!
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire en la unidad de mantenimiento hastala presión de trabajo (véanse las fichas técnicas de los componen-tes neumáticos)!
Funcionamiento de la instalación:
Mantener despejada la zona de funcionamiento de la instalación!
A-60 Ejercicio 7
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito eléctrico
Completar el esquema del circuito eléctrico e introducir las direccionesde entrada y salida disponibles en el PLC.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-61Ejercicio 7
Festo Didactic • TP301
HOJA DE TRABAJO
2. Montaje del equipo con la ayuda de los esquemas de los circui-tos electroneumático y eléctrico
Configurar el sistema de control
3. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Completar la tabla de funciones:
Determinar la ecuación booleana asociada.
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
Esquema del circuitoelectroneumático
B1 B2 B3 Y1
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1Tabla de funciones
Ecuación booleana
A-62 Ejercicio 7
TP301 • Festo Didactic
HOJA DE TRABAJO
4. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
5. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-63Ejercicio 7
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a la siguiente pregunta:Pregunta
1. ¿Por qué el elemento negado tiene que intervenir en cada paréntesis?
A-64 Ejercicio 7
TP301 • Festo Didactic
Controles lógicos programables Tema
Control de un silo para dos materiales a granel TítuloSistema de control lógico con derivación
Ser capaz de resolver un sistema de control lógico con derivación Objetivo didáctico
Aún en los casos de tareas de control simples, se utilizan más de unelemento final de control.
Conocimientostécnicos
Esto requiere que el PLC actúe sobre varias salidas. En los lenguajesgráficos esto lleva a programar varios renglones i líneas de contactos.Estas líneas puede ser opcionalmente dotadas de un identificador. Esnecesario utilizar un identificador si hay que realizar un salto a esterenglón dentro del programa.
B 12
A-65Ejercicio 8
Festo Didactic • TP301
Una planta de mezclado permite una selección entre dos materiales agranel, según un interruptor selector (S2). En posición de conmutación1 (S2 = señal 0), es el material A el que llega al contenedor, si sepresiona el pulsador S1.
Descripción delproblema
De forma similar, el material a granel B es conducido si el interruptorselector S2 se halla en posición 2 (S2 = señal 1) y se acciona elpulsador S1. El silo A se abre a través del cilindro 1.0 (electroválvulaY1) y el silo B a través del cilindro 2.0 (electroválvula Y2).
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Descripción de la tarea de control por medio de la tabla de funcio-nes y una ecuación booleana
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajesde programación
5. Verificación y puesta a punto del programa de PLC y del sistema
1.0
2.0
A
B
S1S2
Croquis de situación
A-66 Ejercicio 8
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
2. Montaje del equipo con la ayuda de los esquemas de los circui-tos electroneumático y eléctrico
⇒ Montar los elementos necesarios en la placa perfilada:
⇒ Establecer las conexiones neumáticas y eléctricas.
3. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
⇒ Describir el comportamiento del sistema de control independiente-mente de la tecnología, por medio de la tabla de funciones y laecuación booleana asociada.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
2 Cilindro de doble efecto
2 Electroválvula 5/2 vías de una bobina
1 Entrada de señales eléctricas
Tubo de plásticoLista de componentes
Antes de cablear y de conectar los tubos:
¡Desconectar la alimentación eléctrica!
A-67Ejercicio 8
Festo Didactic • TP301
4. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
5. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
6. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda de los esquemas!
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire en la unidad de mantenimiento hastala presión de trabajo (véanse las fichas técnicas de los componen-tes neumáticos)!
Funcionamiento de la instalación:
Mantener despejada la zona de funcionamiento del equipo
A-68 Ejercicio 8
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito eléctrico
Completar el esquema del circuito eléctrico e introducir las direccionesde entrada y salida disponibles en el PLC.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-69Ejercicio 8
Festo Didactic • TP301
HOJA DE TRABAJO
2. Montaje del equipo con la ayuda de los esquemas de los circui-tos electroneumático y eléctrico
Configurar el sistema de control
3. Descripción de la tarea de control por medio de la tabla de fun-ciones y la ecuación booleana
Completar la tabla de funciones:
Determinar la ecuación booleana asociada.
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
2.0
4(A) 2(B)
5(R) 3(S)
1(P)
2.1
Y1 Y2
Esquema del circuitoelectroneumático
S1 S2 Y1 Y2
0 0
0 1
1 0
1 1Tabla de funciones
Ecuación booleana
A-70 Ejercicio 8
TP301 • Festo Didactic
HOJA DE TRABAJO
4. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
5. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Denominación Tipo de datos Dirección Comentario
Declaración de variables
Programa del PLC
A-71Ejercicio 8
Festo Didactic • TP301
A-72 Ejercicio 8
TP301 • Festo Didactic
Controles lógicos programables Tema
Alarma de incendio TítuloActivación de una salida
Conocer cómo activar y memorizar una salida de un PLC Objetivo didácticoSer capaz de entender los bloques de función según IEC 1131-3Se capaz de utilizar los bloques de función estándar flip-flop SR yflip-flop RS
Las operaciones memorizantes forman parte de las operaciones ele-mentales de un PLC y se aplican en caso de que deba memorizarse elestado de una señal de corta duración. Ejemplos típicos de operacio-nes memorizantes son la activación y desactivación de señales de sali-da. Para la realización de las funciones de memorización se disponede los bloques de función SR y RS.
Conocimientostécnicos
Bloque de función SR, flip-flop de activación prioritariaEl bloque de función SR (fig. A9.1) contiene un flip-flop de activaciónprioritaria,
El comportamiento típico de un bloque de función SR es como sigue:
Una señal 1 en la entrada S1 activa el flip-flop, es decir, el valor Q1pasa a 1.Una señal 1 en la entrada de desactivación R sitúa el valor de Q1 a0, siempre que haya en este momento una señal 0 en la entradaS1.Si se aplica una señal 1 a ambas entradas S1 y R, la salida Q1 seactiva (activación prioritaria).
Realización de una función "Set/Activación" en cada uno de loslenguajes de programación
Las soluciones de los siguientes ejemplos se indican en la tabla A9.1.
SRS1R
Q1BOOLBOOL
BOOL
Fig. A9.1:Bloque de función SR
B 12
A-73Ejercicio 9
Festo Didactic • TP301
La lámpara H2 debe iluminarse por medio de la acción de un pulsador S2.Ejemplo
B 7
B 8
B 9
B 10
LD
IL
ST
LD S2
S H2
S2H2SR_H2
VAR
ATAT
%IX3%QX4
: BOOL;: BOOL;: SR;
FBD
SR
S1
R
Q1S2 H2
SR_H2
S2 H2
S
CAL
LD
ST
SR_H2 (S1 := S2)
SR_H2.Q1
H2
SR_H2 (S1 := S2);
H2 := SR_H2.Q1;
END_VAR
*)*)*)*)*)
o bien
Invocación del flip-flop SR_H2 contransferencia del parámetro S2.Lectura del valor de salida Q1 delflip-flop SR_H2.Asignación del valor leído a lavariable H2.
(* Pulsador S2 a entrada IX3(* Piloto H2 a salida QX4(* SR-flip-flop SR_H2(* Para memorización del(* estado de H2
SR flip-flop SR_H2 para memoriza-ción del estado de la variable H2.Asignación directa del valor de Q1a la variable H2.
Lectura del valor de S2
Activación de la variable H2
Invocación del flip-flop SR_H2 usandoun parámetro de transferencia.
Asignación del valor de la salida Q1de SR_H2 a la variable H2.
Renglón con contacto normalmenteabierto y bobina de activación.
Tabla A9.1:La función de
memorización ’Activar’
A-74 Ejercicio 9
TP301 • Festo Didactic
El zumbador H1 debe activarse al presionar el pulsador S1. Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipo Definición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Entrada de señales eléctricas
1 Dispositivo indicador Lista de componentes
H1
S1
Croquis de situación
A-75Ejercicio 9
Festo Didactic • TP301
⇒ Establecer las conexiones eléctricas.
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de cablear la instalación:
¡Desconectar la alimentación!
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
A-76 Ejercicio 9
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
Denominación Tipo de datos Dirección Comentario
Declaración de variables
A-77Ejercicio 9
Festo Didactic • TP301
HOJA DE TRABAJO
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Programa del PLC
A-78 Ejercicio 9
TP301 • Festo Didactic
HOJA DE TRABAJO
Marcar las características aplicables a una función o a un bloque de función.
Responder a la siguiente pregunta: Pregunta
1. ¿Qué información se memoriza en un bloque SR?
Characterística Función Bloque de función
Nombre sí no sí no
Parámetros de entrada uno varios uno varios
Parámetros de salida uno varios uno varios
Parte componente de ladeclaración de variables
sí no sí no
Información de estado sí no sí no
A-79Ejercicio 9
Festo Didactic • TP301
A-80 Ejercicio 9
TP301 • Festo Didactic
Controles lógicos programables Tema
Supervisión de la rotura de una broca TítuloActivación y desactivación de una salida
Ser capaz de activar y desactivar una salida memorizante de un PLC Objetivo didáctico
Bloque de función RS, flip-flop con desactivación prioritariaEl bloque de función RS contiene un flip-flop con desactivación prioritaria
Conocimientostécnicos
El comportamiento del bloque representado en la fig. A10.1 es comosigue:
Una señal 1 en la entrada de desactivación R1 sitúa el valor de Q1a 0, independientemente de qué valor haya aplicado en la entrada S.Una señal 1 en la entrada de activación S, sitúa la salida Q1 en 1,solamente si al mismo tiempo hay una señal o aplicada en la entra-da R1.Si se aplica señal 1 a ambas entradas S y R1, la salida Q1 perma-nece desactivada.
RSSR1
Q1BOOLBOOL
BOOL
Fig. A10.1:Bloque de función RS
B 12
A-81Ejercicio 10
Festo Didactic • TP301
Realización de la función memorizante ’Reset/Desactivación" enlos diferentes lenguajes de programación
Las soluciones para el ejemplo indicado abajo, están relacionadas enla tabla A10.1.
La actuación sobre el pulsador S2 hace que el piloto H2 se apague.Ejemplo
B 7
B 8 LD
S2H2RS_H2
VAR
ATAT
%IX5%QX6
: BOOL;: BOOL;: RS;
FBS
RS
S
R1
Q1 H2
RS_H2
S2 H2
R
S2
END_VAR
*)*)*)*)*)
(* Interruptor S2 a entrada IX5(* Piloto H2 a salida QX6(* flip-flop RS denominado RS_H2(* Para memorización del estado(* de H2
RS flip-flop RS_H2 para almacena-miento del estado de la variable H2.Asignación directa del valor de Q1a la variable H2.
Renglón con contacto normalmenteabierto y desactivación de bobina.
Tabla A10.1:La función de
memorización ’Desactivar’
A-82 Ejercicio 10
TP301 • Festo Didactic
AWL
ST
RS_H2 (R1 := S2);
H2 := RS_H2.Q1;
LD S2
R H2
CAL
LD
ST
RS_H2 (R1 := S2)
RS_H2.Q1
H2
oder
Invocación del flip-flop RS_H2 contransferencia de parámetro S2.Lectura del valor de salida Q1en el flip-flop RS_H2Asignación del valor leído a lavariable H2.
Lectura del valor de S2
Desactivación de la variable H2
Invocación del Flip-flop RS_H2 contransferencia de parámetro.
Asignación del valor de salida Q1de RS_H2 a la variable H2.
Tabla A10.1:La función dememorización ’desactivar’(continuación)
B 9
B 10
A-83Ejercicio 10
Festo Didactic • TP301
La broca de una unidad de taladrado está supervisada por medio deun sensor de rotura de broca (B1).
Descripción delproblema
Si la broca se rompe, el sensor interrumpe el circuito. Un zumbador(H1) debe sonar en este caso. El zumbador sólo puede ser desactiva-do por medio del pulsador S1.
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema.
S1H1
B1
Croquis de situación
A-84 Ejercicio 10
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas.
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Entrada de señales eléctricas
1 Dispositivo indicador
1 Interruptor de proximidad ópticoLista de componentes
Antes de cablear la instalación:
¡Desconectar la alimentación!
A-85Ejercicio 10
Festo Didactic • TP301
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
A-86 Ejercicio 10
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
Denominación Tipo de datos Dirección Comentario
Declaración de variables
A-87Ejercicio 10
Festo Didactic • TP301
HOJA DE TRABAJO
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Responder a la siguiente pregunta:Pregunta
1. ¿Cuál es el resultado si se utiliza un flip-flop con activación priorita-ria en lugar de uno con desactivación prioritaria?
Programa del PLC
A-88 Ejercicio 10
TP301 • Festo Didactic
Controles lógicos programables Tema
Activación de un cilindroFlancos de las señales
Título
Ser capaz de describir la función de los flancos de una señal Objetivo didáctico
Ser capaz de utilizar el bloque de función estándar R_TRIG para elreconocimiento del flanco ascendente de una señal
Las aplicaciones de PLC a menudo requieren al detección y evalua-ción, no de la propia señal, sino del momento que la señal cambia deestado. Estos cambios de estado de denominan flancos.
Conocimientostécnicos
El flanco ascendente (positivo) marca el instante durante el cual unaseñal cambia de 0 a 1.
El flanco descendente (negativo) marca el instante en el que una señalcambia de 1 a 0.
Bloque de función R_TRIG para la detección del flanco ascendenteEste bloque de función estándar se utiliza para el flanco ascendente.
Si se produce un cambio de señal de 0 a 1 en la entrada CLK, lasalida Q asume el valor 1 durante un ciclo de programa.
0
1
flancoascendente
flancodescendente
flancoascendente
flancodescendente
Fig. A11.1:Flancos
R_TRIGCLK QBOOL BOOL
Fig. A11.2:Bloque de función R_TRIG
B 12
A-89Ejercicio 11
Festo Didactic • TP301
Bloque de función F_TRIG para la detección del flanco descendenteEste bloque de función estándar se utiliza para la detección del flancodescendente.
Si se produce un cambio de señal de 1 a 0 en la entrada CLK, lasalida Q asume el valor 1 durante un ciclo de programa.
Realización de la evaluación de flancos en los distintos lenguajesde programaciónPara el ejemplo que sigue, se ha programado la evaluación de flancosen los lenguajes FBD, LD IL y ST.
El accionamiento del pulsador S1 hace que se encienda el piloto H1.El siguiente accionamiento del pulsador S1 apaga de nuevo el piloto.
Ejemplo
B 7
F_TRIGCLK QBOOL BOOL
Fig. A11.3:Bloque de función F_TRIG
S1H1R_TRIG_S1RS_H1
VAR
ATAT
%IX1%QX1
: BOOL;: BOOL;: R_TRIG: RS;
FBD
END_VAR
&H1
&
H1
RS
S
R1
Q1 H1
RS_H1
R_TRIG
CLK QS1
R_TRIG_S1
*)*)*)*)
(* Pulsador S1(* Piloto H1(* Flanco ascendente de S1(* Flip-flop para H1
Examinar el flanco ascendente de laseñal S1 con el bloque de función R_TRIG_S1.Según el estado del piloto H1, un flanco positivo hace que se activeo se desactive.
Tabla A11.1:Evaluación de un flanco
ascendente
A-90 Ejercicio 11
TP301 • Festo Didactic
Dado que las condiciones de encender y apagar el piloto son mutua-mente exclusivas, también puede utilizarse un flip-flop de activaciónprioritaria en lugar de uno de desactivación prioritaria.
Comentario
IL
ST
CAL R_TRIG_S1 (CLK := S1)
LD R_TRIG_S1.Q
R_TRIG_S1 (CLK := S1);
RS_H1 (
ANDN H1
S H1
LD R_TRIG_S1.Q
AND H1
R H1
S := R_TRIG_S1.Q & NOT H1,R1 := R_TRIG_S1.Q & H1);
H1 := RS_H1.Q1;
LD
S1 H1H1
P S/
S1 H1H1
P R
Detección de un flanco positivopor medio de un contacto especialde flanco.Según el estado del piloto, puedeactivarse en el primer renglón odesactivarse en el segundo renglón.
Según el resultado de la evaluacióndel flanco, el piloto se enciende...
o se apaga.
El estado del flip-flop RS_H1se copia a H1.
Invocación del bloque de funciónR_TRIG_S1.
Invocación del bloque de funciónR_TRIG_S1.
Invocación del flip-flopRS_H1.
Tabla A11.1:(Continuación)
B 8
B 9
B 10
A-91Ejercicio 11
Festo Didactic • TP301
Realización de la evaluación de flancos sin bloques de función deflanco especiales.Si el PLC no soporta los bloques de función especiales para la detec-ción de flancos, pueden utilizarse memorias (marcas, flags) para la de-tección de los cambios de señal.
Los programas de PLC se procesan cíclica y continuadamente. Paradetectar un cambio de señal es necesario comprobar si el estado deuna señal ha cambiado de un ciclo de procesamiento al siguiente. Paraello, debe memorizarse el anterior estado de la señal y compararsecon el estado actual.
La Fig. A11.4 ilustra el método utilizado para detectar un flanco ascen-dente.
La señal a examinar es representada por la variable "signal". El estadoanterior de la variable "signal" se almacena en la memoria (flag)"S_Old". Si se produce un flanco ascendente, la memoria (o flag)"S_Edge" asume el valor 1 durante un ciclo de procesamiento.
Debe observarse que la memoria "S_Old" debe mantener el valor 0 alinicio del programa (en el primer ciclo).
VAR
ATAT
AT
%IX1%MX1
%MX2
: BOOL;: BOOL;
: BOOL := 0;
: RS;
END_VAR
&
RS
S
R1
Q1
*)*)*)*)*)*)*)
SignalS_Edge
S_old
RS_S_old
SignalS_old
S_Edge
S_old
RS_S_old
S_Edge
Signal
(* señal de entrada actual(* detecta el flanco de la(* señal de entrada(* memoriza el estado ant.(* de la señal de entrada(* flip-flop para memorizar(* S_old
Fig. A11.4:Detección de un flanco
ascendente
A-92 Ejercicio 11
TP301 • Festo Didactic
Las partes del programa mostradas han sido formuladas en el lenguajeFBD como ejemplo.
La evaluación de un flanco descendente puede realizarse como seilustra abajo.
VAR
ATAT
AT
%IX1%MX1
%MX2
: BOOL;: BOOL;
: BOOL := 0;
: SR;
END_VAR
&
RS
S1
R
Q1
*)*)*)*)*)*)*)
SignalS_Edge
S_old
SR_S_old
SignalS_old
S_Edge
S_old
SR_S_old
S_Edge
Signal
(* señal de entrada actual(* detecta el flanco de la(* señal de entrada(* memoriza el estado ant.(* de la señal de entrada(* flip-flop para memorizar(* S_old
Fig. A11.5:Detección de un flancodescendente
A-93Ejercicio 11
Festo Didactic • TP301
Un cilindro es accionado por medio de una electroválvula con retrocesopor muelle (bobina Y1). Dos sensores de proximidad indican las posi-ciones "extendida" (B2) y "retraída" (B1). El pulsador (S1) se utilizapara accionar el cilindro de tal forma que avance desde la posiciónretraída a la extendida y viceversa. El cilindro debe avanzar una solavez por accionamiento de pulsador. Para disparar un segundo movi-miento del cilindro, el pulsador debe soltarse y accionarse de nuevo.
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema
1.0
S1
B1
B2
Croquis de situación
A-94 Ejercicio 11
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión con la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Distribuidor de enchufe rápido
1 Cilindro de simple efecto
1 Electroválvula de 5/2 vías de una bobina
1 Entrada de señales eléctricas
1 Sensor de proximidad inductivo
1 Sensor de proximidad capacitivo
Tubo de plásticoLista de componentes
Antes de cablear y conectar tubos:
¡Desconectar la alimentación!
¡Desconectar la alimentación del aire!
A-95Ejercicio 11
Festo Didactic • TP301
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire hasta la de funcionamiento(ver las fichas técnicas de los componentes neumáticos)
Funcionamiento de la instalación:
¡mantener despejada la zona de trabajo!
A-96 Ejercicio 11
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-97Ejercicio 11
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
B1 B2
Esquema del circuitoelectroneumático
Designación Tipo de dato Dirección Comentario
Declaración de variables
A-98 Ejercicio 11
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Programa del PLC
A-99Ejercicio 11
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a las siguientes preguntas:Preguntas
1. ¿Qué se entiende por un flanco negativo?
2. ¿Qué efecto tiene el período de actuación en la ejecución del programa?
A-100 Ejercicio 11
TP301 • Festo Didactic
Controles lógicos programables Tema
Encolado de componentes TítuloPulso
Ser capaz de utilizar el bloque de función estándar TP para generar unpulso de tiempo.
Objetivo didáctico
Un gran número de tareas de control requieran la programación detiempos. A través de IEC 1311-3, se dispone de bloques de funciónestándar para temporizadores con diferentes tipos de respuesta.
Conocimientostécnicos
Los temporizadores están disponibles para la realización de un pulsotemporal, un retardo a la conexión y un retardo a la desconexión.
Bloque de función TP, temporizador de pulsoEl bloque de función estándar TP (fig. A12.1) es un temporizador depulso
La respuesta del bloque de función TP es como sigue:
El bloque de función TP se pone en marcha con una señal corta olarga en la entrada IN.Una vez que el temporizador ha arrancado, aparece una señal 1 enla salida Q, por el tiempo especificado en la entrada PT.El valor actual de tiempo (el tiempo que ha transcurrido desde elinicio) está disponible en la salida ET.El temporizador sólo puede arrancar de nuevo una vez que hayaexpirado.
QINTP
PTTIMEBOOL BOOL
ET TIMEQ
Fig. A12.1:Bloque de función R_TRIG
B 13
A-101Ejercicio 12
Festo Didactic • TP301
Programación de un temporizador de pulso en los diferentes lenguajesLa utilización del temporizador de pulso en los diferentes lenguajes deprogramación se muestra con la ayuda del ejemplo dado abajo.
Unas piezas deben sujetarse de forma segura durante un período de12 segundos para un proceso de mecanizado, por medio de un dispo-sitivo especial accionado por el cilindro Y1. El proceso se inicia accio-nando el pulsador de marcha S1.
Ejemplo
B 7
B 8 LD
S1Y1TP_Y1
VAR
ATAT
END_VAR
%IX1%QX1
: BOOL;: BOOL;: TP;
FBD
TP
IN
PT
Q Y1
TP_Y1
S1 Y1
T#12s ET
S1
TP
IN
PT
Q
TP_Y1
T#12s ET
*)*)*)*)
(* Pulsador S1(* Bobina Y1 para el cilindro(* Temporizador de pulso TP_Y1(* para el proceso de sujeción
Bloque temporizador TP_Y1,conectado con los parámetrosindicados.
Interconexión del bloque temporizador TP_Y1 en el renglón.
Tabla A12.1:Utilización de un
temporizador de pulso
A-102 Ejercicio 12
TP301 • Festo Didactic
IL
ST
CAL
LD
ST
TP_Y1 (IN := S1, PT := T#12s)
TP_Y1.Q
Y1
TP_Y1 (IN := S1, PT := T#12s);
Y1 := TP_Y1.Q;
Invocación del bloque de función TP_Y1.Lectura de la salida Q deTP_Y1.Almacenamiento delresultado actual en Y1.
Invocación del bloque defunción TP_Y1.
Asignación de la salida Qde TP_Y1 a Y1.
Tabla A12.1:Utilización de untemporizador de pulso(contiuación)
B 9
B 10
A-103Ejercicio 12
Festo Didactic • TP301
Dos componentes deben ser encolados con la ayuda de un cilindroneumático 1.0. Para ello, las superficies a encolar se presionan entresí con una determinada fuerza por un período de 5 segundos. El tiem-po empieza a contar desde que el cilindro abandona su posición finalretraída (sensor B1). Una vez transcurridos los 5 segundos, el cilindroregresa a su posición inicial. El proceso de encolado se inicia por me-dio del pulsador S1.
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema.
S1
1.0
Croquis de situación
A-104 Ejercicio 12
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
Quantity Description
1 Control lógico programable
1 Cable de unión de la unidad de conexión
1 Unidad de conexión
1 Unidad de matenimiento
1 Distribuidor
1 Distribuidor de enchufe rápido
1 Cilindro de simple efecto
1 Electroválvula de 5/2 vías de una bobina
1 Entrada de señales eléctricas
1 Sensor de proximidad inductivo-magnético
Tubo de plásticoLista de componentes
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-105Ejercicio 12
Festo Didactic • TP301
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de la puesta en marcha de la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
Mantener el entorno de trabajo despejado
A-106 Ejercicio 12
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuitoeléctrico
A-107Ejercicio 12
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
B1
Esquema del circuitoelectroneumático
Denominación Tipo de datos Dirección Comentario
Declaración de variables
A-108 Ejercicio 12
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Programa del PLC
A-109Ejercicio 12
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a las siguientes preguntas::Preguntas
1. Especificar en nombre y la función de los parámetros del temporiza-dor de pulso.
2. ¿Cuál es la respuesta del temporizador, si se da una nueva señalde marcha antes de que expire el tiempo?
Completar el diagrama.
IN
Q
10
10
5s
t0 t1 t2 t3
t0 t0 + PTFig. A12.2:
Tiempo de respuesta deltemporizador de pulso
A-110 Ejercicio 12
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo de marcado TítuloSeñal con retardo a la conexión
Ser capaz de realizar un retardo a la conexión de una señal utilizandoel bloque de función estándar TON
Objetivo didáctico
Bloque de función TON, Retardo a la conexiónEl bloque de función estándar TON se utiliza para generar un retardo ala conexión.
Conocimientostécnicos
El comportamiento del bloque de función TON es como sigue:
El bloque de función TON se pone en marcha por medio de unaseñal 1 en la entrada IN.Una vez que ha expirado el tiempo especificado en la entrada PT,en la salida Q aparece una señal 1. La señal 1 en la salida Qpermanece hasta que la señal de entrada IN vuelve a 0.Si la duración de la señal de entrada IN es menor que el tiempoespecificado en PT, el valor de la salida Q permanece en 0.El valor actual del tiempo (el tiempo transcurrido desde el comienzo)está disponible en la salida ET.
QINTON
PTTIMEBOOL BOOL
ET TIMEQ
Fig. A13.1:Bloque de función TON
B 13
A-111Ejercicio 13
Festo Didactic • TP301
Programación de un señal con retardo a la conexión en los distintos lenguajesEn el siguiente ejemplo se demuestra la utilización de un retardo a laconexión de una señal:
La puerta de un autobús se cierra cuando la zona de embarque hapermanecido despejada durante un tiempo especificado (5 segundos).Esto se supervisa por medio de una barrera fotoeléctrica.
Ejemplo
B 7
B 8 LD
FBD
TON
IN
PT
Q Y1
TON_Y1
B1 Y1
T#5s ET
B1
TON
IN
PT
Q
TON_Y1
T#5s ET
B1Y1
TON_Y1
VAR
ATAT
END_VAR
%IX1%QX1
: BOOL;: BOOL;
: TON;
*) *) *)*)*)
(* Barrera fotoeléctrica(* Bobina Y1 del cilindro de(* cerrar la puerta(* Señal temporizada a la conexión(* TON_Y1 para cerrar la puerta
Conexión de entradas y salidasdel bloque de función TON_Y1con los parámetros actuales.
Interconexión del bloque de funciónTON_Y1 en el renglón.
Tabla A13.1:Utilización de un
temporizador a la conexión
A-112 Ejercicio 13
TP301 • Festo Didactic
IL
ST
CAL
LD
ST
TON_Y1 (IN := B1, PT := T#5s)
TON_Y1.Q
Y1
TON_Y1 (IN := B1, PT := T#5s);
Y1 := TON_Y1.Q;
Invocación del bloque defunción TON_Y1.Lectura de la salida Q deTON_Y1.Almacenamiento del resultadoactual en Y1.
Invocación del bloque defunción TON_Y1.
Asignación de la salida Qde TON_Y1 a Y1.
Tabla A13.1:Utilización de untemporizador a la conexión(continuación)
B 9
B 10
A-113Ejercicio 13
Festo Didactic • TP301
Una pieza debe marcarse accionando un pulsador (S1). Para asegurarque el ciclo de marcado no se pone en marcha inadvertidamente, de-berá mantenerse presionado el pulsador durante más de tres segun-dos. La posición de cilindro 1.0 se establece por medio de los interrup-tores de proximidad B1 (retraído) y B2 (extendido).
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema
S1
1.0
Croquis de situación
A-114 Ejercicio 13
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Distribuidor de enchufe rápido
1 Cilindro de simple efecto
1 Electroválvula de 5/2 vías de una bobina
1 Entrada de señales eléctricas
1 Sensor de proximidad inductivo
1 Sensor de proximidad capacitivo
Tubo de plástico Lista de componentes
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-115Ejercicio 13
Festo Didactic • TP301
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
Mantener el entorno de trabajo despejado
A-116 Ejercicio 13
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-117Ejercicio 13
Festo Didactic • TP301
Configurar el sistema de control.
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
B1 B2
Esquema del circuito,electro-neumático
Designación Tipo de datos Dirección Comentario
Declaración de variables
A-118 Ejercicio 13
TP301 • Festo Didactic
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Programa del PLC
A-119Ejercicio 13
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a la siguiente pregunta:Pregunta
1. El ciclo de marcado ya se ha iniciado. Si no se suelta el pulsador,¿qué efectos tiene en la ejecución del programa?
A-120 Ejercicio 13
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo de fijación TítuloSeñal con retardo a la desconexión
Ser capaz de realizar una temporización a la desconexión utilizando elbloque de función estándar TOF
Objetivo didáctico
Bloque de función TOF, retardo a la desconexiónEl bloque de función estándar TOF (fig. A14.1) se utiliza para generarretardos de señales a la desconexión.
Conocimientostécnicos
El comportamiento de un bloque de función TOF es como sigue:
El bloque de función TOF se pone en marcha con una señal 1 en laentrada IN. Inmediatamente la salida Q adopta el valor 1.Una vez que la señal IN ha pasado de nuevo al valor 0, la salida Qsigue teniendo señal 1 durante el tiempo especificado en la entradaPT, transcurrido el cual vuelve a adoptar el valor 0.
QINTOF
PTTIMEBOOL BOOL
ET TIMEQ
Fig. A14.1:Bloque de función TOF
B 13
A-121Ejercicio 14
Festo Didactic • TP301
Programación de un temporizador con retardo a la desconexiónen los diferentes lenguajesA continuación se muestra un ejemplo de utilización de un temporiza-dor a la desconexión:
La puerta de un horno incluye un bloqueo de forma que no debe poderabrirse instantáneamente durante el proceso. Si se emite una señal deapertura del horno, la puerta solamente se desbloqueará una veztranscurridos 10 minutos.
Ejemplo
B 7
B 8 LD
FBD
TOF
IN
PT
Q Y1
Y1
T#10m ET
TOF
IN
PT
Q
T#10m ET
VAR
AT
AT
END_VAR
%MX1
%QX1
: BOOL;
: BOOL;
: TOF;
TOF__Door
Door_closed
Door_closed
TOF_Door
Door_closed
Y1
TOF_Door
*)*)*)*)*)*)
(* Memoria para enclavamien-(* to de la puerta del horno(* Bobina Y1 para el cil. de(* apertura de la puerta.(* Señal de desconexión re-(* tardada TOF_Door
Conexión de entradas y salidas del bloque de función TOF_Door con los parámetrosactuales.
Interconexión del bloque defunción TOF_Dooren el renglón.Tabla A14.1:
Utilización de un retardo ala desconexión
A-122 Ejercicio 14
TP301 • Festo Didactic
IL
ST
CAL
LD
ST
TOF_Door (IN := Door_closed, PT := T#10m)
TOF_Door.Q
Y1
TOF_Door (IN := Door_closed, PT := T#10m);
Y1 := TOF_Door.Q;
Invocación del bloquede función TOF_Door.Lectura de la salidaQ de TOF_Door.Almacenamiento deresultado actual de Y1
Invocación del bloquede función TOF_Door.
Asignación de la salidaQ de TOF_Door a Y1.
Tabla A14.1:Utilización de un retardo ala desconexión(continuación)
B 9
B 10
A-123Ejercicio 14
Festo Didactic • TP301
Una pieza debe sujetarse activando el pulsador de marcha S1. Cuandola pieza es sujeta por el cilindro 1.0, el cilindro 2.0 avanza y marca lapieza. Dado que la pieza necesita un tiempo para enfriarse, permanecesujeta durante 3 segundos. Este tiempo empieza con el avance delcilindro 1.0.
Descripción delproblema
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajesde programación
4. Verificación y puesta a punto del programa de PLC y del sistema
1.0
2.0
S1
Croquis de situación
A-124 Ejercicio 14
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Distribuidor de enchufe rápido
1 Cilindro de simple efecto
1 Cilindro de doble efecto
1 Electroválvula de 5/2 vías de una bobina
1 Electroválvula de 5/2 vías de dos bobinas
1 Entrada de señales eléctricas
4 Sensor de proximidad inductivo
1 Distribuidor de enchufe rápido
Tubo de plásticoTabla A14.1:Lista de componentes
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-125Ejercicio 14
Festo Didactic • TP301
2. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
⇒ Seleccionar uno de los lenguajes de programación soportados por elsistema PLC que se utilice. Los lenguajes adecuados para la formula-ción de sistemas de control lógico son el diagrama de contactos, eldiagrama de funciones, la lista de instrucciones y el texto estructurado.
4. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
Mantener el entorno de trabajo despejado
A-126 Ejercicio 14
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-127Ejercicio 14
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control
2. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Denominación Tipo de datos Dirección Comentario
Declaración de variables
2.0
4(A) 2(B)
5(R) 3(S)
1(P)
2.1
Y2 Y3
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
Y1
B1 B2 B3 B4
Esquema del circuitoelectroneumático
A-128 Ejercicio 14
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Formulación del programa de PLC en uno de los lenguajes deprogramación
Formular la solución de la tarea de control en uno de estos lenguajes:Diagrama de funciones (FBD)Diagrama de contactos (LD)Lista de instrucciones (IL)Texto estructurado (ST)
Programa del PLC
A-129Ejercicio 14
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a la siguiente pregunta:Pregunta
1. ¿A través de qué señal empieza a contar el temporizador con retar-do a la desconexión?
A-130 Ejercicio 14
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo elevador para paquetes TítuloSecuencia lineal
Ser capaz de diseñar y representar sistemas secuenciales de controlsimples según IEC 848.
Objetivo didáctico
Ser capaz de programar un sistema de control secuencial consisten-te en una secuencia linealSer capaz de utilizar el lenguaje de programación Diagrama de Fun-ciones Secuencial
Sistemas de control secuencialesLos sistemas de control secuencial describen procesos que sucedenen varias etapas claramente separadas.
Conocimientostécnicos
La transición de una etapa a la siguiente depende del estado del pro-ceso. El proceso puede derivarse en procesos parciales en relacióncon el estado del proceso establecido.
Por lo tanto, el programa de un sistema de control secuencial debecumplir con tres funciones básicas:
Acciones interrogativas:
Condiciones de tran-sición (condiciones dehabilitación de la etapa)
Establecimiento derecorrido para la con-tinuación del programa
Derivaciones
Acciones ejecutivas:
Etapa
� Interrogación de en- tradas y memorias� Interrogación de temporizadores� Interrogación de contadores
� Selección del recorrido� Seguimiento de reco- ridos en paralelo
� Activación y desacti- va ción de salidas� Activación y desacti- va ción de memorias.� Activación y arranque de temporizadores y contadores
Fig. A15.1:Funciones de un programa de control
B 15
A-131Ejercicio 15
Festo Didactic • TP301
Representación general de un sistema de control secuencialEl diagrama de funciones secuencial según IEC 848 es adecuado parala descripción y planificación de sistemas de control secuenciales. Per-mite una clara representación gráfica del comportamiento y funciona-miento de un sistema de control secuencial.
El ejemplo mostrado describe la siguiente tarea de control:
Se alimenta una pieza desde un almacén por gravedad para su poste-rior mecanizado. La pieza es extraída del almacén por el cilindro 1.0 ytransferida hacia una cinta transportadora por una rampa por medio deun segundo cilindro 2.0.
S
S3
S4
S5
2
1
1
1
1
1
Pieza en almacén, cilindro 1.0 y cilindro 2.0en posición retraída
Cilindro 2.0 avanza
3.1: Cilindro 2.0 avanzado
Cilindro 2..0 retrocede
4.1: Cilindro 2.0 ha retrocedido
Cilindro 1.0 retrocede
5.1: Cilindro 1.0 ha retrocedido
2.1: Cilindro 1.0 avanzado y pieza expulsada
Establecer posición inicial
Cilindro 1.0 avanza
Fig. A15.2:Ejemplo de un sistema de control secuencial
A-132 Ejercicio 15
TP301 • Festo Didactic
Programación de un sistema de control secuencial por medio delDiagrama de Funciones SecuencialLos sistemas de control secuencial pueden programarse de forma fácily sencilla utilizando el diagrama de funciones secuencial. El diagrama defunciones secuencial procede del diagrama de funciones según IEC 848.
El ejemplo mostrado en la fig. A15.3 ilustra la utilización del diagramade funciones secuencial para el control de la tarea mencionada arriba.
Etapa => Clasificación en accionesTransición => Descripción por medio de condiciones de transiciónDerivación alternativa y uniónDerivación en paralelo y unión
Cuando se pone en marcha el programa del PLC, la etapa designadacomo inicial S1 se activa automáticamente. A menudo, en esta etapainicial suele situarse el sistema en su posición de partida. En el ejem-plo mostrado, la etapa S1 es una etapa vacía. Si se cumplen las condi-ciones de habilitación de la siguiente etapa – los cilindros 1.0 y 2.0están retraídos y el almacén contiene piezas – se activa la etapa S2 yse desactiva la S1. Hay que observar que los nombres de las etapasrepresentan nombres en el sentido de IEC 1131-3. Por lo tanto debenempezar con una letra o un signo de subrayado. Además, en la medi-da que esto es posible por el proceso concerniente, en el tercer campose especifica la variable que se verá afectada al final de la acciónindicada.
En la etapa S2, el cilindro 1.0 ha avanzado por la activación de labobina de la electroválvula Y1. Al llegar a su posición final delantera yestando la pieza en posición correcta (B2 = 1), se desactiva la etapaS2 y se activa la S3. El cilindro 1.0 permanece extendido como resulta-do del cualificador S (=Set/Activar). En la etapa 3, el cilindro 2.0 avan-za por el efecto de la activación de la electroválvula Y2 y transfiere lapieza a una rampa. El cilindro 2.0 retrocede de nuevo una vez que haalcanzado su posición final delantera. Si el sensor B5 señala que se haalcanzado la posición final retraída del cilindro 2.0, el cilindro 1.0 tam-bién retrocede. El sensor B3 señala ahora el final de la secuencia y elprograma regresa al principio. Toda la secuencia de las etapas se repi-te de nuevo.
A-133Ejercicio 15
Festo Didactic • TP301
S
SS3
RS4
RS5
S2
S1
B4
B6
B5
B3
Y2
B6
Y2
B5
Y1
B3
Y1
&
B3B1
B5
&
B4B2
Y1Y2B1B2B3B4B5B6
VAR
ATATATATATATATAT
END_VAR
%QX1%QX2%IX1%IX2%IX3%IX4%IX5%IX6
: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;
(* Bobina Y1, Cilindro 1.0(* Bobina Y2, Cilindro 2.0(* Pieza en almacén(* Pieza expulsada(* Cilindro 1.0 retraído(* Cilindro 1.0 extendido(* Cilindro 2.0 retraído(* Cilindro 2.0 extendido
*)*)*)*)*)*)*)*)
Fig. A15.3:Ejemplo de un diagramade funciones secuencial
A-134 Ejercicio 15
TP301 • Festo Didactic
Generación de una secuencia de etapas por medio de elementosmemorizantes RSLa secuencia de etapas puede generarse utilizando elementos memori-zantes si el lenguaje de diagrama de funciones secuencial no es so-portado directamente como programa del PLC que se utilice.
Cada etapa es asignada a un flip-flop RS. Este memoriza el estado decada etapa. El flip-flop correspondiente está activado, si la etapa enproceso se está ejecutando; si la etapa está inactiva, el flip-flop sedesactiva.
Como se muestra en la fig. A15.4, las condiciones de partida paracualquier etapa n (dentro de la secuencia de una etapa) son:
La etapa precedente n-1 está activaSe cumple la condición de habilitación para la etapa.
Cada etapa es desactivada por la etapa siguiente.
De esta forma, las etapas individuales de una secuencia de etapas seprocesan consecutivamente.
La estructura de una secuencia de etapas se establece en detalle en lafig. A15.5. El lenguaje FBD se utiliza para la programación de las ta-reas de control en la fig. A15.2 Todas las acciones se producen comoaciones booleanas.
R
Q&
S Etapa n
Etapa n+1
Condiciones de habilitaciónpara la etapa n
Etapa n-1
Fig. A15.4:Representación de unaetapa
A-135Ejercicio 15
Festo Didactic • TP301
Y1Y2B1B2B3B4B5B6RS_S1RS_S2RS_S3RS_S4RS_S5RS_Y1RS_Y2
VAR
ATATATATATATATAT
END_VAR
%QX1%QX2%IX1%IX2%IX3%IX4%IX5%IX6
: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: RS;: RS;: RS;: RS;: RS;: RS;: RS;
&
RS_S2.Q1
B5
B3RS
S
R1
Q1
RS_S1
&
RS_S3.Q1
B1
B5RS
S
R1
Q1
RS_S2B3
RS_S1.Q1
*)*)*)
*)*)*)
(* Programación de la secuencia de etapas *)
(* Activación del(* flip-flop para(* Etapa S1
(* Bobina Y1, Cilindro 1.0(* Bobina Y2, Cilindro 2.0(* Pieza en almacén(* Pieza expulsada(* Cilindro 1.0 retraído(* Cilindro 1.0 extendido(* Cilindro 2.0 retraído(* Cilindro 2.0 extendido(* Flip-flop para Etapa S1(* Flip-flop para Etapa S2(* Flip-flop para Etapa S3(* Flip-flop para Etapa S4(* Flip-flop para Etapa S5(* Flip-flop para bobina Y1(* Flip-flop para bobina Y2
*)*)*)*)*)*)*)*)*)*)*)*)*)*)*)
(* Activación del(* flip-flop para(* Etapa S2Fig. A15.5:
Ejemplo de una secuenciade etapas con elementos
memorizantes RS
A-136 Ejercicio 15
TP301 • Festo Didactic
La programación de la secuencia de etapas requiere una ampliaciónde la sección de declaración en la fig. A15.3.
Se necesita un flip-flop RS adicionalmente para cada etapa. Además,el estado de las bobinas Y1 e Y2 están almacenadas por medio deflip-flops.
El programa consiste en
Secuencia de etapasSección de potencia (para la activación de las salidas)
&
RS_S5.Q1
B6
RS_S3.Q1RS
S
R1
Q1
RS_S4
&
RS_S4.Q1
B2
B4RS
S
R1
Q1
RS_S3RS_S2.Q1
RS_Y1
&
RS_S1.Q1
B5
RS_S4.Q1RS
S
R1
Q1
RS_S5
RS_S5.Q1
RS
S
R1
Q1RS_S2.Q1 Y1
RS_Y2
RS_S4.Q1
RS
S
R1
Q1RS_S3.Q1 Y2
(* Programación de la sección de potencia *)
*)*)*)
*)*)*)
*)*)*)
(* Bobina Y1 para(* Cilindro 1.0
*)*)
*)*)
(* Activación del(* flip-flop para(* Etapa S3
(* Activación del(* flip-flop para(* Etapa S4
(* Activación del(* flip-flop para(* Etapa S5
(* Bobina Y2 para(* Cilindro 2.0 Fig. A15.5:
Ejemplo de una secuenciade etapas con elementosmemorizantes RS(continuación)
A-137Ejercicio 15
Festo Didactic • TP301
Un transportador de rodillos es supervisado por un sensor de proximi-dad B1, para comprobar si hay un paquete presente. Si es este elcaso, el paquete es empujado por un cilindro 1.0 (cilindro de elevación)y a continuación es transferido a otro transportador por medio del cilin-dro 2.0 (cilindro de transferencia).
Descripción delproblema
El cilindro 1.0 debe retroceder primero, seguido del cilindro 2.0. Loscilindros avanzan y retroceden por medio de electroválvulas (bobinasY1 e Y2). Las posiciones del cilindro se supervisan por medio de losinterruptores de proximidad B2 o B5.
En el lado de la alimentación, los paquetes han sido previamente dis-puestos de forma tal que llegan al dispositivo de alimentación indivi-dualmente.
2.0
1.0
Croquis de situación
A-138 Ejercicio 15
TP301 • Festo Didactic
1. Trazado del esquema del circuito y montaje del equipo Definición del ejercicio
2. Descripción de la tarea de control por medio del diagrama de funcio-nes secuencial IEC 848
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC por medio del diagrama de fun-ciones secuencial IEC 848
Programación de las condiciones de transición directamente enuno de los lenguajes FBD, LD o STEspecificación de las acciones como acciones booleanas
5. Verificación y puesta a punto del programa de PLC y del sistema.
1. Trazado del esquema del circuito y montaje del equipo Realización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
⇒ Establecer las conexiones eléctricas y neumáticas.
Cantidad Descripción
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
2 Cilindro de doble efecto
2 Electroválvula de 5/2 vías de una bobina
1 Sensor de proximidad óptico
4 Sensor de proximidad inductivo
Tubo de plástico Lista de componentes
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-139Ejercicio 15
Festo Didactic • TP301
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
⇒ Diseñar la estructura de la secuencia en etapas y transiciones.
⇒ Programar las condiciones de transición directamente en uno de loslenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas directamente comoacciones booleanas.
⇒ Crear la estructura de etapas copiando los pasos en los elementosmemorizantes si el diagrama de funciones secuencial no está direc-tamente soportado por el PLC que se utilice.
A-140 Ejercicio 15
TP301 • Festo Didactic
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Puesta a punto de la instalación:
Mantener el entorno de trabajo despejado
A-141Ejercicio 15
Festo Didactic • TP301
A-142 Ejercicio 15
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-143Ejercicio 15
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
2.0
4(A) 2(B)
5(R) 3(S)
1(P)
2.1
Y1 Y2
B2 B3 B4 B5
Esquema del circuitoelectroneumático
A-144 Ejercicio 15
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
Designación Tipo de datos Dirección Comentario
Declaración de variables
A-145Ejercicio 15
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a las siguientes preguntas:Preguntas
1. ¿Cuál es la función de una etapa sin acciones asociadas?
2. ¿Cuál es la respuesta del programa en diagrama de funciones se-cuencial si la acción de la etapa S3: "Avanzar cilindro 2.0" se pro-grama como acción no-memorizante?
A-146 Ejercicio 15
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo elevador y clasificador para paquetes TítuloSecuencia con desvío alternativo
Ser capaz de programar un sistema de control secuencial con una de-rivación alternativa
Objetivo didáctico
Sistema de control, secuencial con derivación alternativaHay sistemas de control secuencial, en los que deben preverse dife-rentes secuencias. Una secuencia es seleccionada dependiendo de lasseñales originadas por el proceso.
Conocimientostécnicos
S
N3
S6
N7
2
1
1
1
1
1
S
N5
4 1
1
Fijar pieza
Estampar pieza
Pieza grande
5.1: Pieza estampada
4.1: Pieza fijada
Pieza pequeña
Estampar pieza
3.1: Pieza estampada
Liberar pieza
6.1: Pieza liberada
Expulsar pieza
7.1: Pieza expulsada
2.1: Pieza fijada
Verificar posicion inicial
Fijar pieza
Fig. A16.1:Ejemplo de sistema decontrol secuencial conderivación alternativa
B 15
A-147Ejercicio 16
Festo Didactic • TP301
Un ejemplo de una secuencia de control así, puede representarse poruna herramienta de estampación que estampa piezas pequeñas ograndes por medio de dos cilindros diferentes.
La fig. A16.1 ilustra el diagrama de funciones según IEC 848 para elejemplo mencionado arriba.
El desvío alternativo es representado por tantas transiciones como se-cuencias posibles existan.
Para seleccionar sólo una opción, las condiciones de transición debenexcluirse mutuamente.
Hay disponibles dos secuencias para la selección en el ejemplo dado.Si se detectan piezas pequeñas, solamente se procesan los pasos 1,2, 3, 6 y 7. Si hay presente una pieza grande, el programa deriva al lasetapas 4, 5 6, y 7 después de la etapa 1.
Programación de un control secuencial con derivación alternativaLos sistemas secuenciales representados en diagrama de funcionessegún IEC 848 son fáciles de programar con el diagrama de funcionessecuenciales. En el programa listado abajo, las condiciones de transi-ción han sido formuladas en el lenguaje ST.
La etapa inicial S1 está activa tras el arranque del programa. S1 esuna etapa vacía, es decir, no se han asignado acciones a esta etapa.
Si todos los cilindros están retraídos y hay presente una pieza peque-ña, se activa la etapa S2 y se desactiva la etapa S1. La pieza es acontinuación fijada, estampada, liberada y finalmente expulsada.
Si se ha detectado una pieza grande (B1=1 y B2=1), las etapas S1,S4, S5, S6 y S7 se ejecutan consecutivamente.
A continuación, el procesamiento de las etapas empieza de nuevo conla etapa S1.
A-148 Ejercicio 16
TP301 • Festo Didactic
B1B2B3B4B5B6B7B8B9B10Y1Y2Y3Y4
VAR
ATATATATATATATATATATATATATAT
END_VAR
%IX1.0%IX1.1%IX2.0%IX2.1%IX2.2%IX2.3%IX2.4%IX2.5%IX2.6%IX2.7%QX1.0%QX1.1%QX1.2%QX1.3
: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;: BOOL;
*)*)*)*)*)*)*)*)*)*)*)*)*)*)
S3
S6
S7
S2
S1
S5
S4
B1 & B2 & B3 &B5 & B7 & B9
B8
B4
B1 & NOT B2 & B3 &B5 & B7 & B9
B6
B3
B10
B4
S B4Y1
N B6Y2
S B4Y1
N B8Y3
R B3Y1
N B10Y4
(* pieza grande o pequeña(* sólo para pieza grande(* cilindro 1.0 retraído(* cilindro 1.0 extendido(* cilindro 2.0 retraído(* cilindro 2.0 extendido(* cilindro 3.0 retraído(* cilindro 3.0 extendido(* cilindro 4.0 retraído(* cilindro 4.0 extendido(* cilindro 1.0: fijación(* cilindro 2.0: estampar pequ.(* cilindro 3.0: estampar grande(* cilindro 4.0: explusor
Fig. A16.2:Ejemplo de diagrama defunciones secuencial conderivación alternativa
A-149Ejercicio 16
Festo Didactic • TP301
En el ejemplo anterior, las acciones de las etapas S3, S5 y S7 sonprogramadas como no-memorizantes. Esto se indica por el calificadorN. Por lo tanto, las variables booleanas solamente tienen señal 1 mien-tras las etapas asociadas están activas.
Si el PLC utilizado no dispone de la opción de programar directamenteen diagrama de funciones secuencial, la secuencia de etapas puedegenerarse en este caso utilizando elementos memorizantes.
A-150 Ejercicio 16
TP301 • Festo Didactic
Unos paquetes son transportados hacia un dispositivo de medida enun transportador de rodillos para establecer su tamaño. Hay dos tama-ños de paquetes diferentes: Paquetes largos y cortos. El dispositivo demedición lineal suministra señal 0 para los paquetes cortos y señal 1para paquetes largos.
Descripción delproblema
A continuación, el paquete llega a una plataforma elevadora. La se-cuencia empieza con el pulsador de MARCHA S1. Los paquetes sonelevados por un dispositivo elevador 1.0. A continuación los paquetesson clasificados: los paquetes cortos se transfieren a un segundotransportador por medio del cilindro 2.0 y los largos a un tercer trans-portador por medio del cilindro 3.0. El cilindro de elevación 1.0 deberetroceder de nuevo una vez que los cilindros 2.0 y 3.0 hayan alcanza-do su posición final retraída.
Las posiciones del cilindro se detectan por medio de interruptores de pro-ximidad B1 a B6. El cilindro 1.0 avanza y retrocede por medio de unaelectroválvula de dos bobinas Y1 e Y2. Los cilindros 2.0 y 3.0 avanzan yretroceden por medio de las electroválvulas de una sola bobina (bobinasY3 e Y4).
3.0
1.0
2.0
S1
Croquis de situación
A-151Ejercicio 16
Festo Didactic • TP301
Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Descripción de la tarea de control por medio del diagrama de funcio-nes secuencial IEC 848
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC por medio del diagrama de fun-ciones secuencial
Programación de las condiciones de transición directamente enuno de los lenguajes FBD, LD o STEspecificación de las acciones como acciones booleanas
5. Verificación y puesta a punto del programa de PLC y del sistema.
1. Trazado del esquema del circuito y montaje del equipoRealización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
Cantidad Designación
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Conector de enchufe rápido
1 Cilindro de simple efecto
2 Cilindro de doble efecto
2 Electroválvula de 5/2 vías de una bobina
1 Electroválvula de 5/2 vías de dos bobinas
1 Entrada de señales eléctricas
1 Sensor de proximidad capacitivo
1 Sensor de proximidad óptico
4 Sensor de proximidad inductivo
Tubo de plásticoLista de componentes
A-152 Ejercicio 16
TP301 • Festo Didactic
⇒ Establecer las conexiones eléctricas y neumáticas.
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
⇒ Diseñar la estructura de la secuencia en etapas y transiciones.
⇒ Programar las condiciones de transición directamente en uno de loslenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas directamente comoacciones booleanas.
⇒ Crear la estructura de etapas copiando los pasos en los elementosmemorizantes si el diagrama de funciones secuencial no está direc-tamente soportado por el PLC que se utilice.
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-153Ejercicio 16
Festo Didactic • TP301
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
Mantener el entorno de trabajo despejado
A-154 Ejercicio 16
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-155Ejercicio 16
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
Responder a las siguientes preguntas:Preguntas
1. ¿Cuál es el criterio de clasificación según el cual se evalúan los pa-quetes?
2. ¿Cómo se asegura que se seleccione una sola secuencia de etapasdurante la ejecución del programa?
Esquema del circuitoelectroneumático
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
2.0
4(A) 2(B)
5(R) 3(S)
1(P)
2.1
Y1 Y3
B1 B2 B3 B43.0
4(A) 2(B)
5(R) 3(S)
1(P)
3.1
Y4
B5 B6
Y2
A-156 Ejercicio 16
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
Designación Tipo de datos Dirección Comentario
Declaración de variables
A-157Ejercicio 16
Festo Didactic • TP301
HOJA DE TRABAJO
Responder a la siguiente pregunta:Pregunta
3. Especificar cuáles son las condiciones de transición que siempreson ciertas. ¿Por qué se formulan estas condiciones de transición?
A-158 Ejercicio 16
TP301 • Festo Didactic
Controles lógicos programables Tema
Dispositivo de estampación con contador TítuloCiclos de conteo
Poder realizar ciclos de conteo por medio de la utilización de los módu-los de función estándar CTU o CTD
Objetivo didáctico
Los ciclos de conteo forma parte de las operaciones básicas de unPLC. IED 1131-3 define tres bloques de función estándar: CTU (conta-dor incremental), CTD (contador decremental) y CTUD (contador incre-mental/decremental) para la realización de estas operaciones.
Conocimientostécnicos
Bloque de función CTU, contador incrementalEl bloque de función CTU (fig. A17.1) realiza un contador incremental.Su interface está definido por medio de tres parámetros de entrada ydos de salida.
El comportamiento característico de un contador incremental es comosigue:
Una señal 1 en la entrada de reset R, pone el estado CV del conta-dor a 0.A continuación, el valor CV del contador se incrementa en 1 a cadaflanco ascendente en la entrada CU.Aparece una señal 1 en la salida Q en el momento en que el valoractual CV es igual o mayor que el valor preseleccionado PV. Lasalida Q tiene valor 0 mientras el estado actual CV del contador seainferior al valor preseleccionado PV.
PV
Q
CV
CUCTU
RBOOLBOOL
INT
BOOL
INTFig. A17.1:Bloque de función CTU
B 14
A-159Ejercicio 17
Festo Didactic • TP301
Bloque de función CTD, contador decrementalBloque de función CTD (fig. A17.2) siendo un contador decrementalfunciona de forma opuesta al bloque de función CTU.
El comportamiento de un contador decremental es como sigue:
Una señal 1 en la entrada LD establece el estado del contador CVal valor preseleccionado PV.Cada flanco ascendente en la entrada CD decrementa el estado delcontador CV en 1. La salida Q muestra señal 0 mientras el estado actual del contadorCV sea mayor de 0. Solamente cuando el valor actual es menor oigual a 0, aparece una señal 1 en la salida Q.
PV
Q
CV
CDCTD
LDBOOLBOOL
INT
BOOL
INTFig. A17.2:
Bloque de función CTD
A-160 Ejercicio 17
TP301 • Festo Didactic
Uso del bloque de función CTU en cada uno de los lenguajes deprogramaciónLa utilización del bloque de función se demuestra con un ejemplo deuna pequeña tarea de envasado.
En una caja hay que poner 12 unidades de una determinada pieza.Una vez llena una caja, aparece otra. Cada ciclo de envasado se dis-para con una memoria (flag) M_init. Las piezas son detectadas pormedio de un sensor B1. El estado del contador es copiado a una me-moria M_new.
Ejemplo
LD
VAR
ATAT
AT
%IX1.0%MX1.0
%MX1.1
: BOOL;: BOOL;
: BOOL;
: CTU;
FBD
CTU
CU
R
Q
CTU_1
B1
M_init
B1
END_VAR
PV CV12
CTU
CU
R
Q
CTU_1
PV CV12
M_init
B1M_init
M_new
CTU_1
M_new
M_new
(* detecta pieza para envasar(* detecta si el contador tiene(* que ser inicializado(* detecta si se requiere una(* nueva caja(* Contador incremental (* CTU_1 para el recuento
*)*)*)*)*)*)*)
Bloque de función CTU_1,conectado con los parámetros actuales.
Interconexión del bloque de función CTU_1 en el renglón.
Tabla A17.1:Aplicación de un contador incremental
A-161Ejercicio 17
Festo Didactic • TP301
IL
ST
CAL CTU_1 (CU := B1, R := M_init, PV := 12)
LD CTU_1.Q
ST
CTU_1 (CU := B1, R := M_init, PV := 12); Invocación del bloquede función CTU_1
M_new
M_new := CTU_1.Q;
Invocación del bloquede función CTU_1
Lectura de la salidaQ de CTU_1
Almacenamiento del resultadoactual en M_new
Asignación de la salida Qde CTU_1 a M_new
Tabla A17.1:(Continuación)
A-162 Ejercicio 17
TP301 • Festo Didactic
En una máquina se estampan 10 piezas cada vez. El ciclo del progra-ma se inicia por medio de un pulsador S1. El interruptor de proximidadB7 indica "Pieza en almacén". Cada pieza se alimenta hacia la máquinapor medio de un cilindro 1.0 y se sujeta. A continuación se estampa através del cilindro 2.0 y después se expulsa por medio del cilindro 3.0.
Descripción delproblema
El cilindro de sujeción 1.0 funciona por medio de una electroválvula dedoble bobina Y1 (sujeción) e Y2 (liberación). Los cilindros 2.0 y 3.0 soncontrolados por electroválvulas con retorno por muelle con las bobinasY3 e Y4. Las posiciones de los cilindros son detectadas por los inte-rruptores de proximidad B1 a B6.
S1
1.0
2.0
3.0
Croquis de situación
A-163Ejercicio 17
Festo Didactic • TP301
1. Trazado del esquema del circuito y montaje del equipoDefinición del ejercicio
2. Descripción de la tarea de control por medio del diagrama de funcio-nes secuencial IEC 848
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC por medio del diagrama de fun-ciones secuencial
Programación de las condiciones de transición directamente enuno de los lenguajes FBD, LD o STEspecificación de las acciones
5. Verificación y puesta a punto del programa de PLC y del sistema.
1. Trazado del esquema del circuito y montaje del equipoRealización
⇒ Completar el esquema eléctrico del circuito en la HOJA DE TRABAJO.
⇒ Montar el equipo necesario en la placa perfilada:
Cantidad Descripción
1 Control lógico programable
1 Cable de unión para la unidad de conexión
1 Unidad de conexión
1 Unidad de mantenimiento
1 Distribuidor
1 Distribuidor de enchufe rápido
1 Cilindro de simple efecto
2 Cilindro de doble efecto
2 Electroválvula de 5/2 vías de una bobina
1 Electroválvula de 5/2 vías de dos bobinas
1 Entrada de señales eléctricas
1 Sensor de proximidad capacitivo
1 Sensor de proximidad óptico
1 Sensor de proximidad inductivo
4 Sensor de proximidad inductivo
Tubo de plásticoLista de componentes
A-164 Ejercicio 17
TP301 • Festo Didactic
⇒ Establecer las conexiones eléctricas y neumáticas.
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
3. Declaración de las variables del programa del PLC
⇒ Todas variables deben ser declaradas como variables locales delprograma.
⇒ Especificar sólo aquellas partes de la declaración requeridas por laaplicación del PLC. Estas son: Designación, tipo de dato, dirección– sólo si se utilizan variables directamente direccionadas – y comen-tario sobre las variables.
Nota:Las partes componentes de la declaración de variables en esta seccióndel ejercicio están representadas en forma tabular. Si se utilizan siste-mas de PLC reales, las entradas y la representación de la declaraciónde variables depende del sistema utilizado.
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
⇒ Diseñar la estructura de la secuencia en etapas y transiciones.
⇒ Programar las condiciones de transición directamente en uno de loslenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas. Para las accionesconsistentes en más de una variable booleana, es obligatorio intro-ducir un nombre para la acción.
⇒ Crear la estructura de etapas copiando los pasos en los elementosmemorizantes si el diagrama de funciones secuencial no está direc-tamente soportado por el PLC que se utilice.
Antes de cablear y conectar los tubos:
¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!
A-165Ejercicio 17
Festo Didactic • TP301
5. Verificación y puesta a punto de un programa y un sistema PLC
⇒ Cargar el programa en el PLC
⇒ Realizar una función de prueba
⇒ Corregir cualquier error que pudiera haber en el programa del PLC.
⇒ Documentar la solución.
Antes de poner a punto la instalación:
Comprobar el circuito montado con ayuda del esquema
Puesta a punto de la instalación:
¡Conectar la fuente de alimentación utilizando una tensión están-dar de 24 V DC!
Aumentar la presión del aire de alimentación en la unidad de man-tenimiento (ver ficha técnica de los componentes neumáticos)
Funcionamiento de la instalación
Mantener el entorno de trabajo despejado
A-166 Ejercicio 17
TP301 • Festo Didactic
HOJA DE TRABAJO
1. Trazado del esquema del circuito y montaje del equipo
Completar el esquema eléctrico del circuito e introducir las direccionesdisponibles de entrada y salida en el PLC que se utilice.
I
Q
24V
0V
+24V0V
0V
PLC
Esquema del circuito eléctrico
A-167Ejercicio 17
Festo Didactic • TP301
HOJA DE TRABAJO
Configurar el sistema de control.
2. Descripción de la tarea de control por medio del diagrama defunciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
Esquema del circuitoelectroneumático
1.0
4(A) 2(B)
5(R) 3(S)
1(P)
1.1
2.0
4(A) 2(B)
5(R) 3(S)
1(P)
2.1
Y1 Y3
B1 B2 B3 B43.0
4(A) 2(B)
5(R) 3(S)
1(P)
3.1
Y4
B5 B6
Y2
A-168 Ejercicio 17
TP301 • Festo Didactic
HOJA DE TRABAJO
3. Declaración de las variables del programa del PLC
Declarar las variables requeridas en el programa del PLC:
Designación Tipo de datos Dirección Comentario
Declaración de variables
A-169Ejercicio 17
Festo Didactic • TP301
HOJA DE TRABAJO
4. Formulación del programa de PLC en diagrama de funciones se-cuencial
A-170 Ejercicio 17
TP301 • Festo Didactic
HOJA DE TRABAJO
Responder a la siguiente pregunta: Preguntas
1. ¿Cuándo cambia el estado del contador?
A-171Ejercicio 17
Festo Didactic • TP301
A-172 Ejercicio 17
TP301 • Festo Didactic
Sección B – Fundamentos
B-I
Festo Didactic • TP301
Capítulo 1 Automatizando con un PLC . . . . . . . . . . . . . . . . . . . . B-1
1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-2
1.2 Campos de aplicación de un PLC . . . . . . . . . . . . . . . . . . . . . B-2
1.3 Diseño básico de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . B-5
1.4 El nuevo estándar para PLC IEC 1131 . . . . . . . . . . . . . . . . . B-8
Capítulo 2 Fundamentos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-11
2.1 El sistema de numeración decimal . . . . . . . . . . . . . . . . . . . B-12
2.2 El sistema de numeración binario . . . . . . . . . . . . . . . . . . . . B-12
2.3 El código BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-14
2.4 El sistema de numeración hexadecimal . . . . . . . . . . . . . . . B-14
2.5 Números binarios con signo . . . . . . . . . . . . . . . . . . . . . . . . B-15
2.6 Números reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-15
2.7 Generación de señales binarias y digitales . . . . . . . . . . . . . B-16
Capítulo 3 Operaciones Booleanas . . . . . . . . . . . . . . . . . . . . . . B-19
3.1 Funciones lógicas básicas . . . . . . . . . . . . . . . . . . . . . . . . . . B-20
3.2 Otras operaciones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . B-24
3.3 Establecimiento de funciones de conmutación . . . . . . . . . . B-26
3.4 Simplificación de funciones lógicas . . . . . . . . . . . . . . . . . . . B-28
3.5 Diagrama de Karnaugh-Veitch. . . . . . . . . . . . . . . . . . . . . . . B-30
Capítulo 4 Diseño y modo de funcionamiento de un PLC . . . B-33
4.1 Estructura de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-34
4.2 Unidad de procesamiento principal de un PLC . . . . . . . . . . B-36
4.3 Modo de funcionamiento de un PLC . . . . . . . . . . . . . . . . . . B-38
4.4 Memoria del programa de la aplicación . . . . . . . . . . . . . . . B-40
4.5 Módulo de Entradas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-42
4.6 Módulo de Salidas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-44
4.7 Aparato programador / Ordenador personal . . . . . . . . . . . . B-46
B-II
TP301 • Festo Didactic
Capítulo 5 Programación de un PLC . . . . . . . . . . . . . . . . . . . . B-49
5.1 Búsqueda de una solución sistemática . . . . . . . . . . . . . . . . B-50
5.2 Recursos de estructuración de IEC 1131-3 . . . . . . . . . . . . B-53
5.3 Lenguajes de programación. . . . . . . . . . . . . . . . . . . . . . . . . B-56
Capítulo 6 Elementos comunes de los lenguajes . . . . . . . . . . B-61
6.1 Recursos de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-62
6.2 Tipos de datos y variables . . . . . . . . . . . . . . . . . . . . . . . . . . B-66
6.3 Unidades de organización de programas . . . . . . . . . . . . . . B-76
Capítulo 7 Diagrama de bloques de función . . . . . . . . . . . . . . B-91
7.1 Elementos del diagrama de bloques de función . . . . . . . . . B-92
7.2 Evaluación de redes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-93
7.3 Estructuras de bucle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-94
Capítulo 8 Diagrama de contactos . . . . . . . . . . . . . . . . . . . . . . B-95
8.1 Elementos del diagrama de contactos . . . . . . . . . . . . . . . . . B-96
8.2 Funciones y bloques de función. . . . . . . . . . . . . . . . . . . . . . B-98
8.3 Evaluación de los renglones . . . . . . . . . . . . . . . . . . . . . . . . B-99
Capítulo 9 Lista de instrucciones . . . . . . . . . . . . . . . . . . . . . . B-101
9.1 Instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-102
9.2 Operadores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-103
9.3 Funciones y bloques de función. . . . . . . . . . . . . . . . . . . . . B-104
Capítulo 10 Texto estructurado. . . . . . . . . . . . . . . . . . . . . . . . B-107
10.1 Expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-108
10.2 Instrucciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-110
10.3 Instrucciones de selección . . . . . . . . . . . . . . . . . . . . . . . . . B-112
10.4 Instrucciones de iteración. . . . . . . . . . . . . . . . . . . . . . . . . . B-115
B-III
Festo Didactic • TP301
Capítulo 11 Diagrama de funciones secuencial . . . . . . . . . . B-119
11.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-120
11.2 Elementos del diagrama de funciones secuencial . . . . . . B-120
11.3 Transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-130
11.4 Pasos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-133
11.5 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-143
Capítulo 12 Sistemas de control lógico. . . . . . . . . . . . . . . . . . B-147
12.1 Qué es un sistema de control lógico . . . . . . . . . . . . . . . . . B-148
12.2 Sistema de control lógico sin propiedades memorizantes B-148
12.3 Sistema de control lógico con propiedades memorizantes B-154
12.4 Evaluación de flancos . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-157
Capítulo 13 Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . B-161
13.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-162
13.2 Temporizador de pulsos. . . . . . . . . . . . . . . . . . . . . . . . . . . B-163
13.3 Señal con retado a la conexión . . . . . . . . . . . . . . . . . . . . . B-165
13.4 Señal con retado a la desconexión . . . . . . . . . . . . . . . . . . B-167
Capítulo 14 Contadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-171
14.1 Funciones de contador . . . . . . . . . . . . . . . . . . . . . . . . . . . B-172
14.2 Contador incremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-172
14.3 Contador decremental . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-176
14.4 Contador incremental/decremental . . . . . . . . . . . . . . . . . . B-178
Capítulo 15 Sistemas de control secuencial. . . . . . . . . . . . . . B-179
15.1 Qué es un sistema de control secuencial . . . . . . . . . . . . . B-180
15.2 Diagrama de funciones según IEC 848 . . . . . . . . . . . . . . B-180
15.3 Diagrama desplazamiento-fase . . . . . . . . . . . . . . . . . . . . . B-186
B-IV
TP301 • Festo Didactic
Capítulo 16 Puesta a punto y seguridad en el manejo de un PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-187
16.1 Puesta a punto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-188
16.2 Seguridad en el manejo de un PLC. . . . . . . . . . . . . . . . . . B-190
Capítulo 17 Comunicaciones. . . . . . . . . . . . . . . . . . . . . . . . . . B-195
17.1 La necesidad de comunicación . . . . . . . . . . . . . . . . . . . . . B-196
17.2 Transmisión de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-196
17.3 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-197
17.4 Comunicación a nivel de campo . . . . . . . . . . . . . . . . . . . . B-198
B-V
Festo Didactic • TP301
Prefacio
Los Controles Lógicos Programables1) representan un factor clave enla automatización industrial. Su utilización permite una adaptación flexi-ble a los procesos cambiantes, así como una rápida localización deaverías y eliminación de errores.
Este libro de texto explica los principios de un control programable y suinteracción con sus periféricos.
Uno de los puntos centrales de este libro de texto trata del nuevoestándar internacional para programación de PLCs, el IEC-1131, Parte 3.Este estándar tiene en cuenta las ampliaciones y desarrollos, para loscuales no existían elementos de lenguaje estandarizado hasta ahora.
El objetivo de IEC-1131-3 es estandarizar el diseño, la funcionalidad yla programación de un PLC de tal forma que el usuario pueda manejarcon facilidad los diferentes sistemas.
En interés de la posterior mejora de este libro, se invita a los lectores acontribuir con sus sugerencias, ideas y críticas constructivas.
Los autores
1) Nota del traductor:La traducción más extendida de la expresión Inglesa ’Programable Lo-gic Control’ es ’Control Lógico Programable’. A pesar de ello, su acró-nimo castellanizado CLP no ha tenido una plena aceptación en losmedios industriales, que siguen utilizando con más frecuencia el acró-nimo Inglés PLC.Otras denominaciones de estos equipos son:’Autómata Programable Industrial’ o simplemente ’Autómata Industrial’(AI), procedente del francés y ’Mando Programable en Memoria’, pro-cedente del alemán ’Speicherprogrammierbare Steuerungen’ (SPS).
En este libro de texto hemos utilizado la denominación Control LógicoProgramable, con su acrónimo Inglés PLC.
B-VI
TP301 • Festo Didactic
Capítulo 1
El PLC en latecnología de automatización
B-1Capítulo 1
Festo Didactic • TP301
El primer Control Lógico Programable (Programmable Logic Control oPLC) fue desarrollado por un grupo de ingenieros en la General Motorsen 1968, cuando la empresa estaba buscando una alternativa parareemplazar los complejos sistemas de control por relés.
1.1 Introducción
El nuevo sistema de control tenía que cumplir con los siguientes reque-rimientos:
Programación sencillaCambios de programa sin intervención en el sistema (sin tener querehacer el cableado interno)Más pequeño, más económico y más fiable que los correspondien-tes sistemas de control por relésSencillo y con bajo coste de mantenimiento
Los sucesivos desarrollos llevaron a un sistema que permitía la conexiónsencilla de señales binarias. Los requerimientos de cómo estaban conec-tadas estas señales se especificaba en el programa de control. Con losnuevos sistemas, fue posible por primera vez mostrar las señales en unapantalla y archivar los programas en memorias electrónicas.
Desde entonces han pasado tres décadas, durante las cuales los enor-mes progresos hechos en el desarrollo de la micro electrónica hanfavorecido la proliferación de los controles lógicos programables. Porejemplo, a pesar de que en sus comienzos, la optimización del progra-ma y con ello la necesidad de reducir la ocupación de memoria repre-sentaba una tarea importante para el programador, en la actualidadesto apenas tiene importancia.
Además, las funciones disponibles han crecido considerablemente.Hace quince años, la visualización de procesos, el procesamiento ana-lógico o incluso la utilización de un PLC como un regulador, eran con-siderados una utopía. Actualmente, muchos de estos elementos sonparte integral de muchos PLCs.
En las páginas siguientes de este capítulo de introducción, describire-mos el diseño básico de un PLC junto con las tareas y aplicacionesmás importantes actualmente.
Todas las máquinas o sistemas automáticos tienen un control. Dependien-do del tipo de tecnología utilizada, los controles pueden dividirse en neumá-ticos, hidráulicos, eléctricos y electrónicos. Con frecuencia se utiliza unacombinación de las diferentes tecnologías. Además, debe distinguirse entrecontroles con programa cableado (es decir, conexionado físico de compo-nentes electromecánicos (relés, etc) o componentes electrónicos (circuitosintegrados)) y controles lógicos programables. Los primeros se utilizan prin-cipalmente en casos en los que la reprogramación por el usuario está fuerade toda duda y el alcance de la tarea justifica el desarrollo de un sistemade control especial. Las aplicaciones típicas de tales controles pueden ha-llarse en los electrodomésticos, vídeo cámaras, vehículos, etc.
1.2 Áreas deaplicación de un PLC
B-2 Capítulo 1
TP301 • Festo Didactic
Sin embargo, si la tarea de control no justifica el desarrollo de un controlespecial, o si el usuario debe tener la posibilidad de hacer cambios senci-llos, o de modificar tiempos o valores de contadores, entonces el uso deun control universal, en el que el programa se escribe en una memoriaelectrónica, es la opción preferida. El PLC representa un control universal.Puede utilizarse para diferentes aplicaciones y, dado que el programa sehalla escrito en su memoria electrónica, el usuario puede modificar, am-pliar y optimizar con cierta sencillez sus procesos de control.
La tarea original de un PLC es la interconexión de señales de entrada, deacuerdo con un determinado programa y, si el resultado de esta interco-nexión es "cierta", activar la correspondiente salida. El álgebra de Booleforma la base matemática para esta operación, ya que solamente recono-ce dos estados definidos de una variable: "0" (falso) y "1" (cierto) (véasetambién el capítulo 3). Consecuentemente, una salida sólo asume estosdos estados. Por ejemplo, una electroválvula conectada a la salida puedeestar activada o desactivada, es decir, controlada.
Fig. B1.1:Ejemplo de aplicación de un PLC
B-3Capítulo 1
Festo Didactic • TP301
Esta función ha acuñado el nombre de PLC: Programmable LogicControl o Control Lógico Programable . En él, el comportamiento delas entradas/salidas es similar al de los controles realizados con reléselectromagnéticos o con elementos lógicos neumáticos o electrónicos;la diferencia reside en que el programa en lugar de estar ’cableado’está almacenado en una memoria electrónica.
Sin embargo las tareas del PLC se ampliaron rápidamente: las funcio-nes de temporización y recuento, operaciones de cálculo matemático,conversión de señales analógicas, etc. representan funciones que pue-den ejecutarse en casi todos los PLCs actuales.
Las demandas que se requieren de los PLCs siguen creciendo al mis-mo ritmo que su amplia utilización y desarrollo en la tecnología deautomatización. Por ejemplo: la visualización, es decir, la repre-sentación de los estados de las máquinas o la supervisión de la ejecu-ción del programa por medio de una pantalla o monitor. También elcontrol directo, es decir, la facilidad de intervenir en los procesos decontrol o, alternativamente, impedir tal intervención a las personas noautorizadas. También se ha visto la necesidad de interconectar y armo-nizar sistemas individuales controlados por PLC, por medio de redes obuses de campo. Aquí, un ordenador master permite la generación deórdenes de mayor nivel para el procesamiento de programas en losdiversos sistemas PLC interconectados.
La conexión en red de varios PLCs, así como la de un PLC con elordenador master se realiza por medio de interfaces de comunicaciónespeciales. Para ello, la mayoría de los más recientes PLCs son com-patibles con sistemas de bus abiertos estandarizados, tales como Pro-fibus según DIN 19 245. Gracias al enorme aumento de la potencia ycapacidad de los PLCs avanzados, estos pueden incluso asumir direc-tamente la función de un ordenador master.
Hacia finales de los setenta, las entradas y salidas binarias fueron fi-nalmente ampliadas con la adición de entradas y salidas analógicas,ya que hay muchas aplicaciones técnicas que emiten y requieren seña-les analógicas (medición de fuerzas, velocidades, sistemas de posicio-nado servoneumáticos, etc.). Al mismo tiempo la adquisición y emisiónde señales analógicas permite la comparación de valores reales conlos de consigna y, como consecuencia, la realización de funciones deregulación automática; una tarea que va más allá del ámbito que su-giere el nombre de control lógico programable.
B-4 Capítulo 1
TP301 • Festo Didactic
Los PLCs que existen actualmente el mercado han sido adaptados a losrequerimientos de los clientes hasta tal punto que ya es posible adquirirun PLC exactamente adaptado para casi cada aplicación. Así, hay dispo-nibles actualmente desde PLCs en miniatura con unas decenas de entra-das/salidas hasta grandes PLCs con miles de entradas/salidas.
Muchos PLCs pueden ampliarse por medio de módulos adicionales deentradas/salidas, módulos analógicos y de comunicación. Hay PLCsdisponibles para sistemas de seguridad, barcos o tareas de minería.Otros PLCs son capaces de procesar varios programas al mismo tiem-po (Multitarea). Finalmente, los PLCs pueden conectarse con otroscomponentes de automatización, creando así áreas considerablementeamplias de aplicación.
El término ’Control Lógico Programable’ se define en IEC 1131, Parte 1,como sigue:
1.3 Definición básicade un PLC
"Un sistema electrónico de funcionamiento digital, diseñado para serutilizado en un entorno industrial, que utiliza una memoria programablepara el almacenamiento interno de instrucciones orientadas al usuario,para la realización de funciones específicas tales como enlaces lógi-cos, secuenciación, temporización, recuento y cálculo, para controlar, através de entradas y salidas digitales o analógicas, diversos tipos demáquinas o procesos. Tanto el PLC como sus periféricos asociadosestán diseñados de forma que puedan integrarse fácilmente en un sis-tema de control industrial y ser fácilmente utilizados en todas las apli-caciones para las que están previstos."
Fig. B1.2:Ejemplo de un PLC:AEG Modicon A120
B-5Capítulo 1
Festo Didactic • TP301
Por lo tanto, un control lógico programable es sencillamente un ordena-dor, adaptado específicamente para ciertas tareas de control.
La Fig. B1.3 ilustra los componentes del sistema de un PLC
La función de un módulo de entrada es la de convertir señales deentrada en señales que puedan ser procesadas por el PLC y pasarlasa la unidad de control central. La tarea inversa es realizada por elmódulo de salida. Este convierte las señales del PLC en señales ade-cuadas para los actuadores.
El verdadero procesamiento de las señales se realiza en la unidadcentral de control, de acuerdo con el programa almacenado en la me-moria.
El programa de un PLC puede crearse de varias formas: a través deinstrucciones parecidas al lenguaje ensamblador (assembler) en ’listade instrucciones’, en lenguajes de alto nivel orientados al problema,tales como el texto estructurado, o en forma de diagrama de flujo comose representa en el diagrama de funciones secuencial. En Europa, lautilización de los diagramas de bloques de función basados en los dia-gramas de funciones con símbolos gráficos para puertas lógicas (logi-gramas) es ampliamente utilizado. En América el lenguaje preferido porlos usuarios es el ’diagrama de contactos’ o ’diagrama en escalera’(ladder diagram).
Dependiendo de cómo se halle conectada la unidad central a los mó-dulos de entrada y salida, hay que distinguir entre PLCs compactos(módulo de entrada, unidad central y módulo de salida en un sólo cuer-po) o PLCs modulares.
Programa PLC
Unidad CentralMódulo de entrada Módulo de salida
ActuadoresSensoresFig. B1.3:
Componentes de unsistema PLC
B-6 Capítulo 1
TP301 • Festo Didactic
La Fig. B1.4 muestra el control FX0 de Mitsubishi, representando unejemplo de un PLC compacto.
Los PLCs modulares pueden configurarse individualmente. Los módu-los requeridos por la aplicación práctica – aparte de los módulos deentradas/salidas digitales que pueden, por ejemplo, incluir módulosanalógicos , de posicionamiento y comunicación – se insertan en unrack, en el que todos los módulos están enlazados por un sistema debus. Este diseño se conoce también como tecnología modular. Dosejemplos de PLCs modulares se muestran en la Figs. B1.2 y B1.4.Estos representan la familia modular de PLC de AEG Modicon y elS7-300 de Siemens.
Existe una amplia gama de variantes, particularmente en el caso de lasPLCs más recientes. Esto incluyen tanto las características compactascomo las modulares y características importantes tales como el ahorrode espacio, flexibilidad y posibilidad de ampliación.
La tarjeta con formato PLC es un tipo especial de PLC modular desa-rrollado durante los últimos años. Con este tipo, varios módulos reali-zados sobre tarjetas de circuito impreso se montan en una caja estan-darizada. El FPC 405 de Festo es representativo de este tipo de dise-ño (Fig. B1.4).
Fig. B1.4:PLC compacto(Mitsubishi FX0),PLC Modular(Siemens S7-300),PLC con tarjetas(Festo FPC 405)
B-7Capítulo 1
Festo Didactic • TP301
El diseño del hardware de un control lógico programable está hecho deforma que pueda soportar los entornos típicos industriales en cuanto alos niveles de las señales, calor, humedad, fluctuaciones en la alimen-tación de corriente e impactos mecánicos.
A finales de los setenta, se plantearon en Europa algunos estándaresválidos para la programación de PLCs, enfocados principalmente al es-tado de la tecnología en aquel momento. Tenían en cuenta sistemasde PLC no interconectados, que realizaban operaciones lógicas conseñales binarias. DIN 19 239, por ejemplo, especifica un lenguaje deprogramación que posee las correspondientes instrucciones para estasaplicaciones.
1.4 El nuevo estándarpara PLC, IEC-1311
Anteriormente, no existían elementos de lenguaje estandarizados niequivalentes para el desarrollo de programas de PLC. Los desarrollosaparecidos en los años ochenta, tales como el procesamiento de seña-les analógicas, interconexión de módulos inteligentes, sistemas de PLCen red, etc. agravaron el problema. Consecuentemente, los sistemasPLC de diferentes fabricantes requerían técnicas de programacióncompletamente diferentes.
Desde 1992, existe un estándar internacional para controles lógicosprogramables y dispositivos periféricos asociados (herramientas deprogramación y diagnosis, equipos de verificación, interfaces hombre-máquina, etc.). En este contexto, un dispositivo configurado por elusuario y compuesto por los elementos citados anteriormente, se cono-ce como un sistema PLC.
El nuevo estándar IEC 1131 consta de cinco partes:
Parte 1: Información generalParte 2: Requerimientos y verificaciones del equipoParte 3: Lenguajes de programaciónParte 4: Directrices para el usuario Parte 5: Especificación del servicio de mensajes
Las partes 1 a 3 de este estándar se adoptaron sin enmiendas como elestándar Europeo EN 61 131, Partes 1 a 3.
La finalidad del nuevo estándar era definir y estandarizar el diseño yfuncionalidad de un PLC y los lenguajes requeridos para la programa-ción hasta un grado en el que los usuarios pudieran hacer funcionarsin ninguna dificultad los diferentes sistemas de PLC de los distintosfabricantes.
B-8 Capítulo 1
TP301 • Festo Didactic
Los siguientes capítulos tratarán con detalle sobre este estándar. Porel momento, será suficiente la siguiente información:
El nuevo estándar tiene en cuenta la mayoría de aspectos posiblesen relación con el diseño, aplicación y utilización de sistemas PLC.Las amplias especificaciones sirven para definir sistemas de PLCabiertos y estandarizados.Los fabricantes deben ajustarse a las especificaciones de este es-tándar, tanto en el aspecto puramente técnico de los requerimientosde un PLC como en lo que se refiere a la programación de talescontroles.Todas las variaciones deben ser completamente documentadaspara el usuario
Tras unas reticencias iniciales, se ha formado un grupo relativamentegrande de personas interesadas (PLCopen) para apoyar este estándar.La mayoría de los principales proveedores de PLC son miembros de laasociación, es decir, Allen Bradley, Klöcker-Moeller, Philips, para men-cionar algunos. Otros fabricantes de PLC como Siemens o Mitsubishitambién ofrecen controles y sistemas de programación conformes conIEC-1131.
Los sistemas de programación iniciales ya están disponibles en el mer-cado y otros están siendo desarrollados. Sin embargo, la norma tieneuna buena oportunidad de aceptación y de éxito. Esperamos que estelibro de texto contribuirá, en cierto modo, al desarrollo de este estándar.
B-9Capítulo 1
Festo Didactic • TP301
B-10 Capítulo 1
TP301 • Festo Didactic
Capitulo 2
Fundamentos
B-11Capítulo 2
Festo Didactic • TP301
La característica del sistema de numeración decimal, comunmente utili-zado, es la disposición lineal de los dígitos y su emplazamiento signifi-cativo. El número 4344, por ejemplo, puede representarse como sigue:
2.1 El sistema denumeracióndecimal
4344 = 4 x 1000 + 3 x 100 + 4 x 10 + 4 x 1
El número 4 que se halla en el extremo izquierdo, tiene un significadodiferente del número 4 situado en el extremo derecho.
La base del sistema de numeración decimal es la disponibilidad de 10dígitos diferentes (decimal: originario del latín ’decem’ = 10). Estos diezdiferentes dígitos permiten contar de 0 a 9. Si la cuenta sobrepasa elnúmero 9, esto constituye un arrastre para el dígito de la siguienteposición a la izquierda. El significado de esta posición en 10, y el si-guiente arrastre se realiza cuando se alcanza el valor 99.
Utilizaremos el número 71.718.711 como ejemplo:
Como puede verse arriba, el significado del "7" en el extremo izquierdoes 70 000 000 = 70 millones, mientras que el significado del "7" en latercera posición desde la izquierda es de 700.
El dígito del extremo derecho se conoce como el ’dígito menos significati-vo’ y el dígito del extremo izquierdo, como el ’dígito más significativo’.
Cualquier sistema de numeración puede ser configurado basándose eneste ejemplo, cuya estructura fundamental puede aplicarse a sistemasde numeración de cualquier cantidad de dígitos. Consecuentemente,cualquier operación de cálculo y método de computación que utilice elsistema de numeración decimal puede ser utilizado con otros sistemasde numeración.
Fue Leibnitz quien aplicó por primera vez las estructuras del sistemade numeración decimal al cálculo con dos dígitos. Allá por el año 1679,esto creó las premisas esenciales para el desarrollo de los actualesordenadores, ya que la tensión eléctrica o la corriente eléctrica, sólopermite un cálculo utilizando dos valores: es decir "circula corriente" o"no circula corriente". Estos dos valores se representan en forma dedígitos "1" y "0".
2.2 El sistema denumeraciónbinario
107 106 105 104 103 102 101 100
7 1 7 1 8 7 1 1Ejemplo
B-12 Capítulo 2
TP301 • Festo Didactic
Si en un número estuviéramos limitados a exactamente 2 dígitos porposición, el sistema de numeración quedaría configurado como sigue:
El principio es exactamente el mismo que el del método utilizado paracrear un número decimal. Sin embargo, sólo se dispone de dos dígitos,razón por la cual la posición significativa no se calcula con la base 10x,sino con al base 2x. Así, el número menos significativo en el extremoderecho es 20 = 1, y para la siguiente posición 21 = 2, etc. Dado el usoexclusivo de dos dígitos, este sistema de numeración se conoce comosistema binario o sistema dual.
Con ocho posiciones, pueden representarse un máximo de:
28 – 1 = 256 – 1 = 255
valores que alcanzarían hasta el numero 1111 11112
Cada una de las posiciones de un sistema de numeración binario pue-de adoptar uno de los dos dígitos 0 o 1. La menor unidad posible delsistema binario es de 1 bit.
En el ejemplo citado arriba, se ha configurado un número consistenteen 8 bits, es decir, un byte (en un ordenador que utilice 8 señaleseléctricas representando "tensión disponible" o "tensión no disponible").El número considerado, 1011 00012, corresponde al valor decimal17710.
27=128 26=64 25=32 24=16 23=8 22=4 21=2 20=1
1 0 1 1 0 0 0 1Ejemplo
1 x 27 0 x 26 1 x 25 1 x 24 0 x 23 0 x 22 0 x 21 1 x 20
= 128 + 32 + 16 + 1
= 177Ejemplo
B-13Capítulo 2
Festo Didactic • TP301
Para las personas acostumbradas a tratar con el sistema decimal, losnúmeros binarios son difíciles de leer. Por esta razón, se introdujo unarepresentación numérica de más fácil lectura, es decir, una notacióndecimal codificada de un número binario: el denominado BCD (binarycoded decimal). Con este código BCD, cada dígito del sistema de nu-meración decimal representa a su correspondiente número binario.
2.3 El código BCD
Por lo tanto, se necesitan 4 dígitos en la notación binaria para repre-sentar el sistema decimal. A pesar de que en una notación binaria de 4dígitos pueden representarse los valores del 0 al 15, los valores co-rrespondientes a 10, 11, 12, 13, 14 y 15 no se usan en BCD
Así, el número decimal 7133 se representa como sigue en código BCD:
0111 0001 0011 0011BCD
Por lo tanto, se necesitan 16 bits para representar un número decimalde cuatro dígitos en código BCD. La codificación en BCD se utiliza amenudo para visualizadores de siete segmentos y para interruptoresrotativos de introducción de valores.
La utilización de números binarios es difícil y la utilización del códigoBCD ocupa bastante espacio de memoria. Por esta razón se desarro-llaron los sistemas octal y hexadecimal. En el caso del sistema octal seutilizan grupos de tres dígitos. Esto permite contar de 0 hasta 7, esdecir, contar con "ochos".
2.4 El sistema denumeraciónhexadecimal
010 0000BCD
110 0001BCD
210 0010BCD
310 0011BCD
410 0100BCD
510 0101BCD
610 0110BCD
710 0111BCD
810 1000BCD
910 1001BCD
Tabla B2.1:Representación de
números decimales encódigo BCD
B-14 Capítulo 2
TP301 • Festo Didactic
Alternativamente, en el sistema de numeración hexadecimal se combi-nan 4 bits. Estos 4 bits permiten la representación de los números 0 al15, es decir, contar en "dieciseises". Para representar estos númerosse utilizan los dígitos 0 al 9, seguidos de las letras A, B, C, D, E y F,en donde A = 10, B = 11, C = 12, D = 13, E = 14 y F = 15. La posiciónsignificativa de cada dígito se evalúa con las potencias de 16.
Por lo tanto, el número 87BC16 dado como ejemplo se lee como sigue:
8 x 163 + 7 x 162 + 11 x 161 + 12 x 160 = 34 74810
Hasta ahora, hemos tratado solamente con números enteros y positi-vos, sin tener en cuenta los números negativos. Para poder trabajarcon estos números, se decidió que el bit más significativo en el extre-mo izquierdo de un número binario se utilizaría para representar elsigno: así "0" corresponde al "+" y "1" al "–".
2.5 Números binarioscon signo
Así, 1111 11112 = -12710 y 0111 11112 = +12810
Cuando se utiliza el bit más significativo para el signo, se dispone deun bit menos para la representación de un número con signo. Para larepresentación de un número binario de 16 dígitos, se obtiene el si-guiente margen de valores:
Aunque ahora ya es posible representar con 0 y 1 números enterospositivos con signo, aún hay la necesidad de poder representar losdecimales o números reales.
2.6 Números reales
Para representar un número real en notación binaria de ordenador, elnúmero se descompone en dos grupos, una potencia de 10 y un factorde multiplicación. Esto se conoce también como notación científica denúmeros.
163=4096 162=256 161=16 160=1
8 7 B CEjemplo
Entero Margen de valores
sin signo 0 a 65535
con signo -32768 a +32767
Tabla B2.2:Margen de valores paralos números binarios
B-15Capítulo 2
Festo Didactic • TP301
El número 27,334 se convierte así en 273 341 x 10-4. Por lo tanto senecesitan dos números enteros con signo para representar un númeroreal en un ordenador.
Como ya parece haber quedado claro en la sección anterior, todos losordenadores, y por lo tanto todos los PLCs, funcionan utilizando seña-les digitales o binarias. Por binario, entendemos una señal que sóloreconoce dos valores definidos.
2.7 Generación deseñalesdigitales ybinarias
Estos valores se les llama "0" o "1", aunque también se utilizan lostérminos "bajo" y "alto". Las señales pueden realizarse muy fácilmentecon componentes de contactos. Un contacto activado corresponde auna señal de lógica 1 y uno sin activar a una de lógica 0. Cuando setrabaja con elementos sin contacto, esto puede forzar unos ciertosmárgenes de tolerancia. Por esta razón, hay que definir ciertos márge-nes de tensión para definirlos como lógica 0 ó lógica 1.
1
t0Fig. B2.1:
Señal binaria
V
0
5
11
30
t-3
margen señal-1
margen señal-0
Fig. B2.2:Márgenes de tensión
B-16 Capítulo 2
TP301 • Festo Didactic
IEC 1131-2 define un margen de valores de -3 V a 5 V como señal delógica 0, y de 11 V a 30 V como señal de lógica 1. Esto es de obligadocumplimiento para PLCs cuya tecnología deba seguir la norma IEC1131-2. En la práctica existen tensiones muy parecidas para lógica 0 ylógica 1: Ampliamente usadas son: -30 V a +5V para lógica 0 y +13 Va +30 V para lógica 1.
A diferencia de las señales binarias, las señales digitales pueden asu-mir cualquier valor. Se les conoce también como etapas de valor. Así,una señal digital se define por cualquier cantidad de etapas de valor.El cambio entre estas etapas no es secuencial. La siguiente ilustraciónmuestra tres posibles métodos de convertir una señal analógica en unaseñal digital.
Las señales digitales pueden formarse a partir de señales analógicas.Este método se utiliza, por ejemplo, para el procesamiento analógico através de un PLC. Consecuentemente, una señal de entrada analógicaen el margen de 0 a 10 V se reduce a una serie de etapas de valores.Dependiendo de la calidad del PLC y de la resolución, la señal digitalserá capaz de operar en etapas de valores de 0,1 V, 0,01 V ó 0,001 V.Naturalmente, en este caso se seleccionaría el margen más pequeñopara poder reproducir la señal analógica con la mayor precisión posible.
t0
V
1
2
3
4
5
6 Señal digital en base de 0,5 V
Señal digitalen base de 3 V
Señal analógica
Señal digitalen base de 1 V
Fig. B2.3:Conversión de una señal analógica en una señal digital
B-17Capítulo 2
Festo Didactic • TP301
Un ejemplo simple de una señal analógica es la presión, que se mide yse visualiza en un manómetro. La señal de presión puede asumir cual-quier valor intermedio entre sus valores mínimo y máximo. A diferenciade la señal digital, cambia continuamente. En el caso del procesamien-to de valores analógicos a través de un PLC, como se ha descrito, lasseñales analógicas de tensión se evalúan y se convierten.
Por otra parte, las señales digitales pueden formarse reuniendo uncierto número de señales binarias. De esta forma, de nuevo como seha descrito en el párrafo anterior, con ocho señales binarias es posiblegenerar una señal digital con 256 valores.
Este proceso se utiliza, por ejemplo, para la realización de temporiza-dores o de contadores.
Bit No. 7 6 5 4 3 2 1 0 Valor digital
Ejemplo 1 1 0 1 1 1 0 1 1 187
Ejemplo 2 0 0 1 1 0 0 1 1 51
Ejemplo 3 0 0 0 0 0 0 0 0 0Ejemplo
B-18 Capítulo 2
TP301 • Festo Didactic
Capítulo 3
Operadores Booleanos
B-19Capítulo 3
Festo Didactic • TP301
Como se ha descrito en el capítulo anterior, cualquier ordenador eigualmente cualquier PLC, funcionan utilizando el sistema de numera-ción de base 2. Esto se aplica también a los sistemas octal (23) yhexadecimal (24). Por ello, las variables individuales pueden asumirsólo dos valores, "0" o "1". Se utilizan unas matemáticas especialespara poder enlazar las relaciones entre variables – la denominada ál-gebra de Boole. Los enlaces entre variables también pueden repre-sentarse claramente por medio de contactos eléctricos.
Funciones lógicasbásicas
Función NOT, negaciónEl pulsador mostrado representa un contacto normalmente cerrado.Cuando no está físicamente accionado, el piloto H1 luce, mientras queen estado accionado, el piloto H1 se apaga.
El pulsador S1 actúa como una señal de entrada, el piloto constituye lasalida. El estado actual puede ser registrado en una Tabla de la verdad:
Por lo tanto, la Ecuación Booleana es como sigue:
I = O (léase: No-I igual a O)
S1(I)
H1(O)
24V
0V
Fig. B3.1:Esquema del circuito
I O
0 1
1 0Tabla de la verdad
B-20 Capítulo 3
TP301 • Festo Didactic
El símbolo lógico es:
Dos negaciones consecutivas se cancelan entre sí.
Función AND, conjunciónSi dos contactos abiertos se conectan en serie, el piloto conectadosólo lucirá si ambos pulsadores están físicamente accionados.
1I O
Fig. B3.2:Función NOT
I1I 1I
I = I
Fig. B3.3:Dos funciones l’ógicas NOT
H1(O)
24V
0V
S2(I2)
S1(I1)
Fig. B3.4:Esquema del circuito
B-21Capítulo 3
Festo Didactic • TP301
La tabla de la verdad asigna la conjunción. La salida asume el valor 1sólo si ambas entradas 1 y 2 se hallan con señal 1. Esto se conocecomo una operación AND (operación Y), que se representa con la si-guiente ecuación:
I1 ∧ I2 = O
Además, valen las siguientes ecuaciones para la conjunción
a ∧ 0 = 0
a ∧ 1 = a
a ∧ a = 0
a ∧ a = a
&I1
I2O
Fig. B3.5:Función AND
I1 I2 O
0 0 0
0 1 0
1 0 0
1 1 1Tabla de la verdad
B-22 Capítulo 3
TP301 • Festo Didactic
Función OR, disyunciónOtra función lógica básica es la función OR (O). Si dos contactos nor-malmente abiertos se conectan en paralelo, el piloto luce siempre quepor menos uno de los pulsadores se halle físicamente accionado.
La operación lógica se escribe en forma de la siguiente ecuación:
I1 ∨ I2 = O
H1(O)
24V
0V
S1(I1)
S2(I2)
Fig. B3.6:Esquema del circuito
>=1I1
I2O
Fig. B3.7:Función OR
I1 I2 O
0 0 0
0 1 1
1 0 1
1 1 1Tabla de la verdad
B-23Capítulo 3
Festo Didactic • TP301
Valen también las siguientes ecuaciones para la disyunción:
b ∨ 0 = b
b ∨ 1 = 1
b ∨ b = b
b ∨ b = 1
En la sección B3.1 se ha descrito la realización eléctrica de las opera-ciones NOT-/AND-/OR. Naturalmente, cada una de estas funcionespuede también realizarse con componentes neumáticos y electrónicos.El álgebra de Boole reconoce también las siguientes operaciones lógi-cas. La siguiente tabla proporciona un resumen de ellas.
3.2 Otras operacioneslógicas
Tabla B3.1:Conexiones lógicas
I = A
I O
0 01 1
I O
0 11 0
I1 I2
0 00 1
00
O
1 01 1
01
I1 I2
0 00 1
01
O
1 01 1
11
&I1
OI2
>=1I1O
I2
1 OI
1 OI
O
I1 I2
O
I1 I2
I O
I O
O
I1 I2
O
I1
I2
O
I
O
I
I1 O
I2
I2
OI1
R
R
+
I
R
-
O
I
R
O
+
-
Nombre
Identidad
Negación
Conjunción
Ecuación Tabla verd. Símbolo lógico
Disyunción
Realización neumática Realiz. eléctrica Realiz. electrónica
I = O
>I1 I2 = O
> I2 = OI1
B-24 Capítulo 3
TP301 • Festo Didactic
Tabla B3.1:Conexiones lógicas(continuación)
I1 I2
0 00 1
11
O
1 01 1
10
I1 I2
0 00 1
10
O
1 01 1
00
&I1
OI2
>=1I1O
I2
I1
K1
I1 K1
I1
I2
I1
I2
R
I1 I2
0 00 1
10
O
1 01 1
01
I1 I2
0 00 1
01
O
1 01 1
10
=I1
OI2
1I1
OI2
I2
O
I1 I2
I1 I2
O
I1 I2
O
O
I2
K1 O
K1
I1
I2
O
I1
I2
O
R
O
I1
I2
R
O
R
I1 I2
I1 I2
O
>I1 I2 = O
>I1 I2 = O
>I1 I2>
>I1 I2 = O
>
I2 = OI1
>I1 I2 = O
OI2
I1
OI2
I1
Nombre
Antivalencia( OR exclusiva)
Equivalencia
NAND
Ecuación Tabla verd. Símbolo lógico
NOR
Realización neumática Realiz. eléctrica Realiz. electrónica
B-25Capítulo 3
Festo Didactic • TP301
Derivación de ecuaciones booleanas de la tabla de la verdadA menudo, las operaciones lógicas mostradas en la sección anterior noson suficientes para describir adecuadamente un estado en la tecnolo-gía de control.
3.3 Establecimiento de funciones deconmutación
A menudo, hay combinaciones de diferentes operaciones lógicas. Laconexión lógica en forma de una ecuación booleana puede establecer-se fácilmente a partir de la tabla de la verdad.
El ejemplo inferior clarificará esto:
Tarea en una estación de clasificaciónDiversas piezas para cocinas prefabricadas son mecanizadas en unsistema de producción (máquina de taladrar y fresar). A los laterales ya las puertas de ciertos tipos de cocina se les han hecho diferentesdisposiciones de agujeros. Los sensores B1 a B4 están previstos parala detección de estos agujeros.
Las piezas con la siguiente distribución de agujeros son para el tipo decocina ’Estándar’. Estas piezas deben extraerse de la cinta transporta-dora por medio del cilindro de doble efecto 1.0.
B1B2
B3B4
1.0
Fig. B3.8:estación de clasificación
B-26 Capítulo 3
TP301 • Festo Didactic
Asumiendo que un taladro realizado se lee como señal-1, se obtiene lasiguiente tabla de la verdad:
a b c d y
0 0 0 0 0
0 0 0 1 1
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 1
1 1 0 0 0
1 1 0 1 1
1 1 1 0 0
1 1 1 1 1Tabla de la verdad
b d
a
d
a
b d
d
a c
b d
a c
d Fig. 3.9:Distribución de losagujeros en las piezas
B-27Capítulo 3
Festo Didactic • TP301
Para obtener la ecuación lógica a partir de esta tabla existen dos op-ciones, que conducen a dos expresiones diferentes. Naturalmente am-bas expresiones producen el mismo resultado, ya que se describen lasmismas circunstancias.
Forma estándar disyuntivaEn la forma estándar disyuntiva, se agrupan todas las conjunciones(operaciones AND) de las variables de entrada que producen la señalde salida 1, en una operación disyuntiva (operación OR). El estado 0de la señal de entrada se toma como valor negado, y el estado 1 de laseñal de entrada, como no-negada (directa).
Por lo tanto, en el caso del ejemplo dado, la operación lógica es lasiguiente:
y = (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨
(a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d)
Forma estándar conjuntivaEn la forma estándar conjuntiva, se agrupan todas las disyunciones(operaciones OR) de las variables de entrada que producen la señalde salida 0, en una operación conjuntiva (operación AND). A diferenciade la forma estándar disyuntiva, en este caso la variable de entrada esnegada con el estado "1" y no-negada con el estado "0"
y = (a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d) ∧
(a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d) ∧
(a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d) ∧
(a ∨ b ∨ c ∨ d) ∧ (a ∨ b ∨ c ∨ d)
Ambas ecuaciones para el ejemplo dado son bastante amplias, si bienmás larga aún es la que se ha dado como forma estándar conjuntiva.Esto define el criterio para utilizar la forma estándar disyuntiva o con-juntiva: La decisión se hace en favor de la forma más corta de laecuación. En este caso la forma estándar disyuntiva.
3.4 Simplifiación defunciones lógicas
y = (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨
(a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d) ∨ (a ∧ b ∧ c ∧ d)
Esta expresión puede simplificarse con la ayuda de las propiedadesdel álgebra de Boole,
B-28 Capítulo 3
TP301 • Festo Didactic
Las propiedades más importantes del álgebra de Boole se muestran acontinuación:
a ∨ 0 = a a ∧ 0 = 0a ∨ 1 = 1 a ∧ 1 = aa ∨ a = a a ∧ a = aa ∨ a = 1 a ∧ a = 0
Propiedad conmutativaa ∨ b = b ∨ a a ∧ b = b ∧ a
Propiedad asociativaa ∨ b ∨ c = a ∨ (b ∨ c) = (a ∨ b) ∨ ca ∧ b ∧ c = a ∧ (b ∧ c) = (a ∧ b) ∧ c
Propiedad distributivaa ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)
Ley de De Morgana ∨ b = a ∧ b a ∧ b = a ∨ b
Aplicadas al ejemplo citado, se obtiene el siguiente resultado:
y = abcd ∨ abcd ∨ abcd ∨ abcd ∨ abcd ∨ abcd
= abcd ∨ abcd ∨ abcd ∨ abcd ∨ abd(c ∨ c)
= acd(b ∨ b) ∨ abd(c ∨ c) ∨ abd
= acd ∨ abd ∨ abd
= acd ∨ ad(b ∨ b)
= (ac ∨ a)d
= (c ∨ a)d
= cd ∨ ad
Por razones de claridad, el símbolo de la operación AND "∧" ha sidoexpresamente omitido en las ecuaciones indicadas.
El principio básico de la simplificación es sacar el factor común de lasvariables y reducir las expresiones definidas. Sin embargo, este méto-do requiere un buen conocimiento de las propiedades del álgebra deBoole y un cierto grado de práctica. Otra opción para la simplificaciónse presenta en la siguiente sección.
B-29Capítulo 3
Festo Didactic • TP301
En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de laverdad de transforma en una tabla de valores.
3.5 Diagrama deKarnaugh-Veitch
Para el ejemplo se dispone de un total de 16 posiciones, con lo que latabla de valores debe tener también 16 cuadrados.
a b c d y No.
0 0 0 0 0 1
0 0 0 1 1 2
0 0 1 0 0 3
0 0 1 1 0 4
0 1 0 0 0 5
0 1 0 1 1 6
0 1 1 0 0 7
0 1 1 1 0 8
1 0 0 0 0 9
1 0 0 1 1 10
1 0 1 0 0 11
1 0 1 1 1 12
1 1 0 0 0 13
1 1 0 1 1 14
1 1 1 0 0 15
1 1 1 1 1 16Tabla de valores
cd cd cd cd
ab 1 2 3 4
ab 5 6 7 8
ab 9 10 11 12
ab 13 14 15 16Fig. B3.1:Tabla de valores
B-30 Capítulo 3
TP301 • Festo Didactic
El resultado de la tabla de la verdad se transfiere al diagrama KV talcomo se indica en la figura. En principio, de nuevo es posible la repre-sentación en la forma estándar disyuntiva o conjuntiva. Sin embargo,en este ejemplo nos limitaremos a la forma estándar disyuntiva.
El siguiente paso consiste en la combinación de los estados para loscuales se ha introducido un "1" en la tabla de valores. Esto se hace enbloques, observando las siguientes reglas:
La combinación de estados en el diagrama KV debe ser en formade rectángulo o de cuadradoLa cantidad de estados combinados debe ser el resultado de unafunción 2x.
De esto resulta lo siguiente
cd cd cd cd
ab 0 1 0 0
ab 0 1 0 0
ab 0 1 0 1
ab 0 1 0 1 Fig. B3.11:Tabla de valores
cd cd cd cd
ab 0 1 0 0
ab 0 1 0 0
ab 0 1 0 1
ab 0 1 0 1
y1 y2 Fig. B3.12:Tabla de valores
B-31Capítulo 3
Festo Didactic • TP301
Los valores de las variables, se seleccionan para el bloque establecidoy estos a su vez se combinan en forma disyuntiva.
y1 = cd
y2 = acd
y = cd ∧ acd
= (c ∨ ac) ∧ d
= (c ∨ a) ∧ d
= cd ∨ ad
Naturalmente, el diagrama KV no está limitado a 16 casillas. Con 5variables, por ejemplo, se producirían 32 casillas (25) y con 6 variables64 casillas (26).
B-32 Capítulo 3
TP301 • Festo Didactic
Capítulo 4
Diseño y modo de funcionamientode un PLC
B-33Capítulo 4
Festo Didactic • TP301
En los ordenadores, generalmente se distingue entre hardware, firmwa-re y software. Los mismo se aplica a los PLCs, ya que esencialmentetambién están basados en un microprocesador.
4.1 Estructura de un PLC
El Hardware se refiere a las partes físicas del dispositivo, el decir, loscircuitos impresos, los circuitos integrados, el cableado, la batería, elchasis, etc.
El firmware los constituyen aquellos programas (software) que se ha-llan permanentemente instalados en el hardware del ordenador y queson suministrados por el fabricante del PLC. Esto incluye las rutinasfundamentales del sistema, utilizadas para poner en marcha el proce-sador al aplicar la tensión. Adicionalmente, hay el sistema operativoque, en el caso de los controles lógicos programables, generalmentese halla almacenado en una memoria ROM de sólo lectura o en unaEPROM.
Finalmente, hay el software, que es el programa escrito por el usuariodel PLC. Los programas de usuario se instalan generalmente en lamemoria RAM, una memoria de acceso aleatorio, en donde puedenser fácilmente modificados.
La Fig. B4.1 ilustra el diseño fundamental de un microordenador. Elhardware del PLC ö como es el caso de casi todos los sistemas mi-croordenadores actuales – está basado en un sistema de bus. Un sis-tema de bus es un determinado número de líneas eléctricas divididasen líneas de direcciones, de datos y de control. La línea de direccionesse utiliza para seleccionar la dirección de un elemento conectado albus y la línea de datos para transmitir la información requerida. Laslíneas de control son necesarias para habilitar el dispositivo conectadoel bus como emisor o como receptor..
Micro-procesador(CPU)
Bus dedirecciones
Sistemaoperativo
Módulos de entradas
ROM
Programasy Datos
RAM Módulos de salidas
Bus de control
Bus de datos
Fig. B4.1:Diseño fundamental de
un microordenador
B-34 Capítulo 4
TP301 • Festo Didactic
Los principales elementos conectados al sistema de bus son el micro-procesador y la memoria. La memoria puede dividirse en memoria parael firmware y memoria para el programa y los datos del usuario.
Según la estructura del PLC, los módulos de entradas y salidas seconectan a un simple bus común o – con la ayuda de un interface debus – a un bus externo de E/S. Especialmente en el caso de grandessistemas modulares de PLC, es más usual un bus externo de E/S.
Finalmente, se necesita una conexión para el aparato programador oun PC, actualmente y en la mayoría de los casos en forma de uninterface serie.
La Fig. B4.2 ilustra el FPC 101 de Festo como ejemplo.
Fig. B4.2:Control Lógico ProgramableFesto FPC 101
B-35Capítulo 4
Festo Didactic • TP301
En esencia, la unidad central de un PLC consiste en un microordena-dor. El sistema operativo del fabricante del PLC hace que el ordenadorque hay en el PLC esté optimizado específicamente para tareas detecnología de control.
4.2 Unidad Central de un PLC
Diseño de la unidad centralLa Fig. B4.3 muestra una versión simplificada de un microprocesador,que representa el corazón de un microordenador.
Un microprocesador consiste principalmente en una unidad aritmética ylógica, una unidad de control y un pequeño número de unidades dememoria internas, denominadas registros.
La tarea de la unidad aritmética y lógica – la ALU (arithmetic logicunit) – es ejecutar las operaciones lógicas y aritméticas con los datostransmitidos.
El acumulador , AC para abreviar, es un registro especial asignadodirectamente a la unidad ALU. Este almacena tanto los datos a proce-sar como los resultados de una operación.
El registro de instrucciones almacena cada orden o instrucción lla-mada desde la memoria del programa hasta que es decodificada yejecutada.
Una orden o instrucción (command) tiene una parte de ejecución y unaparte de dirección. La parte de ejecución indica qué operación deberealizarse. La parte de dirección define la dirección de los operandos(señales de entrada, flags, etc.) con los que hay que realizar la opera-ción indicada.
Registro de instrucciones
Contador de programa
Bus de controlALU
Acumulador
Unidad aritmética Unidad de control
Bus de control
Bus dedirecciones
Bus de datos
Fig. B4.3:Diseño de un
microprocesador
B-36 Capítulo 4
TP301 • Festo Didactic
El contador de programa es un registro, que contiene la dirección dela siguiente orden a procesar. La sección siguiente tratará este aparta-do con más detalle.
La unidad de control regula y controla toda la secuencia de operacio-nes requeridas para la ejecución de una orden.
Ciclo de instrucciones en la unidad centralLos sistemas microordenadores convencionales de hoy en día funcio-nan según el denominado "principio de von-Neumann". Según esteprincipio, el ordenado procesa el programa línea a línea. En términossencillos, podríamos decir que cada línea del programa de usuario delPLC es procesada secuencialmente.
Esto es válido independientemente del lenguaje de programación en elque haya sido escrito el programa de PLC, sea en forma textual (listade instrucciones) o en forma gráfica (diagrama de contactos, diagramade funciones secuencial). Dado que estas diversas formas de repre-sentación siempre resultan en una serie de líneas de programa dentrodel ordenador, se procesan consecuentemente una tras otra.
En principio, una línea de programa, es decir, generalmente una ordense procesa en dos etapas:
recogida de la orden desde la memoria de programaejecución de la orden
+1
Memoria
Direcciones
Instrucción Registro deinstrucciones
Señales de control
Contador deprograma
Microprocesador
Instrucción
Bus de direcciones
Bus de datos
Fig. B4.4:Secuencia de instrucciones
B-37Capítulo 4
Festo Didactic • TP301
El contenido del contador de programa es transferido al bus de direc-ciones. A continuación, la unidad de control hace que la instrucción enla dirección especificada de la memoria del programa, sea depositadaen el bus de datos. Desde aquí, se lee en el registro de instrucciones.Una vez ha sido decodificada, la unidad de control genera una secuen-cia de señales de control para su ejecución.
Durante la ejecución de un programa, las instrucciones se van a bus-car secuencialmente. Para ello se necesita un mecanismo que permitaesta secuencia. Esta tarea se realiza por un simple incrementador, esdecir, un elemento de habilitación de pasos en el contador de programa.
Los programas para el procesamiento convencional de datos, general-mente se procesan una sola vez, de arriba a abajo y terminan. A dife-rencia de estos, el programa de un PLC se procesado continua y cícli-camente.
4.3 Modo defuncionamientode un PLC
EntradasTabla de imagen
Entradas
Programa PLC
Tabla de imagenSalidas Salidas
Fig. B4.5:Procesamiento cíclico
de un programa de PLC
B-38 Capítulo 4
TP301 • Festo Didactic
Las características del procesamiento cíclico son:
Así que el programa ha sido ejecutado una vez, salta automática-mente al principio y se va repitiendo el proceso continuamente.Antes de que se procese la primera línea del programa, es decir, alinicio del ciclo, el estado de las entradas es almacenado en la tablade imagen de entradas. La imagen del proceso es una zona dememoria aparte a la que se accede durante un ciclo. Así, el estadológico de una entrada permanece constante durante un ciclo, inclu-so aunque en este intervalo haya cambiado físicamente.De forma similar a la entradas, las salidas no son inmediatamenteactivadas o desactivadas durante un ciclo, sino que su estado esalmacenado temporalmente en la tabla imagen de salidas. Solamen-te al final del ciclo se activan o desactivan físicamente las salidassegún el estado lógico almacenado en la memoria.
El procesamiento de una línea de programa a través de la unidad cen-tral de un PLC ocupa un tiempo que, dependiendo del PLC y de lainstrucción que contenga puede variar desde unos pocos microsegun-dos hasta unos pocos milisegundos.
El tiempo requerido por el PLC para una simple ejecución de un pro-grama, incluyendo la actualización de las salidas y la imagen del pro-ceso, se denomina tiempo de ciclo o tiempo de scan. Cuanto máslargo sea el programa y cuanto más tiempo necesite el PLC respectivopara procesar cada línea del programa, tanto más largo será el tiempode ciclo. Los tiempos reales de ciclo varían aproximadamente entre 1 y100 milisegundos.
Las consecuencias del procesamiento cíclico de un programa de PLCque utilice una imagen del proceso son las siguientes:
Las señales de entrada de una duración inferior al tiempo de ciclo,posiblemente no serán reconocidas.En algunos casos, puede haber un retardo de dos ciclos entre lapresencia de una señal de entrada y la deseada reacción de unasalida ante esta señal.Dado que las instrucciones se procesan secuencialmente, el com-portamiento específico de la secuencia de un programa de PLCpuede ser crucial.
En algunas aplicaciones, es esencial que pueda accederse directamen-te a entradas y salidas durante un ciclo. Por ello, este tipo de procesa-miento de programa, saltándose la imagen del proceso, también esposible en algunos sistemas PLC.
B-39Capítulo 4
Festo Didactic • TP301
Los programas específicamente desarrollados para determinadas apli-caciones requieren una memoria de programa, de la cual puedan serleídos por la unidad central. Los requerimientos para tal memoria deprograma son relativamente simples de formular:
4.4 Memoria deprogramas deaplicación
Debería ser lo muy sencilla de modificar o de crear y almacenarnuevos programas con la ayuda de un dispositivo programador o un PC.Debe haber mecanismos que aseguren que el programa no puedaperderse – incluso ante un fallo de tensión o por tensiones de inter-ferenciaLa memoria de programa debe ser económicaLa memoria de programa debería ser suficientemente rápida parano retardar el funcionamiento de la unidad central.
Actualmente, se utilizan tres tipos de memoria en la práctica:
RAMEPROMEEPROM
RAM La memoria RAM (random acceso memory/memoria de acceso aleato-rio) es una memoria muy rápida y económica. Dado que la memoriaprincipal de los ordenadores (y también de los PLCs) consiste en me-morias RAM, se producen en grandes cantidades, lo que le permitedisponer de tales memorias a costes relativamente bajos.
Las RAMs son memorias de lectura/escritura y pueden programarse ymodificarse fácilmente.
La desventaja de una RAM es que es volátil, es decir, el programaalmacenado en la RAM se pierde en el caso de un fallo de tensión.esta es la razón por la cual las RAMs deben estar respaldadas por unabatería, acumulador o pila. Dado que la vida útil y la capacidad de lasmodernas pilas les permiten durar varios años, el respaldo de unaRAM por pila es relativamente simple. A pesar de que se utilizan pilaso baterías de altas prestaciones, es esencial sustituirlas en las fechasindicadas por el fabricante del PLC.
B-40 Capítulo 4
TP301 • Festo Didactic
EPROMLa EPROM (erasable programmable read-only memory /memoria desólo lectura, programable y borrable) también es una memoria rápida yde bajo coste y, en comparación con la RAM tiene la ventaja añadidade que no es volátil, es decir, es remanente. Por ello, el contenido dela memoria permanece inalterable incluso ante un fallo de tensión.
Sin embargo, a efectos de modificar un programa, debe borrarse pri-mero toda la memoria y, tras un tiempo de enfriamiento, reprogramarsecompletamente. El borrado requiere generalmente un dispositivo borra-dor y para su programación se utiliza un dispositivo especial (grabadorde EPROMs).
A pesar de su relativamente complejo proceso de borrado, – enfriado –reprogramación, las EPROMs se utilizan con bastante frecuencia enlos PLCs ya que poseen una gran fiabilidad y un bajo coste. En lapráctica, a menudo se utiliza una RAM durante la fase de programa-ción y puesta a punto de la máquina. Una vez finalizada la puesta enmarcha, el programa se transfiere a una EPROM.
EEPROMLa EEPROM (electrically erasable programmable ROM / ROM progra-mable y borrable eléctricamente ), EEROM (electrically erasable ROM /ROM borrable eléctricamente) y la EAROM (electrically alterable ROM /ROM alterable eléctricamente) o las flash-EPROM han sido utilizadasdesde hace algún tiempo. La EEPROM es especial, es ampliamenteutilizada como memoria de aplicación en PLCs. La EEPROM es unamemoria borrable eléctricamente, que puede reescribirse.
Fig. B4.6:Ejemplo de una EPROM
B-41Capítulo 4
Festo Didactic • TP301
El módulo de entradas de un PLC es el módulo al cual están conecta-dos los sensores del proceso. Las señales de los sensores deben pa-sar a la unidad central. Las funciones importantes de un módulo deentradas (para la aplicación) es como sigue:
4.5 Módulo deentradas
Detección fiable de la señalAjuste de la tensión, desde la tensión de control a la tensión lógicaProtección de la electrónica sensible de las tensiones externasFiltrado de las entradas
El principal componente de los actuales módulos de entradas, quecumple con estos requerimientos es el optoacoplador.
El optoacoplador transmite la información del sensor por medio de laluz, creando así un aislamiento eléctrico entre el control y los circuitoslógicos, protegiendo con ello a la sensible electrónica de las tensionesespúreas externas. Actualmente, los optoacopladores avanzados ga-rantizan protección a picos de aproximadamente 5 kV, lo que es ade-cuado para aplicaciones industriales.
El ajuste de la tensión de control y de lógica , en el caso corrientede una tensión de mando de 24 V, puede realizarse con la ayuda deun circuito diodo/resistencia. En el caso de 220 V AC, se conecta unrectificador en serie.
Dependiendo del fabricante del PLC, se asegura una detección fiablede la señal por medio un detector de umbral adicional o los correspon-dientes de diodos y optoacopladores. Los datos precisos en relacióncon las señales a detectar se especifican en DIN 19240.
Detección de error detensión
Retardo dela señal
Optoacoplador Señal a launidad decontrol
Señal deentrada
Fig. B4.7:Diagrama de bloques
de un módulo de entradas
B-42 Capítulo 4
TP301 • Festo Didactic
El filtrado de la señal emitida por el sensor es crítica en automa-tización industrial. En la industria, las líneas eléctricas están general-mente muy cargadas debido a tensiones de interferencia inductivas,que producen muchas interferencias en las señales. Las líneas de lasseñales pueden protegerse con apantallamientos, canaletas metálicaso, alternativamente, el módulo de entrada del PLC realiza un filtradopor medio de un retardo de la señal de entrada.
Esto necesita que la señal de entrada sea aplicada un período de tiem-po suficientemente largo, antes de que sea reconocida como una señalde entrada. Dado que, debido a su naturaleza inductiva, los impulsosde interferencia son principalmente señales transitorias, es suficienteun retardo de la señal de entrada relativamente corto, del orden demilisegundos, para filtrar la mayor parte de los impulsos parásitos.
El retardo de las señal de entrada se realiza principalmente por hard-ware, es decir, a través de un circuito RC en la entrada del PLC. Sinembargo, en casos aislados, también es posible producir un retardo dela señal por software.
La duración de un retardo de entrada es de aproximadamente entre 1y 20 milisegundos – dependiendo del fabricante y del tipo. Muchosfabricantes ofrecen entradas especialmente rápidas para aquellas ta-reas en las que el retardo de la señal de entrada es demasiado largapara reconocer la señal requerida.
Cuando se conectan sensores a las entradas del PLC, debe distinguir-se entre conexiones de conmutación positiva y de conmutación negati-va. En otras palabras, hay que distinguir entre entradas que repre-sentan un consumo de corriente o una fuente de corriente. En Alema-nia, por ejemplo, cumpliendo con VDI 2880, se utilizan principalmentelas conexiones de conmutación positiva, ya que ello permite la utiliza-ción de un tierra de protección. Conmutación positiva significa que laentrada del PLC representa un drenaje de corriente. El sensor suminis-tra la tensión de funcionamiento o tensión de control a la entrada enforma de señal-1.
Si se utiliza tierra de protección, la tensión de salida del sensor escortocircuitada hacia los 0 voltios o se funde el fusible en caso decortocircuito en la línea de señal. Esto significa que se aplica una lógi-ca 0 en la entrada del PLC.
B-43Capítulo 4
Festo Didactic • TP301
En muchos países, es común utilizar sensores de conmutación negati-va, es decir, las entradas del PLC funcionan como fuente de potencia.En estos casos, deben utilizarse diferentes medidas de protección paraevitar que se aplique una señal 1 a la entrada del PLC en el caso deun cortocircuito en la línea de la señal. Un posible método es la pues-ta a tierra de la tensión de control positiva o la supervisión del aisla-miento, es decir, tierra de protección como medida de protección.
Los módulos de salida llevan las señales de la unidad central a loselementos finales de control, que son activados según la tarea. Princi-palmente, la función de una salida – vista desde la aplicación del PLCincluye lo siguiente:
4.6 Módulo de salida
Ajuste de la tensión desde la tensión lógica a la de controlProtección de la electrónica sensible de tensiones espúreas hacia elcontrolAmplificación de potencia suficiente para el accionamiento de ele-mentos finales de controlProtección de cortocircuito y sobrecarga de los módulos de salida
En el caso de módulos de salida, hay disponibles dos métodos funda-mentalmente diferentes para conseguir lo indicado: El uso de relés ode electrónica de potencia.
El optoacoplador, forma de nuevo la base para la electrónica de poten-cia y asegura la protección de la electrónica y posiblemente también elajuste de la tensión.
Un circuito de protección formado por diodos debe proteger el transis-tor de potencia de los picos de tensión.
Señal dela unidadcentral
Señal desalida
Supervisión decortocircuitoAmplificador
Optoacoplador
Fig. B4.8:Diagrama de bloques
de un módulo de salida
B-44 Capítulo 4
TP301 • Festo Didactic
Actualmente, la protección ante cortocircuito , protección ante so-brecargas y amplificación de potencia , se ofrecen a menudo comomódulos completamente integrados. Las medidas estándar de protec-ción ante cortocircuito miden el flujo de corriente a través de una resis-tencia de potencia para desconectar en caso de cortocircuito; un sen-sor de temperatura proporciona una protección ante sobrecargas; unaetapa de Darlington o una etapa de transistor de potencia proporcionanla potencia necesaria.
La potencia admisible de salida se utiliza específicamente de formaque permita una distinción entre la potencia admisible de una salida yla potencia acumulada admisible de un módulo de salidas. La potenciaacumulada de un módulo de salidas es siempre considerablemente in-ferior a la suma total de la potencia de cada salida, ya que los transis-tores de potencia se transmiten el calor unos a otros.
Si se utilizan relés para las salidas, entonces el relé puede asumirprácticamente todas las funciones de un módulo de salida: El contactodel relé y la bobina del relé están eléctricamente aislados uno de otra;el relé representa un excelente amplificador de potencia y está espe-cialmente protegido de sobrecargas, con lo que solamente debe pre-verse una protección ante cortocircuito con un fusible. Sin embargo, enla práctica se conectan optoacopladores en serie con el relé, ya queello facilita el accionamiento del relé y pueden utilizarse relés más sen-cillos.
Las salidas por relé, tienen la ventaja de que pueden utilizarse paradiferentes tensiones de salida. En contraste, las salidas electrónicastienen velocidades de conmutación considerablemente más elevadas yuna vida útil más larga que la de los relés. En muchos casos, la poten-cia de relés muy pequeños utilizados en los PLCs, corresponde a la delas etapas de potencia de las salidas electrónicas.
En Alemania, por ejemplo, las salidas también se conectan a conmuta-ción positiva, según VDI 2880, es decir, la salida representa una fuentede potencia y suministra la tensión de funcionamiento para el dispositi-vo consumidor.
En el caso de un cortocircuito de la línea de señal de salida a tierra, lasalida se cortocircuita si se utilizan medidas normales de puesta a tie-rra de protección. La electrónica conmuta a protección de cortocircuitoo se funde el fusible, es decir, el dispositivo consumidor no puede dre-nar corriente por lo que se desconecta y queda en estado seguro. (Deacuerdo con DIN 0113, el estado de seguridad debe ser siempre elestado sin energía.)
B-45Capítulo 4
Festo Didactic • TP301
Si se utilizan salidas de conmutación negativa, es decir, la salida repre-senta un drenaje de corriente, deben adoptarse medidas de proteccióndel tal forma que el dispositivo consumidor quede en un estado seguroen el caso de cortocircuito en la línea de señal. De nuevo, un tierra deprotección con supervisión del aislamiento o la neutralización de la ten-sión de control positiva son prácticas estándar en este caso.
Cada PLC tiene una herramienta de diagnosis y programación parasoportar la aplicación del PLC
4.7 Dispositivoprogramador /Ordenadorpersonal
ProgramaciónVerificaciónPuesta puntoLocalización de averíasDocumentación del programaAlmacenamiento del programa
Estas herramientas de programación y diagnosis son o bien dispositi-vos de programación específicos del fabricante u ordenadores perso-nales con su software correspondiente. Actualmente, estos últimos soncasi exclusivamente las variantes preferidas, ya que la enorme capaci-dad de los modernos PCs, combinada con su comparativamente bajocoste inicial y alta flexibilidad, representan ventajas cruciales.
También se han desarrollado los denominados programadores demano para pequeños sistemas de control y para tareas de manteni-miento. Con la creciente utilización de ordenadores personales portáti-les (LapTop), funcionando con baterías, la importancia de los progra-madores de mano disminuye paulatinamente.
B-46 Capítulo 4
TP301 • Festo Didactic
Las funciones esenciales del sistema de software forman parte de laherramienta de programación y diagnosisCualquier software de programación según IEC 1131-1 deben propor-cionar al usuario una serie de funciones. Así, el software de programa-ción comprende módulos de software para:
Introducción de programasCreación y modificación de programas en uno de los lenguajes deprogramación del un PLC
Verificación de la sintaxisComprobación de la sintaxis del programa y los datos, minimizandoasí la introducción de programas defectuosos.
TraductorTraducción del programa introducido en un programa que puede serleido y procesado por el PLC, es decir, la generación del códigomáquina del correspondiente PC.
Conexión entre PLC y PCA través de este enlace se realiza la carga de los programas al PLCy la ejecución de funciones de verificación
Funciones de verificaciónAyuda al usuario durante la escritura y en la eliminación de fallos yverificación a través de:
una verificación del estado de las entradas, salidas temporizado-res, contadores, etc.verificación de secuencias de programa por medio de operacio-nes de paso a paso, órdenes de STOP, etc.simulación por medio de activación manual de entradas/salidas,establecimiento de valores, etc.
Indicación del estado de sistemas de controlEmisión de información relacionada con la máquina, proceso y esta-do del sistema PLC:
Indicación del estado de señales de entrada y salidaRegistro/indicación de cambios de estado en señales externas ydatos internosSupervisión de los tiempos de ejecuciónFormato en tiempo real de la ejecución del programa
B-47Capítulo 4
Festo Didactic • TP301
DocumentaciónCreación de una descripción del sistema PLC y el programa delusuario. Esto consiste en:
Descripción de la configuración del hardwareImpresión del programa de usuario con los correspondientes da-tos e identificadores para las señales y comentariosLista de referencias cruzadas para todos los datos procesadostales como entradas, salidas, temporizadores, etc.Descripción de las modificaciones
Archivado del programa de usuarioProtección del programa de usuario en memorias no volátiles talescomo EPROM, etc.
B-48 Capítulo 4
TP301 • Festo Didactic
Capítulo 5
Programación de un PLC
B-49Capítulo 5
Festo Didactic • TP301
Los programas de control representan un componente importante enun sistema de automatización.
5.1 Búsqueda de una soluciónsistemática
Los programas de control deben ser diseñados sistemáticamente, bienestructurados y completamente documentados, para que sean:
libres de errores,fáciles de mantener yeconómicos
Modelo de fases para la generación de software para PLCEl procedimiento para el desarrollo de un programa de PLC que semuestra en la fig. B5.1 ha sido probado y verificado. La división ensecciones definidas conduce a un funcionamiento sistemático y objeti-vado, y proporciona una disposición de resultados clara, que puedeverificarse en relación con la tarea.
El modelo de fases consiste en las siguientes secciones:
Especificación: Descripción de la tareaDiseño: Descripción de la soluciónRealización: Puesta en práctica de la soluciónIntegración/puesta a punto: Incorporación en el entorno y verifica-ción de la solución,
que básicamente pueden aplicarse a todos los proyectos técnicos. Seproducen diferencias en los métodos y herramientas utilizados en lasfases individuales.
Especificación - Descripción verbal de la tarea de control- Tecnología, croquis de situación- Macroestructura de los programas de control
1.
Diseño - Diagrama de funciones según IEC 848- Diagrama de funciones, tal como el Diagrama espacio-tiempo- Tabla de funciones- Definición de los módulos de software- Lista de piezas y esquemas del circuito
2.
Realización - Programación en LD, FBD, IL, ST y/o SFC- Simulación de subprogramas y del conjunto de programas
3.
Puesta a punto - Construcción del sistema- Verificación de los subprogramas- Verificación del conjunto de programas
4.
Fig. B5.1:Modelo de fases para
la generación desoftware de PLC
B-50 Capítulo 5
TP301 • Festo Didactic
El modelo de fases puede aplicarse a programas de control de comple-jidad diversa; para tareas de control complejas, es absolutamenteesencial la utilización de tales modelos.
Las fases individuales del modelo se describen abajo.
Fase 1: Especificación (Formulación del problema)En esta fase, se formula una descripción detallada y precisa de la ta-rea de control. La descripción específica de la función del sistema decontrol, formalizada al máximo, revela cualquier requerimiento conflicti-vo, especificaciones incompletas o equivocadas.
Al final de esta fase se dispone de lo siguiente:
Descripción escrita de la tarea de controlEstructura/distribuciónMacroestructuración del sistema o proceso y con ello un esbozo dela estructura de la solución.
Fase 2: Diseño (Forma concreta del concepto de la solución)Un concepto de solución se desarrolla basándose en las definicionesestablecidas en la fase 1. El método utilizado para describir la solucióndebe proporcionar un gráfico y una descripción orientada al proceso, ala función y comportamiento del sistema de control, y debe ser inde-pendiente de la realización técnica.
Estos requerimientos se cumplen con el diagrama de funciones (FCH)según define DIN 40 719, Parte 6 o IEC 848. Empezando con unarepresentación de una visión de conjunto del control (esbozo de la es-tructura de la solución), la solución puede refinarse paso a paso hastaque se obtenga un nivel de descripción que contenga todos los deta-lles de la solución (refinamiento de un esbozo de estructura).
En el caso de tareas de control complejas, la solución es estructurada,en paralelo con esto, en módulos de software individuales. Estos mó-dulos de software realizan las etapas de trabajo del sistema de control.Estos pueden ser funciones especiales como la realización de un inter-face para la visualización del proceso, o sistemas de comunicación, oincluso etapas de trabajo recurrentes permanentemente.
El diagrama desplazamiento-fase, representa otra forma estándar parala descripción de sistemas de control aparte del diagrama de funcionessegún DIN 40 719, Parte 6.
B-51Capítulo 5
Festo Didactic • TP301
Fase 3: Realización (Programación del concepto de la solución)La traducción del concepto de la solución en un programa de controlse realiza a través de los lenguajes de programación definidos en IEC1131-3. Estos son: diagrama de funciones secuencial, diagrama debloques de función, diagrama de contactos, lista de instrucciones y tex-to estructurado.
Los sistemas de control que funcionan en un proceso tiempo/lógica yestán disponibles en FCH según DIN 40 719, P.6, pueden ser clara yfácilmente programados en diagrama de funciones secuencial. Un dia-grama de funciones secuencial, en la medida de los posible, utiliza losmismos componentes para la programación que los utilizados para ladescripción en el diagrama de funciones según DIN 40 719, P.6.
Diagrama de contactos, diagrama de bloques de función y lista de ins-trucciones son los lenguajes de programación adecuados para la for-mulación de operaciones básicas y para sistemas de control que pue-den ser descritos por simples señales lógicas combinadas por opera-ciones booleanas.
El lenguaje de alto nivel denominado ’texto estructurado’ se utiliza prin-cipalmente para crear módulos de software de contenido matemático,tales como módulos para la descripción de algoritmos de regulación.
En la medida en que los sistemas de programación de PLCs lo permi-tan, los programas de control o parte de los programas creados, debe-rían ser simulados antes de la puesta a punto. Esto permite la detec-ción y eliminación de errores ya en una etapa inicial.
Fase 4: Puesta a punto(Construcción y verificación de una tarea de control)Esta fase verifica la interacción del sistema de automatización y laplanta conectada. En casos de tareas complejas, es aconsejable ponera punto el conjunto de forma sistemática, paso a paso. Los fallos, tantoen el sistema como en el programa de control, pueden hallarse y elimi-narse fácilmente utilizando este método.
B-52 Capítulo 5
TP301 • Festo Didactic
DocumentaciónUn componente importante y crucial de un sistema es la documenta-ción, ya que es un requerimiento esencial para el mantenimiento y am-pliación de un sistema. La documentación, incluyendo los programasde control, debería estar disponible tanto en papel como en un soportede almacenamiento de datos. La documentación consiste en la infor-mación sobre las fases individuales, listados del programa de control yde cualquier información adicional posible concerniente al programa decontrol. Individualmente estos son:
Descripción del problemaCroquis de situaciónEsquema del circuitoEsquema técnicoListados del programa de control en SFC, FBD, etc.Lista de asignaciones de entradas y salidas(esto también forma parte de los listados del programa de control)Documentación adicional
IEC 1131-3 es un estándar para la programación, no sólo de un PLCindividual, sino también para sistemas de automatización complejos.Los programas de control para grandes aplicaciones deben ser clara-mente estructurados para ser inteligibles, fáciles de mantener y si esposible también portátiles, es decir, transferibles a otros sistema de PLC.
5.2 Recursos deestructuraciónIEC 1131-3
Las definiciones se necesitan no sólo para las instrucciones de lengua-je elemental, sino también para los elementos de lenguaje para estruc-turación. Los recursos de estructuración (fig. B5.2) se refieren a pro-gramas de control y a la configuración del sistema de automatización.
� Configuración de un sistema de automatización
RECURSO DECONFIGURACIÓNTAREAVAR_GLOBALRUTA_ACCESO
Estructuracióndel nivel deconfiguración
� Representación de la secuencia� Refinamiento
Diagrama de funcionessecuencial
� Modularización
PROGRAMABLOQUE-FUNCIÓNFUNCIÓNTIPO-DATOS
Estructuracióndel nivel deprograma
Fig. B5.2:IEC 1131-3método de estructuración
B-53Capítulo 5
Festo Didactic • TP301
Recursos de estructuración del programaLos recursos de estructuración – programa, bloque de funciones y fun-ción – contienen la verdadera lógica de control (reglas) del programade control. Estos se conocen también como unidades de organizacióndel programa. Estos recursos de estructuración están disponibles paracualquier lenguaje de programación. Se utilizan para la modularizaciónde programas de control y del programa de usuario – esto concierneprincipalmente a programas y bloques de función – o también suminis-trados por el fabricante – en lo que se refiere a programas y bloquesde función.
IEC 1131-3 define un amplio juego que funciones y bloques de funciónestandarizados. Estos pueden ser ampliados por funciones propias delusuario, para tareas especiales o de continua recurrencia.
Los módulos de software, que pueden utilizarse de diversas maneras,se introducen en librerías, de las que puede disponerse en cualquiermomento.
Los programas representan la capa más exterior de la organización delprograma y pueden diferenciarse del bloque de función principalmentepor el hecho de que no pueden ser invocados por ninguna otra unidadde organización del programa.
El diagrama de funciones secuencial representa otro recurso para laestructuración de un programa. Los contenidos de los programas re-ales y los bloques de función pueden de nuevo representarse clara einteligiblemente por medio de un diagrama de funciones secuencial.
Recursos de estructuración a nivel de configuraciónLos elementos de lenguaje para configuración describen la incorpora-ción de programas de control en el sistema de automatización y sucontrol en relación con el tiempo.
El sistema de automatización representa una configuración (elementodel lenguaje CONFIGURACION). Dentro de la configuración hay lasvariables globales (elemento de lenguaje VAR_GLOBAL).
B-54 Capítulo 5
TP301 • Festo Didactic
Un recurso (elemento de lenguaje RECURSO) corresponde al procesa-dor de un sistema multiprocesador, al cual se asignan uno o variosprogramas. Además, comprende elementos de control, que incluyen elcontrol de programas en relación con el tiempo. Este elemento de con-trol es una tarea (elemento de lenguaje TAREA). El elemento de con-trol Tarea define si un programa debe procesarse cíclicamente o sólouna vez, disparado por un evento específico. Los programas que noestán específicamente enlazados a una tarea son procesados cíclica-mente en segundo plano y con la prioridad más baja.
Los recursos de estructuración para la configuración se muestran enun resumen combinado en la fig. B5.3. A continuación se explica elejemplo que aplica este concepto a una tarea de automatización.
La tarea planteada es la de diseñar y automatizar una línea de produc-ción para el montaje de válvulas neumáticas.
Se ha elegido un PLC multiprocesador con tres tarjetas de procesadorpara el montaje de las válvulas. Las tarjetas de procesador están asig-nadas al montaje de las válvulas, el control del transportador y el con-trol de calidad.
Configuración de la fabricación de válvulas
Tarea_1 Tarea_2
Programamontaje
Programaposición_inicial
Programatransportador
Programatransp_vacío
Recursocontrol transportador
Tarea_cíclica
Programaenvasado
Recursocontrol de calidad
Tarea_unica
Programaestadísticas
ProgramaGuarda_datos
Variables globales y directamente representadas
Recursomontaje de válvulas
Fig. B5.3:Ejemplo gráfico deuna configuraciòn
B-55Capítulo 5
Festo Didactic • TP301
Los programas Estadísticas y Guarda_datos está asociados con dife-rentes tareas. Como tales, poseen diferentes características de ejecu-ción. El programa Estadísticas evalúa y comprime los datos de calidada intervalos regulares. La prioridad de este programa es baja. Se poneen marcha regularmente, p. ej. cada 20 minutos, por la tarea Tarea_cí-clica. En el caso de un PARO DE EMERGENCIA, el programaGuarda_datos transmite todos los datos disponibles a un ordenador decélula de nivel superior para prevenir cualquier posible pérdida de da-tos. El programa se pone en marcha activado por un evento de la másalta prioridad con la señal de PARO DE EMERGENCIA.
IEC 1131-3 proporciona interfaces definidos y por lo tanto estandariza-dos para el intercambio de datos dentro de una configuración. Si serequiere información específica, tal como la lectura de una variable, endiferentes unidades de organización de programas, esta variable esdesignada como variable global. Entonces los datos pueden ser inter-cambiados con una variable designada como tal. A las variables globa-les sólo se puede acceder desde programas y bloques de función.
Lo que tiene interés para sistemas en red es la comunicación más alláde una configuración. Para ello, están a disposición del usuario blo-ques de funciones de comunicación estandarizados. Estos se definenen IEC 1131-5 y se utilizan en IEC 1131-3. Otra posibilidad es ladefinición de rutas de acceso (recurso de lenguaje RUTA_ACCESO)para variables específicas. Estas también pueden ser leídas o escritasdesde otras posiciones.
IEC 1131-3 define cinco lenguajes de programación. Aunque la funcio-nalidad y estructura de estos lenguajes es muy diferente, son tratadoscomo una sola familia de lenguajes por IEC 1131-3, con elementos deestructura solapados (declaración de variables, partes de organizacióntales como funciones y bloques de función, etc.) y elementos de confi-guración.
5.3 Lenguajes deprogramación
Los lenguajes pueden mezclarse de cualquier forma dentro de un pro-yecto de PLC. La unificación y estandarización de estos cinco lengua-jes representa un compromiso de requerimientos históricos, regionalesy específicos de cada sector. Se ha previsto la futura expansión (talcomo el principio de bloque de función o el lenguaje de Texto Estructu-rado); además, se ha incorporado la información necesaria sobre deta-lles tecnológicos (tipo de datos, etc.)
B-56 Capítulo 5
TP301 • Festo Didactic
Los elementos del lenguaje son explicados con la ayuda de un procesode mecanizado involucrado en la producción de válvulas. Se utilizandos sensores para establecer si una pieza con los talados correcta-mente realizados está disponible en la posición de mecanizado. Si laválvula a mecanizar es del tipo A o el tipo B – esto se establece condos interruptores selectores – el cilindro avanza y mete la funda en eltaladro realizado.
El Diagrama de contactos o Diagrama en escalera (Ladder diagram) LDEl Diagrama de contactos es un lenguaje de programación gráfico deri-vado de los esquemas de circuitos de los mandos por relés directa-mente cableados. El diagrama de contactos contiene líneas de alimen-tación a derecha e izquierda del diagrama; a estas líneas están conec-tados los reglones, que se componen de contactos (normalmenteabiertos y normalmente cerrados) y de elementos de bobina.
Diagrama de bloques de función (Function block diagram) FBDEn el diagrama de bloques de función, las funciones y los bloques defunción están representados gráficamente e interconectados en redes.El diagrama de bloques de función tiene su origen en el diagrama lógi-co que se utiliza en el diseño de circuitos electrónicos.
Pieza_TipoA Pieza_presente Taladro_ok Mete_funda
Pieza_TipoB
Fig. B5.4:Ejemplo del lenguaje endiagrama de contactos
OR
Pieza_TipoB
AND Mete_funda
Pieza_presente
Taladro_ok
Pieza_TipoA
Fig. B5.5:Ejemplo del lenguaje enbloques de funciones
B-57Capítulo 5
Festo Didactic • TP301
Lista de Instrucciones (Statement list o Instruction List) ILLa lista de instrucciones es un lenguaje textual tipo assembler, caracte-rizado por un modelo de máquina simple (procesador con un sólo re-gistro). La lista de instrucciones se formula a partir de instrucciones decontrol consistentes en un operador y un operando.
En lo que se refiere a filosofía de lenguaje, el diagrama de contactos,el diagrama de bloques de función y la lista de instrucciones han sidodefinidos en la forma en que son utilizados en la actual tecnología dePLC. Sin embargo, están limitados a las funciones básicas en lo queconcierne a sus elementos. Esto los aparta esencialmente de los dia-lectos que las empresas utilizan en la actualidad. La competitividad deestos lenguajes es mantenida debido al uso de bloques y bloques defunción.
Texto estructurado (Structured text) STEl texto estructurado es un lenguaje de alto nivel basado en Pascal,que consiste en expresiones e instrucciones. Las instrucciones puedendefinirse principalmente como: Instrucciones de selección, tales comoIF...THEN...ELSE, etc, instrucciones de repetición tales como FOR,WHILE etc. y llamadas a bloques de función.
El texto estructurado permite la formulación de numerosas aplicacio-nes, más allá de la pura tecnología de funciones, tales como algorit-mos (algoritmos de regulación de nivel superior, etc.) y manejo de da-tos (análisis de datos, procesamiento de estructuras de datos comple-jas, etc.)
LD Pieza_TipoAOR Pieza_TipoBAND Pieza_presenteAND Taladro_okST Mete_funda
Fig. B5.6:Ejemplo de lenguaje en
lista de instrucciones
Mete_funda := (Pieza_TipoA OR Pieza_TipoB) AND Pieza_presente AND Taladro_OK;Fig. B5.7:Ejemplo de lenguaje en
texto estructurado
B-58 Capítulo 5
TP301 • Festo Didactic
Diagrama de funciones secuencial (Sequential function chart) SFCEl diagrama de funciones secuencial (casi idéntico al GRAFCET fran-cés) es un recurso de lenguaje para la estructuración de los programasde control orientados a secuencias.
Los elementos del diagrama de funciones secuencial son las etapas,las transiciones y las derivaciones alternativas y en paralelo.
Cada etapa representa un estado del proceso de un programa de con-trol, que se halla activo o inactivo. Una etapa consiste en accionesque, al igual que las transiciones, están formuladas en los lenguajesIEC 1131-3. Las propias acciones pueden contener de nuevo estructu-ras secuenciales. Esta característica permite la estructura jerárquica deun programa de control. Por lo tanto, el diagrama de funciones secuen-cial es una herramienta excelente para el diseño y la estructuración deprogramas de control.
B-59Capítulo 5
Festo Didactic • TP301
B-60 Capítulo 5
TP301 • Festo Didactic
Capítulo 6
Elementos comunes de loslenguajes de programación
B-61Capítulo 6
Festo Didactic • TP301
Según IEC 1131-3, sólo las entradas, las salidas y los elementos dememoria pueden ser direccionados directamente por un programa decontrol. En este caso, el direccionamiento directo significa que en elprograma, una entrada, salida o elemento de memoria del control estáafectado inmediatamente y no indirectamente a través de una variablesimbólica definida. Naturalmente, IEC 1131-3 reconoce muchos otrosrecursos, p. ej. temporizadores y contadores. Sin embargo, estos estánintegrados en funciones y bloques de función para asegurar el másalto grado posible de portabilidad del programa de control entre losdiferentes sistemas.
6.1 Recursos de un PLC
Entradas, salidas y la memoriaLos constituyentes más importantes de un control incluyen las entra-das, salidas y la memoria. Sólo a través de estas entradas puede uncontrol recibir información de los procesos conectados. De forma simi-lar, sólo puede influir en ellos a través de sus salidas o almacenarinformación para la subsecuente continuación del proceso.
Las denominaciones para los recursos entradas, salidas y elementosde memoria, están definidos por IEC 1131-3 y son obligatorios..
Sin posteriores referencias, estos designan sólo entradas y salidas bi-narias y elementos de memoria de un sólo bit, designados como flags(también denominado marcas).
El estándar habla generalmente de variables representadas directa-mente. Estas son variables que están referidas directamente a las en-tradas, salidas y elementos de memoria del control disponibles, relacio-nadas con el hardware. La asignación de entradas, salidas y memorias(flags), y su posición física o lógica en el sistema de control es definidopor el correspondiente fabricante del control.
Entradas(Inputs)
I
Salidas(Outputs)
Q
Memorias(Memory)
M
Fig. B6.1:Designaciones paraEntradas, Salidas y
Memoria
B-62 Capítulo 6
TP301 • Festo Didactic
Siempre que el control lo soporte, pueden direccionarse recursos queexcedan de un bit. IEC 1311-3 emplea otra letra para decribirlos, quesigue a la abreviación I, Q y M y, por ejemplo, designa bytes y words.
IEC 1131-3 designa los tipos de datos mostrados en la fig. B6.2 enrelación con las entradas, salidas y flags.
Los tamaños de 1 bit, tal como describe el tipo de datos BOOL (boo-leana) solamente pueden asumir los valores 0 ó 1. Consecuentemente,el margen de valores para un dato del tipo BOOL consiste en dosvalores "0" y "1".
A diferencia de esto, hay que destacar que en el caso de los tipos dedatos de secuencia de bits, que consisten en más de un bit, no hay unrango de valores relacionado inmediatamente. Todos los tipos de datosde secuencias de bits, tales como p. ej. BYTE y WORD son meramen-te una combinación de varios bits. Cada uno de estos bits tiene elvalor 0 ó 1, pero su combinación no tiene su propio valor.
Los métodos de designación obligatorios para entradas, salidas y flagsde diferentes longitudes de bits están representados en la fig. B6.3.
BOOL Secuencia de bits de longitud 1
BYTE Secuencia de bits de longitud 8
WORD Secuencia de bits de longitud16Fig. B6.2:Tipos de datos
I, Q, Mo bienIX, QX, MX
Bit de entrada, bit de salida, bit de memoria 1 bit
IB, QB, MB Byte de entrada, byte de salida, byte de memoria 8 bit
IW, QW, MW Word de entrada, word de salida, word de memoria 16 bit
Fig. B6.3:Designación paraEntradas, Salidas yMemorias
B-63Capítulo 6
Festo Didactic • TP301
Un bit individual de una entrada, salida o flag también puede ser direc-cionado sin la abreviación adicional X para el tipo de dato.
Como sea que los controles siempre tienen un número relativamentegrande de entradas, salidas y flags disponibles, estos deben ser espe-cialmente identificados a efectos de diferenciación. Para ello se utilizala numeración indicada por IEC 1131-3, como en el siguiente ejemplo:
IEC 1131-3 no especifica el margen de números que se permite paraesta numeración ni si deben empezar por 0 ó por 1. Esto lo especificael fabricante del control.
También deben utilizarse una cantidad jerárquica de entradas, salidasy flags, si el control utilizado ha sido adecuadamente configurado.
Se utiliza un punto para separar los niveles individuales de la jerarquía.El número de niveles de jerarquía no ha sido definido.
En el caso de numeración jerárquica, la posición más alta en el núme-ro de la izquierda debe ser codificado, los números que siguen a laderecha representan consecutivamente las posiciones más bajas.
I3.8.5Ejemplo
I1 Entrada 1
IX9 Entrada 9
I15 Entrada 15
QW3 Word de salida 3
MB5 Byte de memoria 5
MX2 Memoria 2
B-64 Capítulo 6
TP301 • Festo Didactic
La estrada especificadas I3.8.5 puede por lo tanto representar:
IEC 1131-4 no hace ningún comentario en relación con la asignaciónde bits individuales en un BYTE o WORD. Los fabricantes de los con-troles a menudo eligen métodos de designación jerárquica para asignarbits individuales como partes de words. Así, F6.2 podría representar,por ejemplo, el bit número 2 de la flag word número 6. Sin embargo,esto no tiene que ser necesariamente así, ya que el flag bit F6.2 y laflag word FW6 no necesariamente tienen que estar conectadas de al-guna forma. Además, no se ha hecho ninguna definición sobre si lanumeración de los bits individuales en una word deben empezar por laderecha o por la izquierda (hasta ahora, el bit número 0 en el extremoderecho ha sido el más frecuentemente utilizado)
Variables directamente direccionadasSi los recursos en un programa de control deben ser direccionadosdirectamente, a la designación del recurso debe anteponerse el recur-so %.
Ejemplos de variables directamente direccionables:
El uso de variables directamente direccionadas solamente es permisi-ble en programas, configuraciones y recursos.
Las unidades de organización de programas Función y Bloque de Fun-ción deben operar exclusivamente con variables simbólicas, para man-tener el programa lo más independiente posible del control y, con ello,lo más ampliamente utilizable.
Entrada
en inserto No. 3
en tarjeta No. 8
como Entrada No. 5
I 3. 8. 5Fig. B6.4:Estructura de lasdesignaciones jerárquicas
%IX12o%I12
Bit de entrada 12
%IW5 Word de Entrada 5
%QB8 Byte de Output 8
%MW27 Word de Memoria 27
B-65Capítulo 6
Festo Didactic • TP301
La utilización de variables representadas exclusiva y directamente (re-cursos, entradas, salidas y memoria) no es suficiente para crear pro-gramas de control. Frecuentemente, se requieren datos, que contieneninformación específica, también de una naturaleza más compleja. Es-tos datos pueden ser especificados directamente, es decir, datos detiempo o valores de recuento, o accesibles sólo a través de variables –es decir, a través de una representación simbólica. Las definicionesmás importantes para tratar con datos o variables se indica abajo.
6.2 Variables y tipos de datos
Direccionamiento simbólicoUn identificador simbólico siempre consiste en una letra mayúscula ominúscula, dígitos y un guión de subrayado. Un identificador debe em-pezar siempre con una letra o un guión de subrayado. El guión desubrayado puede utilizarse para hacer más leíble un identificador. Sinembargo, es un carácter significativo. Por ello, los dos identificadoresMarcha_motor y Marchamotor son diferentes. No se permiten variosguiones de subrayado. Si el control permite letras mayúsculas y minús-culas, su utilización indistinta no debe tener significación alguna. Losdos identificadores MARCHAMOTOR y Marchamotor se interpretanidénticamente y designan el mismo objeto.
Los siguientes identificadores no son permisibles:
Además, los identificadores simbólicos no deben ser idénticos que laspalabras clave. Como regla, las palabras clave son palabras reserva-das para tareas específicas.
Representación de datosEn un programa de control, debe ser posible especificar valores detiempo, de recuento, etc.
Consecuentemente, IEC 1131-3 ha establecido las definiciones para larepresentación de los datos a especificar
Valores de recuentoValores de tiempoCadenas
123 El nombre no empieza con una letra
Button_? El último carácter no es válido ya queno es ni una letra ni un número
B-66 Capítulo 6
TP301 • Festo Didactic
IEC 1131-3 prevé diferentes tipos de datos de tiempo:
Duración, es decir, para medición de resultadosFechaHora del día, p. ej. para sincronización desde el inicio o el final deun evento (también juntamente con la fecha)
La especificación de la duración de un tiempo consiste en una parteintroductoria, la palabra clave T# o t#, y una secuencia de seccionesrelacionadas con el tiempo – es decir, días, horas, minutos, segundosy milisegundos.
Descripción Ejemplos
Enteros 12, -8, 123_456*, +75
Números en coma flotante -12.0, -8.0, 0.123_4*
Números de base 2(Números binarios)
2#1111_11112#1101_0011
(255 decimal)(211 decimal)
Números de base 8(Números octales)
8#3778#323
(255 decimal)(211 decimal)
Números de base 16(Números hexadecimales)
16#FF o 16#ff16#D3 o 16#d3
(255 decimal)(211 decimal)
Cero y Uno Booleanos 0, 1
* El uso de subrayados entre dígitos es permisible para mejorar lalegibilidad. Sin embargo, el subrayado no es significativo.
Tabla B6.1:Representación de datos numéricos
Descripción Ejemplos
Duración de tiempo T#18ms, t#3m4s, t#3.5st#6h_20m_8sTIME#18ms
Fecha D#1994-07-21DATE#1994-07-21
Hora del día TOD#13:18:42.55TIME_OF_DAY#13:18:42.55
Fecha y Hora DT#1994-07-21-13:18:42.55DATE_AND_TIME#1994-07-21-13:18:42.55
Tabla B6.2:Representación de tiempo,fecha y hora
B-67Capítulo 6
Festo Didactic • TP301
Abreviaciones para datos de tiempo:
También pueden utilizarse mayúsculas en lugar de minúsculas y guio-nes de subrayado para mejorar la lectura del dato.
También IEC 1131-3 ha especificado un formato fijo para la indicaciónde una fecha, hora del día o una combinación de ambos. Cada especi-ficación empieza con una palabra clave; la información real se repre-senta como se muestra en la tabla B6.2.
Otro método importante de representación de fechas es el uso de unasecuencia de caracteres también conocida como cadena, que puedeser requerida para el intercambio de información, es decir, entre dife-rentes controles, con otros componentes de un sistema de automati-zación o también para la programación de textos para visualización enel control y en dispositivos de visualización.
Una cadena consiste en ninguno o varios caracteres, que empiezan yterminan con una coma volada.
Ejemplo Descripción
’B’ Cadena de longitud 1, conteniendo el carácter B
’Atención’ Cadena de longitud 7, conteniendo el mensaje Atención
’’ cadena vacíaTabla B6.3:
Representación de cadenas
d Dias
h Horas
m Minutos
s Segundos
ms Milisegundos
B-68 Capítulo 6
TP301 • Festo Didactic
Tipos de datosIEC 1131-3 define un gran número de tipos de datos para diferentestareas. Uno de estos tipos de datos, BOOL, ya ha sido mencionado.Una variable del tipo BOOL asume el valor 0 ó bien el valor 1.
Otros dos importantes tipos de datos, denominados INT e UINT defi-nen números enteros. Las variables del tipo de datos INT (integer/en-tero) permiten valores numéricos de -32 768 hasta +32 767. El margende valores del tipo de dato INT cubre tanto valores negativos comopositivos. Las variables del tipo UNIT (unsigned integer/entero sin sig-no) sólo permiten valores positivos. El margen de valores para lasUINT va desde 0 a 65 535. SINT (short integer/entero corto) y DINT(double integer/entero doble) son tipos de datos adicionales que defi-nen números enteros. Sin embargo, estos tiene un margen de valoresinferior o superior que el tipo de datos INT. El tipo de datos REALcontiene números en coma flotante. Estos son números que puedencontener lugares tras la coma, tales como el 3,24 ó -1,5. El tipo dedatos TIME se utiliza para especificar el tiempo, y puede contener unaduración de tiempo como por ejemplo: 2 minutos y 30 segundos.
Palabra clave Tipo de Dato Margen de valores
BOOL Número Booleano 0, 1
SINT Entero corto 0 a 255
INT Entero -32 768 a +32 767
DINT Entero doble -2 147 483 648 a +2 147 483 647
UINT Entero sin signo 0 a 65 535
REAL Número en coma flotante +/-2.9E-39 a +/-3.4E+38
TIME Duración de tiempo dependiendo de la implementación
STRING Cadena de longitud variable dependiendo de la implementación
BYTE Secuencia de 8 bits sin rango de valores declarable
WORD Secuencia de 16 bits sin rango de valores declarable
Tabla B6.4:Un número de tipos dedatos elementales
B-69Capítulo 6
Festo Didactic • TP301
Aparte de estos tipos de datos predefinidos elementales, el usuariotiene la posibilidad de definir sus propios tipos de datos. Esto es útil encasos en donde la definición del problema va más allá del ámbito de lapura tecnología de control.
Los tipos de datos derivados se declaran dentro de la construcciónTYPE...END_TYPE. La declaración completa se indica abajo para laenumeración del tipo Color en la tabla B6.5:
El significado de los tipos de datos individuales en la tabla B6.5 seexplica brevemente abajo:
Un dato del tipo Color solamente puede asumir uno de los valoresROJO, VERDE, AMARILLO o NEGRO.Un dato del tipo Margen_referencia sólo puede asumir valores entre80 y 110, incluyen los límites inferior y superior 80 ó 110. Un dato del tipo Posicion, representa una lista con 10 entradas.Cada entrada tiene el valor de un número REAL. Con este índicepueden indexarse las entradas individuales.Un elemento del tipo de datos Coordenadas contiene dos númerosREAL, a los que puede accederse a través de sus nombres X e Y.
No todos los controles necesitan reconocer todos estos tipos de datos.Cada fabricante dispone un juego de tipos de datos, que pueden utili-zarse en el correspondiente control.
Tipo de dato derivado DeclaraciónTYPE … END_TYPE
Tipo de enumeración Color: (ROJO, AZUL, AMARILLO, NEGRO);
Tipo de subrango Margen_referencia: INT(80..110);
Campos (array) Posicion: ARRAY[1..10] OF REAL;
Estructuras Coordenadas:STRUCT
X:REAL;Y:REAL;
END_STRUCT;Tabla B6.5:Tipos de datos derivados
TYPEColo: (ROJO, AZUL, AMARILLO, NEGRO);
END_TYPE
B-70 Capítulo 6
TP301 • Festo Didactic
Declaración de variablesCon el uso de datos, debe definirse claramente el derecho de acceso aestos datos. Con este fin, IEC 1131-3 utiliza una declaración de varia-bles.
Para comprender la función de una declaración de variables, es nece-sario establecer antes que el programa del control está construido enunidades de organización individuales.
Estas unidades son:
ConfiguraciónRecursoProgramasBloques de funciónFunciones
Todas las variables tienen una posición específica. En el caso de len-guajes de programación en forma textual (IL y ST), las declaracionesde variables son aproximadamente las mismas que las utilizadas en ellenguaje Pascal. Para las formas gráficas de representación sería facti-ble una forma tabular con el contenido equivalente. Sin embargo, estono está especificado en IEC 1131-3.
Todas las declaraciones de variables (fig. B6.5) siempre empiezan conuna palabra clave, que designa la posición de la variable en la unidadde organización del control, y termina con la palabra clave END_VAR.
Las variables y su asignación a un tipo de datos, se introduce entreestas palabras clave en las que se especifica un identificador o identifi-cadores simbólicos de las variables, el tipo de dato se indica tras dospuntos y la declaración se cierra con un punto y coma. Si se declaranvarias variables, se repiten correspondientemente. Normalmente, cadadeclaración se escribe en una línea separada en este caso.
VARTemp : INT; (*Temperatura *)Manual : BOOL; (*Flag para funcionamiento manual *)Lleno, Abierto : BOOL; (*Flag para "lleno" y "abierto" *)
END_VAR Fig. B6.5:Declaración de variables
B-71Capítulo 6
Festo Didactic • TP301
IEC 1131-3 distingue entre seis tipos diferentes de acceso a las varia-bles. Cada tipo tiene una palabra clave, que introduce la declaraciónde la variable.
Las variables de entrada son declaradas con las palabras claveVAR_INPUT y END_VAR.
Las variables especificadas de esta forma representan variables de en-trada, alimentadas externamente a una unidad de organización, p. ej,un bloque de función. Estas sólo pueden leerse dentro de la unidad deorganización.
No es posible hacer modificaciones.
Análogamente a esto, las variables de salida se definen con las pala-bras clave VAR_OUTPUT y END_VAR
El dato que calcula una unidad de organización y devuelve de nuevo elexterior se declara arriba.
Todos los resultados de una unidad de organización deben ser transfe-ridos más allá de la unidad de organización a través de variables de-claradas de esta forma. Dentro de las unidades de organización, estaspueden ser leídas y escritas. Externamente, sólo se permite el accesode lectura.
Variables de Entrada VAR_INPUT
Variables de Salida VAR_OUTPUT
Variables de Entrada/Salida VAR_IN_OUT
Variables locales VAR
Variables globales VAR_GLOBAL
Variables externas VAR_EXTERN
Tabla B6.6:Palabras clave para la
declaración de variables
VAR_OUTPUTResult : INT; (*Valor de realimentación *)
END_VARFig. B6.7:
Declaración de unavariable de salida
VAR_INPUTInput : INT; (*Valor de entrada *)
END_VARFig. B6.6:
Declaración de unavariables de entrada
B-72 Capítulo 6
TP301 • Festo Didactic
En los casos en que se permitan variables conteniendo valores de en-trada y salida, estos deben crearse con las palabras claveVAR_IN_OUT y END_VAR.
Esta forma representa una tercera opción y permite la declaración devariables, que pueden ser leídas y utilizadas dentro de una unidad deorganización.
En el caso de una variable declarada como VAR_IN_OUT, se asumeque ambos valores serán suministrados hacia y desde la unidad deorganización.
A menudo, se requieren variables para resultados intermedios, que de-ben permanecer desconocidos externamente. La declaración de talesvariables, denominadas locales, empieza con VAR y termina conEND_VAR.
Las variables especificadas aquí son locales para una unidad de orga-nización y solame te pueden ser utilizadas en ella. Son desconocidaspara otras unidades organizacionales y por lo tanto inaccesibles.
Una aplicación típica son las posiciones de memoria para resultadosintermedios, que no son de interés en otras zonas del programa. En elcaso de estas variables, hay que observar que también pueden existirvarias veces en diferentes unidades de organización. De esta forma,es posible, por ejemplo, que varios bloques de función declaren la va-riable local Z. Estas variables locales son completamente inde-pendientes y difieren unas de otras.
Una variable también puede ser declarada globalmente, en cuyo casopuede ser accedida universalmente. La necesaria declaración se reali-za de una forma similar, utilizando las palabras clave VAR_GLOBAL yVAR_EXTERNAL.
VAR_IN_OUTValue : INT;
END_VARFig. B6.8:Declaración de unavariable de entrada/salida
VARZ : INT; (*Resultado intermedio *)
END_VARFig. B6.9:Declaración de unavariable local
B-73Capítulo 6
Festo Didactic • TP301
Así es como se declaran todos los datos globales para un programa decontrol. Los datos globales son accesibles universalmente. Esta decla-ración sólo puede hallarse en unidades de organización, configuracióny recurso.
Para facilitar el acceso de datos global a una unidad de organización,esta declaración debe ser registrada en la unidad de organización.
Sin la declaración mostrada arriba, el acceso a los datos globales nosería permisible.
Esta estricta unidad de declaración para todas las variables define úni-camente qué variables son reconocidas por una unidad de organiza-ción y cómo pueden ser usadas. Un bloque de función puede, porejemplo, leer pero no cambiar sus variables de salida.
Se utiliza la palabra clave AT para asignar variables a las entradas ysalidas del control.
Las declaraciones hechas de esta forma son el mejor medio para defi-nir el significado de todas las entradas y salidas del control. Si se pro-duce un cambio en el sistema y su conexión al controlador, sólo debe-rán ser cambiadas estas declaraciones. Cualquier utilización p. ej. delPulsador_paro, o de la Temperatura en un programa existente, no seve afectada por el cambio.
VAR_GLOBALGlobal_value: INT;
END_VARFig. B6.10:
Declaración de unavariable global
VAR_EXTERNALGlobal_value: INT;
END_VARFig. B6.11:
Declaración de acceso auna variable global
VARPulsador_paro AT %I2.3: BOOL;Temperatura AT %IW3: INT;
END_VAR
Fig. B6.12:Declaración de variables
con asignación a entradasde un control
B-74 Capítulo 6
TP301 • Festo Didactic
Sin embargo, según IEC 1131-3 siempre es posible utilizar variablesdireccionadas directamente sin tener que asignarlas a un identificadorsimbólico. La declaración en este caso es como sigue:
InicializaciónA menudo es esencial que a una variable se le asigne un valor inicial.Este valor puede cambiar varias veces durante el procesamiento delprograma, incluso aunque haya estado definida el principio.
Los estados iniciales como estos también son importantes para otrosdatos. Tales valores iniciales se especifican conjuntamente con la de-claración de las variables. Una variable global de este tipo denominadap. ej. Docena se declara para que al principio del programa asuma elvalor 12.
Como se ha mostrado en este ejemplo, el valor de inicialización seinserta siempre entre el tipo de dato – en este caso INT – y el punto ycoma de cierre. La especificación del valor de inicialización siemprerequiere el signo :=.
De esta forma, a cada variable se le puede especificar un valor inicial.Fundamentalmente, las variables siempre tienen un valor inicial defini-do al inicio del programa. Esto lo facilita la característica definida enIEC 1131-3, en donde los tipos de datos tienen un valor preestableci-do. Cada variable es preasignada al valor inicial correspondiente al tipode dato – a no ser que se especifique lo contrario en el programa. Unalista de los valores iniciales de una selección de tipos de datos elemen-tales puede verse en la tabla B6.7.
VAR_GLOBALDocena : INT := 12;
END_VAR
Fig. B6.13:Declaración de unavariable global con valor inicial
VARAT %I4.2 : BOOL;AT %MW1 : WORD;
END_VAR
Tipo de dato Valor inicial
BOOL, SINT, INT, DINTUINTBYTE, WORDREALTIMESTRING
0000.0T#0s’’ (cadena vacía)
Tabla B6.7:Valores inicialespreestablecidos
B-75Capítulo 6
Festo Didactic • TP301
El programa para un control está dividido en unidades de organizaciónindividuales, que son como sigue en el nivel de programación:
6.3 Programa
ProgramasBloques de funciónFunciones
Estas unidades de organización de programa están disponibles en to-dos los lenguajes de programación
IEC 1131-3 define una amplia gama de funciones estandarizadas ybloques de función para tareas de control típicas. Aparte de estas fun-ciones especificadas y bloques de función, IEC 1131-3 permite la defi-nición de sus propias funciones y bloques de función. Los fabricantes olos usuarios pueden así crear módulos de software hechos a su medi-da para determinadas aplicaciones.
FuncionesLas funciones son módulos de software que, cuando se les invoca,proporcionan exactamente un resultado (elemento de datos). Esta es larazón por la que en un lenguaje textual, la invocación de una funciónpuede ser utilizada como un operando en una expresión.
Las funciones no pueden contener información de estado. Esto signifi-ca que la invocación de una función con los mismos argumentos (pará-metros de entrada) deben proporcionar el mismo resultado.
La suma de valores enteros INT o la función lógica OR con ejemplosde funciones.
Las funciones y su invocación puede representarse gráficamente o enforma de texto.
X
Y
Z
F nombre
Entradas SalidaFig. B6.14:Representación
gráfica de una función
B-76 Capítulo 6
TP301 • Festo Didactic
Gráficamente, una función se representa en forma de rectángulo. Todos losparámetros de entrada se relacionan en el lado izquierdo, mientras que losparámetros de salida se muestran en el lado derecho. En el interior delrectángulo se indica el nombre de la función. Los parámetros formales deentrada pueden especificarse a lo largo de los lados dentro del rectángulo.Esto es necesario con algunos grupos de funciones, tales como las funcio-nes de desplazamientos de bits, por ejemplo (fig. B6.15b). Para funcionescon entradas idénticas, como es el caso de la función de suma ADD (fig.B6.15a) no se requieren nombres de los parámetros formales.
Las entradas o salidas booleanas de una función pueden ser negadas,es decir, invertidas especificando un círculo directamente fuera del rec-tángulo (fig. B6.16).
%QW4
%IW9
%IW7
VAR
AT %QW4AT %IW9AT %IW7AT %MW1
: INT;: INT;: INT;: INT;
END_VAR
%IW2
4
SHL
IN
N
ADD a) sin nombres de parámetros formales
b) con nombres de parámetros formales
%MW1
%MW5
Fig. B6.15:Uso de parámetrosformales con funciones
%Q5.3 %Q4.1AND%M1.1
Fig. B6.16:Representación denegaciones Booleanas
B-77Capítulo 6
Festo Didactic • TP301
Si se invoca una función, deben conectarse sus entradas y la salida dela función.
La función suma ADD ilustrada en la fig. B6.16 procesa valores ente-ros INT, por lo cual, las variables direccionadas directamente talescomo %QW4 etc. están declaradas como variables de tipo de datoINT. De la misma forma, la función ADD podría aplicarse a valores deltipo SINT o REAL.
Las funciones como estas, que funcionan para entrar parámetros detipos de datos diferentes, se denominan en IEC 1131-3 como funcio-nes sobrecargadas, independientes del tipo. La Fig. B6.17 ilustra lascaracterísticas de una función sobrecargada utilizando el ejemplo deuna función ADD.
INT INTADD
a)
INT
%IW1 ADD
%IW2
VAR
AT %IW1AT %IW2AT %MW3
: INT;: INT;: INT;
END_VAR
SINT SINTADD
b)
SINT
%IB4 ADD
%IB5
VAR
AT %IB4AT %IB5AT %MB6
: SINT;: SINT;: SINT;
END_VAR
ADD
general
Función ADD como ejemplo de función sobrecargada
Todos los tipos de datos que definen númerosson permisibles como parámetros de entrada de resultado
Parámetros de Entrada del tipo INT
ejemplo
Parámetros de entrada del tipo SINT
%MW3
%MB6
general ejemplo
Fig. B6.17:Función sobrecargada de
tipo independiente
B-78 Capítulo 6
TP301 • Festo Didactic
Si una función sobrecargada está limitada a un determinado tipo dedatos por el control – p. ej., el tipo de datos INT como se muestra enla fig B6.18 – esto se conoce como una función con tipo. Las funcionescon tipo son reconocibles por el nombre de su función. El tipo se indicaañadiendo un guión de subrayado, seguido del tipo deseado.
Funciones estándarLas funciones estándar más importantes para la realización de tareasbásicas de tecnología de control se relacionan a continuación.
Dado que una gran variedad de funciones estándar pueden funcionarutilizando parámetros de entrada de diferentes tipos de datos, los tiposde datos se han combinado en grupos. A cada grupo se le ha dado untipo de datos genérico. Los tipos de datos genéricos más importantesse muestran en la tabla B6.8.
INT INT
INT
%IW1 ADD_INT
%IW2
VAR
AT %IW1AT %IW2AT %MW3
: INT;: INT;: INT;
END_VAR
ADD_INT
general ejemplo
%MW3
Fig. B6.18:Una función con tipo
ANY_NUM Todos los tipos de datos para números en coma flotante, talescomo REAL y para números enteros tales como INT, UINT, etc.están contenidos en ANY_REAL y ANY_INT.
ANY_INT Todos los tipos de datos para enteros tales como INT, UINIT, etc.
ANY_REAL Todos los tipos de datos, definiendo números en coma flotantetales como REAL e LREAL
ANY_BIT Todos los tipos de datos de secuencia de bits, tales como BOOL,BYTE, WORD etc.
Tabla B6.8:Tipos de datos genéricos
B-79Capítulo 6
Festo Didactic • TP301
ANY_BIT
* * *
. . .
ANY_BIT
ANY_BIT
ANY_BIT
. . .
* * * = nombre o símbolo
ANY_INT
* * *
ANY_BIT ANY_BIT
* * *
IN
N
= nombre
Nombre Símbolo Descripción
AND & Operación AND de todas las entradas
OR >=1 Operación OR de todas las entradas
XOR =2k+1 Operación OR-exclusiva de todas las entradas
NOT Entrada negada
Tabla B6.9:Funciones booleanas
Bit-a-bit
Nombre Descripción
SHL Desplazar IN por N bits hacia la izquierda, llenar con ceros la derecha
SHR Desplazar IN por N bits hacia la derecha, llenar con ceros la izquierda
ROR Desplazar IN cíclicamente por N bits hacia la derecha
ROL Desplazar IN cíclicamente por N bits hacia la izquierda
Tabla B6.10:Funciones de
desplazamiento de bits
B-80 Capítulo 6
TP301 • Festo Didactic
. . .* * *
* * *
. . .
= nombre o símbolo
ANY_BIT or ANY_NUM ANY_BIT or ANY_NUM
ANY_BIT INTBCD_TO_INT
2#0011_0110_1001 369BCD_TO_INT
INT ANY_BITINT_TO_BCD
25 2#0010_0101INT_TO_BCD
Convierte variables del tipo BYTE, WORD etc. en variables del tipo INT.La variable de secuencia de bits contiene datos enformato BCD (número decimal codificado en binario)
Ejemplo:
Convierte variables de tipo INT en variables de tipo BYTE,WORD etc.La variable de secuencia de bits contiene datos en formatoBC.
Ejemplo:
b) Representación gráfica
Descripción:
a) Representación gráfica
Descripción:
Tabla B6.12:Funciones para conversión de tipo
Nombre Símbolo Descripción
GT > Mayor que (secuencia descendiente)
GE >= Mayor o iguall (secuencia monotónica)
EQ = Igual
LE <= menor o igual (secuencia monotónica)
LT < Menor que (rsecuencia ascendente)
NE <> No igual, no expandibleTabla B6.11:Funciones de comparación
B-81Capítulo 6
Festo Didactic • TP301
Bloques de funciónLos bloques de función son módulos de software que proporcionan unoo varios parámetros resultantes.
Una característica importante es la posibilidad de reutilización de losbloques de función. Si debe utilizarse un bloque de control en un pro-grama, debe crearse una copia. Esto se realiza a través de la asigna-ción de un nombre para cada caso. Junto con este identificador hayuna estructura de datos, que almacena los estados de esa copia delbloque de función (valores de los parámetros de salida y variables in-ternas). La información del estado de la copia del bloque de funciónpermanece inalterable entre un procesamiento y el siguiente.
Esto puede demostrarse utilizando el ejemplo del bloque de funciónestándar para operaciones de recuento. El valor actual del contadorpermanece de una operación de recuento a la siguiente y puede asíser interrogada en cualquier momento. Este tipo de comportamiento nopuede realizarse a través del recurso lenguaje, como se describe arriba.
* * *
. . .
ANY_NUM ANY_NUM
. . .
* * *
ANY_NUM
ANY_NUM
= nombre o símbolo
Nombre Símbolo Descripción
ADD Suma todas las entradas
MUL * Multiplica todas las entradas
SUB – Resta la segunda entrada de la primera
DIV / Divide la primera entrada por la segunda
MOVE := Asigna una entrada a una salida. no ampliableTabla B6.13:
Funciones aritméticas
B-82 Capítulo 6
TP301 • Festo Didactic
También se dispone de la representación gráfica de bloques de función(aparte de la representación en uno de los lenguajes textuales). Estosse representan por rectángulo de la misma forma que las funciones(fig. B6.19). Los parámetros de entrada se introducen por la izquierda ylos parámetros de salida aparecen por la derecha. El tipo de bloque defunción se especifica dentro del rectángulo. A continuación se introdu-cen los nombres de los parámetros formales junto a los lados derechoe izquierdo dentro del rectángulo o caja. El identificador, bajo el cual sedirecciona el módulo, se direcciona como se ha descrito para el bloquede función.
Si se utiliza un bloque de función, se le debe dar un identificador. Silas entradas están asignadas – es decir, hay disponibles parámetrosde transferencia actuales – entonces se utilizan estos para el procesa-miento. Si las entradas no están conectadas, entonces se accede denuevo a los valores almacenados en invocaciones anteriores o se utili-zan los correspondientes valores iniciales.
La Fig. B6.20 muestra el uso (invocación) del bloque de funciónestándar para un contador.
Y
P
Q
X
Tipo FB
Tipo dato
Tipo datoTipo dato
Tipo dato
Identificador
Entradas Salidas
Fig. B6.19:Representación gráfica de una copia de un bloque de función
PV
Q
CV
CU
CTU
RBOOL
PV
Q
CV
CU
CTU
R
%I 1.3
10
%Q2.5
BOOL
INT
BOOL
INT
Bloque de función � tipo CTU(contador incremental)
Use una copia del bloque defunción CTU en un programa de control
Count_Pack
Fig. B6.20:Uso (invocación) delbloque de función CTU(contador incremental)
B-83Capítulo 6
Festo Didactic • TP301
La copia utilizada del bloque de función CTU lleva el identificadorCount_Pack. A cada flanco positivo de la entrada %I1.3 el valor actualdel contador se incrementa en 1 unidad. Cuando se alcanza el valorpreestablecido de 10, la salida Q del Count_pack, y con ello la salida%Q2.5 asume una señal 1; en los demás casos se asume una señal 0.
También es posible crear varias copias de uno y del mismo bloque defunción dentro de un programa de control, como se muestra en la fig.B6.21.
TP
%I 1.7 IN
PTT#7s ET
Q
QIN
TP
PTTIME
BOOL BOOL
ET TIME
Q
TP
IN
PTT#3s15ms ET
Q
OR
Display_1
Bloque de función �tipo TP (pulse timer)
T_Pressure
Uso de varias copias delbloque de funciónTP
T_Colour
Fig. B6.21:Uso de varias copias de
un bloque de función
B-84 Capítulo 6
TP301 • Festo Didactic
Bloques de función estándarLa Tabla B6.14 relaciona los bloques de función más importantes es-tandarizados por IEC 1131-3.
Funciones definidas de usuarioAparte de las funciones especificadas, IEC 1131-3 permite la definiciónde funciones propias .
Para la declaración gráfica se aplican las siguientes reglas:
Declaración de la función dentro de la construcción FUNCTION...END_FUNCTION.Especificación del nombre de la función y los nombres de los pará-metros formales y tipos de datos de entradas y salidas de la funciónEspecificación de los nombres y tipos de datos de variables internasutilizadas en la función; para ello puede utilizarse una construcciónVAR... END_VAR. No pueden utilizarse copias de bloques de fun-ción como variables internas, ya que estas necesitarían el almace-namiento de información del estado.Programación del cuerpo de la función en uno de los lenguajes LD,FBD, IL, o ST.
SR Bloque de función biestable (activación prioritaria)
RS Bloque de función biestable (desactivación prioritaria)
CTU Contador incremental
CTD Contador decremental
TP Pulso de tiempo
TON Retardo a la conexión
TOF Retardo a la desconexión
R_TRIG Detección de flanco: flanco ascendente
F_TRIG Detección de flanco: flanco descendente
Tabla B6.14:Bloques de funciónestándar
B-85Capítulo 6
Festo Didactic • TP301
A la función ejemplo SPEC_MUL en la fig. B6.22 se le dan dos pará-metros del tipo INT. Los dos valores de parámetros son multiplicados yse le añade la cifra 15. El valor así calculado es devuelto a la funcióncomo resultado.
El uso de la función podría ser como el que se ha mostrado en la fig.B6.23.
INT INT
INT
SPEZ_MUL
F1
F2
*
+ SPEZ_MUL
15
END_FUNCTION
FUNCTION(* Descripción del interface externo *)
(* Cuerpo de la función: *)(* Programado en lenguaje FBD *)
F1
F2
Fig. B6.22:Ejemplo de una
función SPEZ_MUL
%MW1
END_VAR
SPEZ_MUL
VARAT %MW1AT %MW2AT %MW3AT %IW4AT %QW5
: INT;: INT;: INT;: INT;: INT;
F1F2%MW2
+ %MW3
%IW4%QW5Fig. B6.23:
Uso de la funciónSPEZ_MUL
B-86 Capítulo 6
TP301 • Festo Didactic
Bloques de función definidos por el usuarioLa generación de los propios bloques de función por el usuario es unacaracterística importante de IEC 1131-3.
Se aplican las siguientes reglas para una declaración gráfica:
Declaración de bloques de función en una construcción FUNC-TION_BLOCK... END_FUNCTION_BLOCK.Especificación del nombre del bloque de función y de los nombresde los parámetros formales y tipos de datos de las entradas y sali-das del bloque de función.Especificación de los nombres y tipos de datos de variables inter-nas; puede emplearse una construcción VAR... END_VAR.Programación del cuerpo de la función en uno de los lenguajes LD,FBD, IL, o ST.
Aquí no se ha tenido en cuenta el acceso de datos ampliado, tal comolas variables globales.
BOOL BOOL
TIME
FUNCTION_BLOCK
SR
S1
R
Q1
EP_S
TON
IN
PT ET
Q
TOF
IN
PT ET
Q
END_FUNCTION_BLOCK
E_TIME
Filtro_rebotes
S_ON
E_TIME
S_OFF
S_ON
EP_ON
S_OFF
EP_OFF
(* Descripción del interface externo *)
(* Cuerpo del bloque de función: *)(* programado en lenguaje FBD *)
Fig. B6.24 :Declaración de un bloque de función
B-87Capítulo 6
Festo Didactic • TP301
El bloque de función ilustrado en la fig. B6.24 representa un bloque defunción para la eliminación de rebotes en las señales, consistentes endos parámetros de entrada, es decir, una entrada booleana para laseñal y una entrad de tiempo para el ajuste del tiempo de rebotes. Elparámetros de salida S_OFF suministra la señal de salida sin rebotes.
ProgramasUn programa consiste en cualquier cantidad de elementos de lenguajey construcciones, necesarios para conseguir el comportamiento desea-do de la máquina o proceso a través del PLC.
Por ello, los programas están construidos principalmente por funciones,bloques de función y los elementos del diagrama de funciones secuencial.
Por ello, las características de los programas son en gran parte idénti-cos a los de los bloques de función. Lo único que nos interesa en estaetapa son las diferencias:
Las palabras clave delimitadoras para las declaraciones de progra-ma son PROGRAM... END_PROGRAM.La utilización de variables directamente direccionables solamente sepermite dentro de programas.
Un ejemplo de esto se muestra en la figura B6.25.
VAR
ATATAT
END_VAR
%IX0.0%IX0.1%QX0.0
: BOOL;: BOOL;: BOOL;: TP;
OR
T#3m
TP
IN
PT
Q
ET
END_PROGRAM
*)*)*)*)
Interruptor_FInterruptor_ALuzDuracion
Interruptor_A
Interruptor_FDuracion
Luz
PROGRAM luz_escalera
(* Interruptor en la puerta(* Interruptor interior apartamento(* Luz de la escalera(* Tiempo de encendido
Fig. B6.25:Ejemplo de un programa
B-88 Capítulo 6
TP301 • Festo Didactic
El nombre del programa es "Luz_escalera". Tres variables booleanasInterruptor_F, Interruptor_A y Luz, asignadas a dos entradas y una sali-da del PLC, han sido declaradas como variables internas. A esto seañade la declaración de una copia del bloque de función del tipo PulseTimer (TP).
El programa realiza la siguiente pequeña tarea:
La luz de una escalera está encendida durante tres minutos, si se ac-ciona uno de los dos interruptores; el de la puerta o el del apartamento.
B-89Capítulo 6
Festo Didactic • TP301
B-90 Capítulo 6
TP301 • Festo Didactic
Capítulo 7
Diagrama de bloques de función
B-91Capítulo 7
Festo Didactic • TP301
El diagrama de bloques de función es un lenguaje de programacióngráfico que es consistente, en la medida de lo posible, con la docu-mentación estándar IEC 617, P.12.
7.1 Elementos del dia-grama de bloquesde función
Los elementos del diagrama de bloques de función son funcionesrepresentadas gráficamente y bloques de función. Estas están interco-nectadas por líneas de flujo de señal, los elementos directamente enla-zados formando una red de trabajo (Network)
La Fig. B7.1 ilustra dos simples ejemplos del diagrama de bloques defunción. En la Fig. B7.1a, la variable Manual_desc y el resultado deuna comparación ’mayor que’ están enlazados en OR. El resultado esasignado a la variable Puerta_cerrada. La Fig. B7.1b representa el usode un bloque de función. El retardo de la señal T_arranque se pone enmarcha con la entrada %I1.3 con el tiempo preestablecido de 7 segun-dos. El estado del retardo de la señal, T_arranque.Q, se asigna a lasalida %Q2.4.
TON
%Q2.4IN
PT
Q
ET
%I 1.3
T#7s
>
60
>=1
a) Operación lógica de funciones
b) Uso de bloques de función
T_Arranque
Temp
Puerta_cerradaManual_desc
Fig. B7.1:Diagrama de bloques
de función (FBD)
B-92 Capítulo 7
TP301 • Festo Didactic
La dirección del flujo de señales es una red de izquierda a derecha. Siuna unidad de organización del programa consta de varias redes, es-tas son procesadas en secuencia de arriba a abajo.
7.2 Evaluación de redes
La secuencia de procesamiento dentro de una unidad de programa deorganización puede ser influida por el uso de elementos para controlde la ejecución. Este grupo de elementos incluye por ejemplo los sal-tos condicionales e incondicionales. En la fig. B7.2 se utiliza un saltocondicional para realizar una derivación en el programa.
El salto condicional, representado por una doble flecha, se ejecuta sise cumple la condición para el salto. Por ello, si la entrada %I1.1 y elflag %M2.5 llevan ambos señal 1, entonces se ejecutará un salto a lared con el identificador Variante_1 y el proceso continuará en este punto.
Si hay que ejecutar un salto a una red, la red correspondiente debeprefijarse con un nombre simbólico, el flag del salto, terminando condos puntos. El flag de salto debe identificarse según las reglas para losnombres simbólicos.
&
>=1
%I 2.5
%Q1.0
%I 1.1 Variante_1
Variante_1:
%M2.5
%M2.1
Fig. B7.2:Uso de un salto en FBD
B-93Capítulo 7
Festo Didactic • TP301
Cuando se programa en el lenguaje FBD, hay que observar que dentrode las redes no se permiten estructuras de bucle. Las estructuras deeste tipo sólo deben realizarse a través del uso adicional de una rutade realimentación. La Fig. B7.3b ilustra un ejemplo de esto.
7.3 Estructuras en bucle
Por medio de la utilización de rutas de realimentación, la tercera entradade la función OR asume un valor definido durante su procesamiento.
>=1
%I 2
&
>=1
%I 2
&
%I 1
%I 1
b) estructura en bucle permitida
a) estructura en bucle no permitida
%M4
%M4 %M2.0
Fig. B7.3:FBD con
estructuras en bucle
B-94 Capítulo 7
TP301 • Festo Didactic
Capítulo 8
Diagrama de contactos
B-95Capítulo 8
Festo Didactic • TP301
El lenguaje de diagrama de contactos (o diagrama en escalera), aligual que del diagrama de bloques de función representa un lenguajede programación gráfico. Los elementos disponibles en un diagrama decontactos son los contactos y las bobinas en diferentes formas. Estasestán dispuestas en renglones (rungs) entre las dos líneas verticalesde mando a derecha e izquierda.
8.1 Elementos deldiagrama decontactos
La Fig. B8.1 ilustra la estructura básica de un reglón. En este ejemplo,el estado del flag %M1.5 está directamente asignado a la salida%Q3.5. La tabla B8.1 contiene una lista de los elementos más impor-tantes asignados a un diagrama de contactos.
%M1.5 %Q3.5
Fig. B8.1:Estructuta básica
de un renglón
/
P
N
/
S
R
P
N
Contactos
Contacto normalmente abierto
Contacto normalmente cerrado
Contacto de flanco positivo
Contacto de flanco negativo
Bobinas
Bobina
Bobina negada
Activación de una bobina remanente
Desactivación de una bobina remanente
Bobina activada por flanco positivo
Bobina activada por flanco negativoTabla B8.1:Elementos del
diagrama de contactos
B-96 Capítulo 8
TP301 • Festo Didactic
Un contacto normalmente abierto suministra el valor 1 cuando se acti-va el accionamiento del correspondiente interruptor. Un contacto nor-malmente cerrado reacciona correspondientemente con el valor 1,cuando no se activa el correspondiente interruptor o pulsador.
Hay dos señales de flanco, que suministran señal 1 para la transiciónde 0 a 1 (flanco positivo) y de 1 a 0 (flanco negativo).
Con una bobina normal, el resultado (resultado de la operación lógicaentre los contactos) es copiado a la variable específica; en el caso deuna bobina negada, se transfiere el inverso (negación) del resultado.
La bobina de activación remanente asume el valor 1, si el resultado es1, y permanece inalterable aunque el resultado pase a ser 0. De formasimilar, la bobina de desactivación remanente asume el valor 0 si elresultado es 1. Se mantiene el estado 0 de la bobina.
Los flancos de las bobinas se activan si el resultado cambia de 0 a 1(flanco positivo) o de 1 a 0 (flanco negativo).
Las funciones básicas AND y OR pueden ser realizadas por medio deuna configuración correspondiente de contactos en el renglón actual.
La función AND es representada por medio de la conexión en serie dedos contactos (fig. B8.2a). La salida %Q2.1 sólo se activa si ambasentradas %I1.3 y el flag %M3.2 se hallan activados. En todos los de-más casos, la salida %Q2.1 es desactivada.
%I 1.3 %Q2.1
%I 1.5 %Q2.3
b) Función OR
a) Función AND
%M3.2
%M3.4Fig. B8.2:Conexiones básicaslógicas en diagrama de contactos
B-97Capítulo 8
Festo Didactic • TP301
La función OR se obtiene a través de la conexión en paralelo de con-tactos (fig. B8.2b). La salida %Q2.3 asume el valor 1, si la entrada%I1.5 o el flag %F3.3 asumen el valor 1, o si ambas condiciones secumplen simultáneamente.
Aparte de los elementos de contacto y bobina, LD proporciona el usoilimitado de funciones y bloques de función siempre que esta funciónesté soportada por el control utilizado.
8.2 Funciones ybloques defunción
Un requisito previo para la incorporación de las denominadas unidadesde organización, es la disponibilidad de por lo menos una entrada boo-leana y una salida booleana del bloque en cuestión. Si no es este elcaso, la entrada booleana con el parámetro formal EN (enable/habilita-ción) se añada a las correspondientes funciones o módulos de funciónasí como una salida booleana ENO (enable OK /habilitación correcta).Las entradas/salidas booleanas son necesarias para permitir que la po-tencia fluya a través del bloque.
La adición mostrada en la Fig. B8.3a solamente se realiza si se aplicauna señal 1 a la entrada EN. Si es este el caso, las variables Canti-dad_1 y Cantidad_2 se suman y el resultado de estas variables seasigna a la variable Nivel_llenado. Al mismo tiempo, el valor de la sali-da ENO indica si la adición ha sido ejecutada, activada y correcta(ENO=1). Si el bloque no ha sido procesado correctamente, la salidaENO asume el valor 0.
Sumar_act Suma_ok
TON
IN
PT
Q
ETT#7s
ENOEN
+
%I 1.3 %Q2.4
T_Arranque
Cantidad_1Cantidad_2 Nivel_llenado
b) Invocación de un bloque de función
a) Incorporación de funciones
Fig. B8.3:Funciones y
bloques de función en diagrama de contactos
B-98 Capítulo 8
TP301 • Festo Didactic
Los módulos de función, tales como por ejemplo el retardo de señalmostrado en la fig. B8.3 pueden incorporarse al diagrama de contactossin una entrada EN adicional ni una salida ENO. El bloque de funciónes conectado con los elementos del renglón actual en la forma usualcon la entrada booleana IN y la salida booleana Q. Si la entrada %I1.3en la fig. B8.3b asume el valor 1, la copia del bloque de funciónT_Marcha es procesada con la duración de tiempo preestablecida de 7segundos. El valor de la salida Q de T_Marcha se asigna a la salida%Q2.4.
De forma simular al lenguaje de programación gráfico FBD, el flujo depotencia, y como tal el procesamiento de una unidad de organizacióndel programa, es de izquierda a derecha y de arriba a abajo. De formasimilar la secuencia de procesamiento también puede cambiar en LDutilizando elemento para el control de la ejecución.
8.3 Evaluación de los renglonesactuales.
Si la condición del salto, en este caso la operación AND de la entrada%I1.1 y el flag %M2.5 se cumple, se ejecuta un salto al renglón actualcon el identificador Variante_1. El procesamiento continua entonces apartir de este renglón.
%I 1.1
%Q1.0
%I 2.5
Variante_1
Variante_1:
%M2.5
%M2.1
Fig. B8.4:Salto condicional en LD
B-99Capítulo 8
Festo Didactic • TP301
B-100 Capítulo 8
TP301 • Festo Didactic
Capítulo 9
Lista de instrucciones
B-101Capítulo 9
Festo Didactic • TP301
La lista de instrucciones es un lenguaje de programación textual, tipoensamblador (assembler). Sus instrucciones son más cercanas a lasórdenes procesadas en un PLC.
9.1 Lista deInstrucciones
Un programa de control formulado en lenguaje de Lista de Instruccio-nes consiste en una serie de instrucciones, en las que cada instrucciónse empieza en una nueva línea.
En la formulación de una instrucción, se especifica un formato fijo. Unainstrucción (fig. B9.1) empieza con un operador con modificador opcio-nal y, si es necesario para la operación en cuestión, uno o varios ope-randos, separados por comas. Las instrucciones pueden ser precedi-das por una etiqueta seguida de dos puntos. La etiqueta actúa comouna dirección de salto. Las etiquetas son identificadas de la mismaforma que los símbolos. Si se utiliza un comentario, este debe repre-sentar el último elemento de la línea. Un comentario se inicia con lacadena (*, y termina con la cadena *).
El valor de la entrada %I1.2 se carga en el acumulador y se enlaza enAND con el valor del flag %M3.7. El resultado es asignado a la salida%Q2.4.
LDANDST
Inicio: *)*)*)
*)
ComentarioOperandoOperador yModificador
Etiqueta
(* Pieza pres.(* Taladro OK(* Avance(* estampador
Instrucción
%I1.2%M3.7%Q2.4
Fig. B9.1:Estructura de
una instrucción
B-102 Capítulo 9
TP301 • Festo Didactic
9-2 Operadores
Operador Modificador Operando Descripción/Significado
LD N Carga el operando especificado alacumulador e iguala el resultado actual aeste operando
ST N Almacena el resultado actual en losoperandos especificados
S BOOL Activa el operando booleano al valor 1, si elvalor del resultado actual es un 1 booleano
R BOOL Desactiva el operando booleano a o, si elvalor del resultado actual es un 1 booleano
AND N, ( BOOL AND Booleano
& N, ( BOOL AND Booleano
OR N, ( BOOL OR Booleano
XOR N, ( BOOL OR Exclusivo Booleano
ADD ( Adición (Suma)
SUB ( Sustracción (Resta)
MUL ( Multiplicación
DIV ( División
GT ( Comparación: >
GE ( Comparación: >=
EQ ( Comparación: =
NE ( Comparación: < >
LE ( Comparación: <=
LT ( Comparación: <
JMP C, N Etiqueta Salto a una etiqueta
CAL C, N Nombre Invocación de bloques de función
RET C, N Retorno de bloques de función
) Procesamiento de una operación
Tabla B9.1:Operadores en lista de instrucciones
B-103Capítulo 9
Festo Didactic • TP301
IEC 1131-3 define los operadores para la lista de instrucciones relacio-nadas en la tabla B9.1
Los operadores no están enlazados con ninguna prioridad. Consecuen-temente, las operaciones se procesan en la secuencia en la cual seintroducen en la lista de instrucciones. Si se desea una secuencia dife-rente, esta puede conseguirse con el uso de paréntesis – los denomi-nados modificadores. La Fig. B9.2 explica el uso de algunos modifica-dores.
En lista de instrucciones, también el uso de funciones y bloques defunción es ilimitado. Las funciones para tareas típicas de tecnología decontrol, tales como la lógica booleana u operaciones aritméticas (véasefig. B9.3.a) se realizan directamente a través de los operandos especi-ficados en la tabla B9.1.
9.3 Funciones ybloques defunción
LDN %I1.1 El valor de la entrada %I1.1 es cargado en forma negada al acumulador
AND( %I1.2 Primero se evalúa el contenido del paréntesis - en este ejemplo las
OR %I1.3 entradas %I1.2 y %I1.3se enlazan en OR – el resultado
) de la expresión entre paréntesises enlazada en AND con el contenido actual del acumulador
JMPC Marcha Se ejecuta el salto a la etiqueta Marchatan sólo si el valor del resultado acabado de ejecutar es un 1 booleano.
Fig. B9.2:Uso y significado
de los modificadores
a) Invocación a través de un operador
LD Temp (* Temperatura medida*)GT 60 (* Mayor de 60 *)OR Manual_desc (* OR está activado el pulsador Manual_desc *)ST Cerrar_puerta (* Cerrar la puerta *)
b) Invocación a través de un nombre de función
LD %IW3 (* Cargar la input word %IW3 *)SHL 4 (* Desplazar %IW3 por 4 bits a la izquierda *)ST %QW2 (* Guardar el resultado en la output word %QW2 *)Fig. B9.3:
Invocación de funciones
B-104 Capítulo 9
TP301 • Festo Didactic
Las funciones más complejas tales como las funciones de desplaza-miento de bits se invocan con el nombre de la función situado en elcampo del operador. El resultado actual (en el acumulador) debe serutilizado como el primer argumento de la función. Si se requieren otrosargumentos, estos deben especificarse en el campo de operando se-parados por comas. El valor devuelto por la función, representa el nue-vo resultado actual.
Los bloques de función pueden ser invocados según diferentes meca-nismos (fig. B9.4).
Un requisito es que la variable T_arranque sea declarada como unaseñal de retardo. La invocación de un bloque de función puede esta-blecerse claramente a través del operador CAL con una lista de pará-metros de entrada asociados.
La variable T_arranque de la Fig. B9.4a, declarada en todas partescomo una señal de retardo, representa por ello un bloque del tipo se-ñal de retardo. Siendo un argumento actual, este se asigna al valor dela entrada %I1.3 para la entrada de activación IN y una duración detiempo de t#7s para la entrada PT. Como resultado, el bloque de fun-ción T_arranque se invoca siguiendo la actualización de parámetros.
La transferencia de parámetros para un bloque de función tambiénpuede realizarse por separado a partir de la invocación del bloque defunción actual.
a) CAL con una lista de parámetros de entrada
CAL T_arranque(IN := %I1.3, PT := T#7s )
b) CAL con almacenamiento/carga de parámetros de entrada separados
LD T#7s (* Cargar T#7s *)ST T_arranque.PT (* Almacenar en T_aranque.PT *)
(* parámetros de entrada tiempo preselecc. *)LD %I1.3 (* Cargar %I1.3 *)ST T_arranque.IN (* Almacenar T_arranque.IN *)
(* transferir parámetro para activación *)(* del módulo *)
CAL T_startup (* Invoc. de una copia del bloque T_arranque *)
Fig. B9.4:Invocación de bloques de función
B-105Capítulo 9
Festo Didactic • TP301
Como se muestra en la fig. B9.4b, los valores del parámetro actualesse cargan a través de operaciones elementales IL y se asignan a lasentradas del bloque de función Solamente después de esto es invoca-do el bloque de función T_arranque y procesado a través de una ins-trucción CAL. La ventaja de este método reside en el hecho que eltiempo de actualización de los argumentos y la invocación real del mó-dulo de función pueden hacerse por separado.
B-106 Capítulo 9
TP301 • Festo Didactic
Capítulo 10
Texto estructurado
B-107Capítulo 10
Festo Didactic • TP301
El lenguaje Texto Estructurado (ST = Structured Text) es un lenguajede alto nivel tipo Pascal, que incorpora los conceptos fundamentalesde un lenguaje moderno de alto nivel, en particular los principios másimportantes para la estructuración de datos e instrucciones. La estruc-turación de datos representa un constituyente común de los cinco len-guajes de programación; la estructuración de instrucciones, sin embar-go, es tan sólo una característica importante del ST.
10.1 Expresiones
Una expresión es un constituyente elemental para la formulación deinstrucciones. Una expresión consiste en operadores y operandos. Losoperandos que aparecen con más frecuencia son datos, variables oinvocaciones a funciones. Sin embargo, un operando también puedeser una expresión en sí mismo. La evaluación de una expresión sumi-nistra un valor que corresponde a uno de los tipos de datos estándar oa un dato de un tipo definido por el usuario. Por ejemplo, si X es unnúmero REAL, entonces la expresión SIN(X) proporciona también unnúmero del tipo REAL. La tabla B10.1 contiene un resumen de losoperadores.
Operación Símbolo Prioridad
Paréntesis (expresión) la más alta
Procesamiento de función Nombre de la función(Lista de parámetros transferidos)Ejemplo: LOG(X), SIN(Y)
Exponenciación **
SignoComplemento
–NOT
MultiplicaciónDivisiónMódulo
*/MOD
AdiciónSubtracción
+–
Comparación <, >, ≤, ≥
IgualdadDesigualdad
=<>
AND Booleano &, AND
OR Exclusivo Booleano XOR
OR Booleano OR la más baja
Tabla B10.1:Operadores del lenguaje
Texto Estructurado
B-108 Capítulo 10
TP301 • Festo Didactic
Lo que sigue son ejemplos de expresiones:
La evaluación de una expresión consiste en aplicar los operadores alos operandos, en donde los operadores se evalúan en una secuenciadefinida por su prioridad en la tabla B10.1. Un operador con una priori-dad mayor es evaluado antes que un operador con una prioridad infe-rior.
A, B, y C son variables del tipo de dato INT; A sume el valor 1, B elvalor 2 y C el valor 3. La evaluación de la expresión A+B*C proporcio-na el valor 7. Si se desea una secuencia diferente que la especificadapor la prioridad, ello es posible utilizando los paréntesis. Utilizando losvalores numéricos descritos antes, la expresión (A+B)*C proporciona elvalor 9.
Ejemplo
Si un operador tiene dos operandos, el operando de más a la izquierdadebe evaluarse primero. La expresión SIN(X)*COS(Y) se evalúa por lotanto en la secuencia: cálculo de la expresión SIN(X), cálculo de laexpresión COS(Y), seguida por el cálculo del producto SIN(X) yCOS(Y).
Como se ha demostrado en el párrafo anterior, una función sólo puedeser invocada dentro de una expresión. La invocación es formulada es-pecificando el nombre de la función y la lista de argumentos entre pa-réntesis.
SIN(X)4*COS(Y)A ≤ BA+B+C
B-109Capítulo 10
Festo Didactic • TP301
La tabla B10.2 contiene una lista de posibles instrucciones en el len-guaje de Texto Estructurado. Una instrucción puede sobrepasar la lon-gitud de una línea, con lo que el salto de linea será tratado de lamisma forma que un espacio en blanco.
10.2 Instrucciones
Instrucción Ejemplo
Asignación := A := B;CV := CV + 1;Y := COS(X);
Invocación de bloques de función
RS_Zumb(S := Fallo_broca, R1 := Pulsador);Zumb := RS_Zumb.Q1;
Retorno de funciones y bloquesde función
RETURN;
Instrucciones de selección
IF D:= B*B – 4*A*C;IF D < 0.0 THEN Number_Sln := 0;ELSIF D = 0.0 THEN
Number_Sln := 1;X1 := –B / (2.0*A);
ELSENumber_Sln := 2;X1 := (–B + SQRT(D)) / (2.0*A);X2 := (–B – SQRT(D)) / (2.0*A);
END_IF;
CASE CASE Voltage OF101 ... 200: Display := too_large;20 ... 100: Display := large;2 ... 29: Display := normal;
ELSEDisplay := too_small;
END_CASE;
Instrucciones de iteración
FOR Total := 0;FOR I := 1 TO 5 DO
Total := Total + I;END_FOR;
REPEAT Total := 0;I := 0;REPEAT
I := I + 1;Total := Total + I;
UNTIL I = 5END_REPEAT;
Tabla B10.2:Instrucciones del lenguaje
Texto Estructurado
B-110 Capítulo 10
TP301 • Festo Didactic
AsignacionesUna asignación es la forma más simple de una instrucción. Esta reem-plaza el valor actual de la variable a la izquierda de := con el valor dela expresión a la derecha de :=. Cada asignación termina con un puntoy coma. Una posible asignación (tabla B10.2) es A := B en donde elvalor de la variable B es asignado a la variable A. Como resultado dela asignación CV := CV + 1, la variable CV es incrementada en 1 comoresultado de la expresión CV+1.
Bloques de función y funcionesEn IEC 1131-3 se establece un mecanismo definido para la invocacióny también para la salida anticipada de una función o de un bloque defunción.
Como se ha descrito, una función es invocada sólo como parte de laevaluación de una expresión. La propia invocación consiste en la espe-cificación del nombre de la función, seguida por los parámetros de en-trada entre paréntesis.
La invocación de un bloque de función es análoga a la especificacióndel nombre de instancia (copia) del bloque de función. Esta es seguidade una lista entre paréntesis consistente en la asignación de valores alos parámetros de entrada. La especificación del nombre del parámetrode entrada es obligatorio, los parámetros individuales de entrada pue-den indicarse en cualquier secuencia.
Instrucción Ejemplo
Instrucciones de iteración(continuación)
WHILE Total := 0;I := 0;WHILE I < 5 DO
I := I + 1;Total := Total + I;
END_WHILE;
Terminación de bucles EXIT;
Instrucción nula ;;
Tabla B10.2:Instrucciones en ellenguaje Texto Estructurado(continuaciòn)
B-111Capítulo 10
Festo Didactic • TP301
Además, no es esencial para todos los parámetros de entrada que seles asigne un valor en cada invocación. Si a un determinado parámetrode entrada no se le asigna un valor en la invocación, se aplica el valordel parámetro previamente asignado o el valor inicial.
La tabla B10.2 contiene un ejemplo de una invocación a un bloque defunción. Debe sonar un zumbador su una broca está defectuosa. Elestado del zumbador se almacena por medio de un bloque de función RS.
La instrucción RETURN sirve para permitir una salida anticipada deuna función o bloque de función. Lo que sigue es un ejemplo de lautilización de la instrucción RETURN:
Si el valor de X es menor de 0, el bloque conteniendo la secuencia deinstrucciones termina inmediatamente.
Las instrucciones de selección – conocidas también como instruccionesde derivación del programa – están disponibles en la forma de instruc-ciones IF y CASE. Pueden seleccionarse diferentes grupos de instruc-ciones y ejecutarse en relación con una condición definida. La unidaddel programa de organización puede ramificarse de diferentes formas.
10.3 Instrucciones de selección
Instrucción IFLa forma general de una instrucción IF es:
IF X < 0 THENValor := -1;Error := 1;RETURN;
END_IFY := LOG(X);
IF expresión booleana1 THEN instrucción(es)1;[ ELSIF expresión booleana2 THEN instrucción(es)2; ][ ELSE instruccion(es); ]END_IF;
B-112 Capítulo 10
TP301 • Festo Didactic
Las partes entre paréntesis rectangulares son opcionales, es decir,pueden producirse en una instrucción IF, pero no necesariamente.
La instrucción IF más sencilla consiste en una construcción IF-THEN(derivación simple).
Esto se demuestra por el siguiente ejemplo
Si la condición que sigue a la palabra clave IF es cierta, se ejecutanlas instrucciones que siguen a la palabra clave THEN. Si la condiciónno se cumple, las instrucciones en la parte THEN no se ejecutan.
En el caso de un ejemplo concreto esto significa: Si la variable X esmenor de 0, es decir, es negativa, se le añade un signo menos, con loque representa un valor positivo; si no es este el caso, se ejecutainmediatamente la función raíz cuadrada.
Una derivación simple puede conseguirse por medio de una construc-ción IF-THEN-ELSE
Las instrucciones que siguen a la palabra clave THEN se ejecutan, sila condición que sigue a la palabra clave IF se cumple; si la condiciónno se cumple, se ejecutan las instrucciones formuladas tras la palabraclave ELSE.
El ejemplo dado, trata con piezas de producción. Si la pieza es buena(Pieza_ok = 1) se ejecuta la parte THEN, en este caso, la cantidad(Numero) de piezas producidas correctamente se incrementa en 1; delo contrario se activa un bit para la detección del error.
IF X < 0 THEN X := –X;END_IF;Y := SQRT(X);
Error := 0;IF Pieza_ok THEN Numero := Numero + 1;ELSE Error := 1;END_IF;
B-113Capítulo 10
Festo Didactic • TP301
Si debe programarse una derivación para más de dos ramificaciones,puede emplearse una construcción IF-THEN-ELSIF. La tabla B10.2ilustra esto por medio de un ejemplo, en donde se establecen las solu-ciones de la ecuación de segundo grado AX2 + BX + C = 0. Si eldiscriminante – en este caso la variable B – es menor de 0, se ejecutala subsiguiente parte THEN: no hay solución, es decir, Num_sol := 0.
Si no se cumple la primera condición, es decir, D es mayor o igual a 0,será evaluada la condición que sigue a ELSIF: Si se cumple, es decir,D igual a 0, se ejecutarán las instrucciones que siguen a la palabraclave THEN: La única solución existente es especificada como X1.
De lo contrario (siendo D mayor de 0). se ejecutan las líneas que si-guen a la instrucción ELSE: Se especifican las dos soluciones X1 y X2.
Instrucción CASESi debe hacerse una selección entre varios grupos de instruccionesposibles, puede utilizarse la instrucción CASE.
La forma estándar de una selección múltiple con CASE es:
La instrucción CASE consiste en un selector, que suministra una varia-ble del tipo INT durante su ejecución y una lista de grupos de instruc-ciones. A cada grupo se le asigna un valor (etiqueta). Los valores es-tán separados por comas si un grupo de instrucciones depende devarios valores. Los valores también pueden representar variables deltipo INT.
CASE Selector OFValor1: instruccion(es)1;Valor2: instruccion(es)2;...ValorN: instruccion(es)n;
[ ELSEinstruccion(es); ]
END_CASE;
B-114 Capítulo 10
TP301 • Festo Didactic
Con la evaluación de la instrucción CASE, primero se determina elvalor del selector, seguido por la ejecución del primer grupo de instruc-ciones a los cuales se aplica el valor del selector calculado. Sin el valordel selector no está contenido en ninguno de los grupos de instruccio-nes, se ejecutan las instrucciones que siguen a la palabra clave ELSE.Si no hay ELSE, no se ejecuta ninguna instrucción.
En el ejemplo dado en la tabla B10.2, el texto para una instrucción seselecciona en relación con el valor medido disponible. Los valores parala selección de la instrucción son el tipo INT.
A menudo es necesario ejecutar instrucciones repetidas veces (buclesde programa). Si el número de repeticiones ha sido previamente defini-do, se utiliza el bucle FOR, de lo contrario se utiliza en bucle REPEATo el WHILE.
10.4 Instrucciones de iteración
Bucle FORLa representación estándar para el bucle FOR es:
La denominada variable de control se establece a un valor inicial espe-cífico y se incrementa a cada bucle que se ejecuta hasta que la varia-ble de control alcanza el valor de la variable final. Por lo tanto, unsimple bucle FOR se ejecuta de acuerdo con el siguiente mecanismo:
Si no se especifican incrementos, como se ha formulado arriba, la va-riable de control aumenta automáticamente en 1 a cada bucle comple-to. Si se necesita un incremento diferente, esto puede especificarsepor la palabra clave BY, seguida por el valor deseado. Sin embargo, lavariable de control no puede ser cambiada dentro del bucle – es decir,las instrucciones se ejecutan repetidamente. Además, la variable decontrol, el valor inicial y el valor final deben ser expresiones del mismotipo de dato entero (INT, SINT, DINT).
FOR Variable := Expresion TO expresion [ expresion BY ] DOinstruccion(es);
END_FOR;
FOR variable de recuento := valor inicial TO valor final DOInstruccion(es);
END_FOR;
B-115Capítulo 10
Festo Didactic • TP301
La prueba para la terminación de la condición se hace al inicio de cadaiteración, de forma que las instrucciones no son ejecutadas si el valorinicial excede del valor final. Una característica adicional de los buclesFOR es que estos pueden anidarse en cualquier momento.
Un ejemplo de la aplicación de un bucle FOR se da en la tabla B10.2.En este ejemplo, se realiza una suma de los números 1 al 5 a travésde un bucle. Cuando el bucle es ejecutado por primera vez, I tiene elvalor inicial 1, el valor de la variable Total es también 1. A la segundaejecución del bucle, I tiene el valor 2, la variable Total alcanza el valor1+2 = 3 etc. Tras el quinto y último bucle, el valor de Total es 15, lavariable de recuento ha alcanzado el valor final 5, y con ello se com-pleta el procesamiento del bucle.
Bucle REPEATA diferencia del bucle FOR, en el bucle REPEAT el número de iteracio-nes no está previamente definido por medio de un valor final especifi-cado. En su lugar, se utiliza una condición, denominada la condiciónde terminación.
La forma del bucle REPEAT es como sigue
La terminación del bucle REPEAT se verifica tras la ejecución de lasinstrucciones de bucle. Por lo tanto el bucle se ejecuta por lo menosuna vez. La condición de terminación debe ser cambiada en el bucle,ya que de lo contrario el bucle se ejecutaría indefinidamente. Por lotanto, es importante asegurar que el bucle puede realmente completar-se. Debe comprobarse lo siguiente:
¿Incluye realmente la condición de terminación una variable, de for-ma que la condición pueda suministrar el valor 1 (cierto)?¿Se alcanza alguna vez la condición de terminación?
REPEATinstruccion(es);
UNTIL Expresión BooleanaEND_REPEAT;
B-116 Capítulo 10
TP301 • Festo Didactic
Un ejemplo de utilización del bucle REPEAT se demuestra en la tablaB10.2. Aquí también, se suman los primeros cinco números enteros nonegativos.
En la primera ejecución del bucle, I tiene el valor 1, el valor de Total estambién 1. Una comprobación de la condición de terminación muestraque esto no se cumple, por lo que el bucle se ejecuta de nuevo. Elbucle se ejecuta repetidamente hasta que la condición de terminaciónes cierta. Este será el caso hasta la quinta ejecución del bucle en laque termina. Aquí también, el valor de la variable Total es 15.
Bucle WHILEEl bucle WHILE representa una segunda opción para la formulación deiteraciones especificando una condición de terminación. La repre-sentación estándar de un bucle WHILE es:
Si la expresión Booleana de la palabra clave WHILE se cumple, seejecutan las instrucciones que siguen a la palabra clave DO. la termi-nación del bucle WHILE es por lo tanto verificada antes de la ejecuciónde las instrucciones del bucle. Por lo tanto, las instrucciones del buclepuede ser que no se ejecuten. La condición de terminación debe cam-biar en las instrucciones que se repiten.
Es importante que las condiciones del bucle se cumplan realmentepara que el procesamiento del bucle pueda terminarse.
La tarea de sumar los números 1 al 5 también puede realizarse utili-zando un bucle WHILE (tabla B10.2). A diferencia del bucle REPEAT,el bucle WHILE se ejecuta repetidamente hasta que la condición determinación es cierta. En realidad esto significa que el bucle se ejecu-tan mientas I sea menor que 5. Si es igual o mayor que 5, el bucledeja de procesarse.
En principio, un bucle REPEAT puede reemplazarse por un bucle WHI-LE y viceversa.
WHILE Expresión Booleana DOinstruccion(es);
END_WHILE;
B-117Capítulo 10
Festo Didactic • TP301
Instrucción EXIT para terminar un bucleLa instrucción EXIT debe utilizarse para terminar iteraciones antes delfinal o de que se cumpla la condición de terminación.
El siguiente programa ilustra el ejemplo de una instrucción EXIT:
Si la instrucción EXIT se halla dentro de un bucle anidado, la salidaserá desde el bucle más profundamente anidado en el que se halla lainstrucción EXIT. La siguiente instrucción a ejecutar es la instruccióninmediatamente después del fin de bucle (END_FOR, END_WHILE,END_REPEAT). En el ejemplo dado en la fig, B10.1, esta es la instruc-ción "S := S + I;".
En el caso del ejemplo citado se aplica lo siguiente: Si el valor de lavariable booleana Error es igual a 0, el algoritmo para la variable Sproporciona el valor 15. Si la variable Error tiene el valor 1, el valorcalculado por S es 3.
S := 0;FOR I := 1 TO 2 DO
FOR J := 1 TO 3 DOIF error THEN EXIT;END_IF;S := S + J;
END_FOR;(* Si se ejecuta la instrucción EXIT se realiza un salto a este punto *)S := S + I;
END_FOR;
B-118 Capítulo 10
TP301 • Festo Didactic
Capítulo 11
Diagrama de funciones secuencial
B-119Capítulo 11
Festo Didactic • TP301
IEC 1131-3 define el diagrama de funciones secuencial (SequentialFunction Chart / SFC) como una herramienta de programación impor-tante para sistemas de control. Su clara estructura de distribución pro-porciona una forma de representación del programa especialmente cla-ra para sistemas de control y como tal es una de las partes más impor-tantes de IEC 1131-3.
11.1 Introducción
Cada programa de un sistema de control secuencial consta de Etapasy de Transiciones (condiciones de habilitación de la etapa). Aparte deesto contiene otras informaciones importantes concernientes a la eje-cución del programa y el tipo de continuación del programa.
Si la ejecución del programa no es única, sino que debe elegirse undeterminado camino entre varios posibles, la representación del diagra-ma de funciones secuencial lo indica de una forma gráfica particular.
La tarea fundamental de un diagrama de funciones secuencial es es-tructurar un programa de control en etapas individuales y en transicio-nes (condiciones de habilitación de la etapa), interconectadas por enla-ces directos.
11.2 Elementos deldiagrama defuncionessecuencial
Esto requiere una representación en forma gráfica, que hace claramen-te reconocible la intención del programa.
El diagrama de funciones secuencial IEC 1131-3 está estructurado enforma de un pequeño juego de elementos gráficos básicos definidos,de sencilla construcción. Estos elementos básicos deben combinarsepara crear un programa de control. El cómo se consigue esto, estádefinido por unas pocas reglas sencillas en el estándar.
El lenguaje de diagrama de funciones secuencial está basado, en lamedida de lo posible, en el lenguaje de diagrama de funciones segúnDIN 40 719 Parte 6 o IEC 848. Las únicas enmiendas hechas fueronlas necesarias para poder generar órdenes ejecutables para un PLC apartir de un elemento de documentación. Un ejemplo de esto es elcalificador S. En la documentación estándar, este calificador se utilizapara definir el modo de acción, es decir, la activación y desactivaciónde un operando. Un PLC requiere órdenes únicas. Esta es la razón porla que el diagrama de funciones secuencial emplea dos calificadorespara realizar los dos modos de acción: el calificador S para activar(SET) y el R para desactivar (RESET).
Dado que los diagramas de función secuenciales requieren la memori-zación de la información del estado (las etapas activas, etc., en unmomento dado), las únicas unidades de organización del programaque pueden estructurarse utilizando estos elementos son los Progra-mas y los Bloques de Función.
B-120 Capítulo 11
TP301 • Festo Didactic
b) Etapa inicial con identificador ***
c) Bloque de acción , conteniendo lasacciones asignadas a una etapaCampo a: Calificador de la acciónCampo b: Nobre de la acciónCampo c: Variable de realimentaciónCampo d: Contenido de la acción
d) Transisicón con identificador ***o condición de transición ***
e) Derivación alternativa
f) Unión de rutas alternativas
* * *
* * *
a b c
d
* * *
E F
G H
Etapa_3
Etapa_4 Etapa_5
Etapa_8
Etapa_6 Etapa_7
a) Etapa con identificador ***
Tabla B11.1:Elementos de un diagramade funciones secuencial(representaciòn gráfica)
B-121Capítulo 11
Festo Didactic • TP301
La EtapaUna etapa contiene varias partes de ejecución del programa de control.Las salidas solamente pueden ser activadas o desactivadas las etapas.Esta significa también que todas las variables de corrección que seemiten a la planta conectada con el programa de control, sólo puedenprogramarse en estas etapas.
La parte de ejecución asignada a una etapa, las denominadas accio-nes, son formuladas dentro de los bloques de acción.
Una etapa puede estar activa, con su acción asociada siendo ejecuta-da en aquel momento, o inactiva. De esta forma, el estado del sistemaconectado está definido en cualquier momento por el juego de etapasactivas en el programa de control.
Como se muestra en la tabla B11.1a, una etapa se representa gráfica-mente por un bloque. Cada etapa tiene un nombre simbólico, que pue-de ser libremente seleccionado por el usuario. El mismo juego de re-glas se aplica para el nombre de la etapa que el mencionado para losidentificadores simbólicos: un nombre simbólico puede consistir sólo deletras mayúsculas y minúsculas, números y el sigo de subrayado, ydebe empezar siempre con una letra o el signo de subrayado.
h) Unión de rutas paralelas
B
M
Etapa_3
Etapa_4 Etapa_5
Etapa_8
Etapa_6 Etapa_7
Tabla B11.1:Elementos del diagramade funciones secuencial(representación gráfica,
continuación)
g) Derivación paralela (simultánea)
Motor_3_activo Vacío_inactivoFig. B11.1:Etapas con nombres
de etapa
B-122 Capítulo 11
TP301 • Festo Didactic
Todas las etapas de un programa o bloque de función formuladas enun diagrama de funciones secuencial deben tener nombres diferentes.Aunque dos etapas tengan las mismas partes de ejecución, deben serdesignadas dos veces.
La razón de esto es la siguiente:La información se memoriza en el control para cada etapa. La asigna-ción única de esta información a una etapa así como el acceso a estosdatos se hace a través del nombre de la etapa.
El usuario puede así obtener información en relación a:
el estado actual de una etapa (activa, inactiva),el tiempo que una etapa ha estado activa desde el inicio.
La tabla B11.2 ilustra el acceso a los datos de la etapa.
La evaluación de los datos citados puede ser útil en relación a la su-pervisión del sistema conectado. Pueden también surgir aplicacionesque requieran el uso de variables en el propio programa de control.
a) Motor_3_activo.X Variable booleana indicando si la etapa Motor_3_activose halla activa (Motor_e_activo.X=1) o inactiva (=0)
b) Motor_3_activo.T Variable del tipo TIME indicando el tiempo que haestado activa la etapa Motor_3_activo desde el inicio.
Tabla B11.2:Información relativa a unaetapa
B-123Capítulo 11
Festo Didactic • TP301
Un caso especial dentro del elemento etapa es la denominada etapaprincipal (tabla B11.1b). Esta se dibuja gráficamente por medio de unadoble línea.
Cada red en un diagrama de funciones secuencial tiene una sola etapainicial, que es ejecutada como primera etapa dentro de una red.
Como ya se ha mencionado, la importancia de un diagrama de funcio-nes secuencial reside en su representación gráfica claramente estruc-turada de un programa de control. Sin embargo, también puede ser útilrepresentar estructuras secuenciales textualmente. El estándar IEC1131-3 proporciona un equivalente de representación textual de ele-mentos SFC para ello, que es como sigue para el elemento etapa:
La representación textual de estructuras secuenciales puede, según elfabricante, ser parte de la documentación de un programa de control;este tipo de distribución de las estructuras secuenciales no tiene ningu-na restricción en cuanto al formato y juego de caracteres para la im-presión.
Ademas, para programas de control en representación textual estanda-rizada, puede ser posible que sean portátiles entre PLCs de diferentesfabricantes.
La transiciónUna transición o condición de habilitación de una etapa contiene lascondiciones lógicas que permiten la transición, de acuerdo con el pro-grama, desde una etapa a la siguiente.
Como puede verse en la tabla B11.1d, la transición está representadapor una línea horizontal que cruza el enlace vertical entre etapas. Cadatransición tiene una condición de transición, que es el resultado de laevaluación de una expresión booleana. La condición de transición pue-de formularse en cualquiera de los lenguajes IEC 1131-3, tales comoLD, FBD, IL o ST.
STEP Motor_3_activo(* Contenido de la etapa *)
END_STEP
STEP Vacio_inactivo(*Contenido de la etapa*)
END_STEPFig. B11.2:
Representación textualde las etapas
B-124 Capítulo 11
TP301 • Festo Didactic
Una condición de transición o en cierta y entonces tiene el valor 1, oes falsa y tiene el valor 0. Solamente si la condición es cierta, se prosi-gue la ejecución del programa o el bloque de función en este punto.
Si una condición es siempre cierta, puede ser identificada simplementecon el número 1 en la transición. Las condiciones de transición de estetipo que son siempre ciertas pueden producirse frecuentemente en unprograma o bloque de función en un diagrama de funciones secuencial.
Interconexión de etapas y condiciones de habilitación de etapasEn la práctica, no puede conseguirse mucho con una simple etapa ocon una transición. Por lo tanto, un programa de control representadoen diagrama de funciones secuencial estará compuesto siempre poruna sucesión de muchas transiciones y etapas.
Una secuencia de transiciones y etapas se denomina cadena de eta-pas, secuencia o también recorrido.
Condición de transición siempre cierta
Condición de transición siempre falsa
1
0Tabla B11.3:Transiciones especiales
D
E
F
Etapa_7
Etapa_5
Etapa_6
Fig. B11.3:Etapas y transiciones en secuencia
B-125Capítulo 11
Festo Didactic • TP301
Aquí, las transiciones y etapas deben alternarse continuamente. El re-corrido lógico a través de esta representación es siempre de arriba aabajo. El siguiente comportamiento puede verse en el ejemplo mostra-do en la figura B11.3:
Asumiendo que la etapa Etapa_5 está activa, la Etapa_5 permaneceactiva hasta que la transición D sea cierta. El cumplimiento de las con-diciones de transición producen la desactivación de la Etapa_5 y laactivación de la siguiente Etapa_6. En el momento en que la Etapa_6está activa, se examina la transición E de control. Si la transición E escierta, termina la Etapa_6 y se procesa la Etapa_7, etc.
La derivación alternativaA menudo es necesario programar una derivación en un programa decontrol, con lo que el programa puede continuar en diferentes lugaresen este punto.
La derivación alternativa a diferentes recorridos se representa por elcorrespondiente número de transiciones tras la línea horizontal. En elejemplo de la tabla B11.1e, se sigue la ruta hacia la Etapa_4 si latransición E es cierta y la F falsa, o hacia la Etapa_5, si la transición Fes cierta y la E falsa.
La correspondiente contrapartida a la derivación alternativa es la uniónde rutas alternativas, en las que las transiciones deben situarse siem-pre sobre la línea horizontal.
El flujo del programa en la tabla B11.1f pasa de la Etapa_6 a la Eta-pa_8 si la transición G es cierta o de la Etapa_7 a la Etapa_8 si latransición H es cierta. El factor decisivo aquí es la ruta que haya segui-do el control para alcanzar esta unión de rutas alternativas. Si esta serealiza a través de la Etapa_6, la condición H no tiene significado algu-na. Análogamente si el programa de control ha seguido la ruta hacia laEtapa_7, la condición G no se evalúa, ya que no interviene.
Hay que observar que en el caso de una derivación alternativa, el pro-grama de control sigue solamente una de las rutas. Por ello no esobligatorio que las transiciones de las derivaciones sean mutuamenteexcluyentes.
B-126 Capítulo 11
TP301 • Festo Didactic
Si no existen otras especificaciones, se sigue la ruta que se halla mása la izquierda. Por lo tanto, la prioridad para el cálculo de las transicio-nes se realiza de izquierda a derecha.
Esta es probablemente las variante más comunmente empleada porlos fabricantes de controles para la consecución de derivaciones alter-nativas.
Por todo ello, una sección de un programa o bloque de función conuna triple derivación alternativa podría ser como sigue:
Sin embargo, el estándar IEC 1131-3 también ofrece la facilidad parael usuario de definir la prioridad durante la ejecución de las transicio-nes. La definición de la funcionalidad de las derivaciones alternativasen IEC 848, que requiere que el usuario programe una exclusión mú-tua de las condiciones de transición, está también soportada por IEC1131-3 como un tercer método.
D E F
G H I
Etapa_6
Etapa_7
Etapa_3
Etapa_4 Etapa_5
Fig. B11.4:Derivación alternativa:Procesamiento detransiciones de izquierda a derecha
B-127Capítulo 11
Festo Didactic • TP301
A diferencia de los ejemplos anteriores, los números en la ruta, en la fig.B11.5 indican la prioridad definida por el usuario para la evaluación de latransición. La ruta con el número más bajo tiene la mayor prioridad.
Así, la transición evoluciona de la Etapa_7 a la Etapa_9, si las transi-ciones D y E son ciertas, o de la Etapa_7 a la Etapa_8 si la transiciónD es cierta y la transición E es falsa.
Una estructura en bucle puede considerarse como un caso especial dederivación alternativa, en la que uno o varias etapas regresan a unaetapa precedente.
En la fig. B11.6, el flujo del programa evoluciona desde la Etapa_5 a laEtapa_4 si la condición F es cierta y la E es falsa. De esta formapuede repetirse la evolución de la secuencia Etapa_4 a Etapa_5.
D E2 1
Etapa_7
Etapa_8 Etapa_9Fig. B11.5:
Derivación alternativa con prioridad definida
por el usuario
E F
C
D
Etapa_6
Etapa_5
Etapa_3
Etapa_4
Fig. B11.6:Representación
de un bucle
B-128 Capítulo 11
TP301 • Festo Didactic
La derivación paralelaUn elemento funcional completamente diferente en el diagrama de fun-ciones secuencial es la derivación paralela.
Esta se representa por una doble línea y una transición encima de estalínea (tabla B11.1g). Cuando se cumple la transición B, se produce unaevolución de la Etapa_3 a la Etapa_4 y Etapa_5. Estas dos etapas seejecutan simultáneamente.
Una derivación en paralelo determina que los caminos conectados de-ben ser activados simultáneamente y deben evolucionar inde-pendientemente uno de otro. En el caso opuesto, al finalizar los recorri-dos paralelos, la transición se representa siempre bajo la doble líneahorizontal.
La unión paralela contiene un mecanismo para la sincronización. Sólocuando los recorridos procedentes de arriba se han ejecutado comple-tamente, se evalúa la subsecuente transición. Si es cierta, se realiza latransición a la siguiente etapa. En la tabla B11.1h esto significa: ambasetapas Etapa_6 y Etapa_7 deben haber transcurrido antes de la eva-luación de la transición F.
Cuando se ha cumplido la condición de habilitación F, los tres recorri-dos con las etapas Etapa_4, Etapa_5 y Etapa_6 y Etapa_7 deben evo-lucionar simultáneamente.
Dependiendo del contenido de la transición G entre las dos etapasEtapa_6 y Etapa_8, el programa de control puede tener que esperarhasta que se cumpla la transición G. Por lo tanto, la transición inferiorH sólo se examina si el recorrido de la derecha ha evolucionado com-pletamente. Este sólo puede suceder si la transición G en este recorri-do se ha cumplido.
F
G
H
Etapa_6Etapa_4 Etapa_5
Etapa_7
Fig. B11.7:Representación de unaderivación en paralelo triple
B-129Capítulo 11
Festo Didactic • TP301
Cada transición es asignada a una condición de transición (condiciónde habilitación de la etapa). Esto lo proporciona el resultado de unaecuación Booleana.
11.3 Transiciones
En el caso más simple, una condición de habilitación de la etapa pue-de ser especificada por la interrogación de una entrada del control uotra variable booleana. Sin embargo, es también posible programarcondiciones de habilitación de la etapa considerablemente más com-plejas.
Formulación de condiciones de transiciónLas condiciones de transición pueden programarse en los siguienteslenguajes
Diagrama de contactosDiagrama de funcionesLista de instruccionesTexto estructurado
El contenido de la condición de transición o bien está especificada di-rectamente en la transición (véase fig. B11.8) o enlazada con la transi-ción a través de un nombre de transición (véase fig. B11.9).
&%IX3
%IX3a)
b)
c)
Condición de transiciónen lenguaje LD
Condición de transiciónen lenguaje FBD
Condición de transiciónen lenguaje ST
Etapa_3
Etapa_4
Etapa_3
Etapa_4
Etapa_3
Etapa_4
%IX3 & %MX1
%MX1
%MX1
Fig. B11.8:Especificación directa
de una condición de transición
B-130 Capítulo 11
TP301 • Festo Didactic
Aquí, dos resultados están conectados a través de una función lógicaAND, con lo que la condición de transición no se cumplirá hasta queambas entradas %IX3 y el flag %MX1 asuman el valor 1.
La señal pasa de izquierda a derecha en los lenguajes gráficos LD yFBD, la parte LD o FBD se define a la izquierda, junto al símbolo de latransición (línea horizontal).
La expresión Booleana en el lenguaje ST se define a la derecha delsímbolo de transición.
Tran_3_4
%IX3 Tran_3_4
&%IX3 Trans_3_4
TRANSITION Tran_3_4:
END_TRANSITION
END_TRANSITION
TRANSITION Tran_3_4:
%IX3
END_TRANSITION
TRANSITION Tran_3_4:
LD
AND
END_TRANSITION
TRANSITION Tran_3_4:
a)
b)
c)
d)
Condición de transiciónen lenguaje LD
Nombre de la transición
Condición de transiciónen lenguaje FBD
Condición de transiciónen lenguaje IL
Condición de transiciónen lenguaje ST
Etapa_3
Etapa_4
%MX1
%MX1
%MX1
: = %IX3 & %MX1;
Fig. B11.9:Asignación de unacondición de transición, especificando un nombrepara la transición
B-131Capítulo 11
Festo Didactic • TP301
Si se utiliza un nombre de transición como mecanismo de asignaciónde una condición de transición, el nombre de la transición debe referir-se a una construcción TRANSTION...END_TRANSITION.
La condición de transición se formula dentro de esta construcción y elresultado booleano es reproducido en el nombre de la transición.
Los nombres de transición dentro de una unidad de organización deprograma, como los nombres de las etapas, deben diferir unos deotros. Un nombre se formula de acuerdo con las reglas IEC 1131-3aplicables a los identificadores.
IEC 1131-3 define también una representación textual equivalente parael elemento gráfico Transición. La verdadera condición de transición seprograma o bien en lenguaje de lista de instrucciones o en texto es-tructurado.
a) Condición de transición formulada en lenguaje ST
STEP Etapa_3: END_STEPTRANSITION FROM Etapa_3 TO Etapa_4
:= %IX3 & %MX1;END_TRANSITIONSTEP Etapa_4: END_STEP
b) Condición de transición formulada en lenguaje IL
STEP SEtapa_3: END_STEPTRANSITION FROM Etapa_3 TO Etapa_4
LD %IX3AND %MX1;
END_TRANSITIONSTEP Etapa_4: END_STEP
Fig. B11.10:Representación
textual de transiciones
B-132 Capítulo 11
TP301 • Festo Didactic
Una etapa representa la parte de ejecución de un diagrama de funcio-nes secuencial. Sólo dentro de las etapas puede un programa o unbloque de función, dentro de un control, influir en el sistema conectadoa través de sus salidas, activando o desactivando las salidas.
11.4 Etapas
Estructura de una etapa dentro de las accionesCada etapa puede contener varias acciones. Cada una de estas accio-nes realiza una tarea para el sistema conectado. La estructura de unaetapa en acciones individuales inicialmente es tan sólo una función deordenación. Esto hace más clara la etapa, ya que crea límites clara-mente definidos entre las etapas de las tareas individuales. Sin embar-go, ya que cada acción tiene asignado un calificador, la estructuraciónde una etapa en acciones individuales también define una funcionali-dad adicional.
Una etapa que no contenga ninguna acción puede ser consideradacomo un caso especial. Su única finalidad es separar dos condicionesde habilitación de etapa, que van a ser evaluadas consecutivamente.Ello permite una función de espera, en la que la primera condición dehabilitación de la etapa tiene prioridad, independientemente de si lasegunda se ha cumplido o no, y la segunda condición de habilitaciónde la etapa debe cumplirse a continuación.
Bloques de acciónLa programación gráfica de etapas se realiza a través de bloques deacción individuales. cada acción es, por lo tanto, conectada con unacaracterística particular.
Un bloque de acción es representado en forma tabular, que contieneposiciones fijas para la especificación del calificador de la acción, elnombre de la acción y el contenido de la acción. Además, puede tam-bién introducirse una variable de realimentación.
a b cd
Campo a: Calificador de la acción:N = no memorizanteS = activar, memorizanteR = desactivarP = pulsó (único)L = limitado en el tiempo
D = retardado en el tiempoDS = retard. en tiempo y memoriz.SD = memoriz y retardado en tiempoSL = memoriz. y limitado en tiempo
Campo b:Campo c:Campo d:
Nombre de la acciónVariable de realimentaciónContenido de la acción
Fig. B11.11:Representación gráfica de un bloque de acción
B-133Capítulo 11
Festo Didactic • TP301
De nuevo, el nombre b de una acción representa un identificador sim-bólico estándar, que actúa puramente como un medio de diferenciacióny no tiene más significado.
Ya que la lista de acciones a menudo forma parte de una etapa, tam-bién puede ser representada junto con esta.
La asignación de acciones a una etapa en forma gráfica se realiza pormedio de bloques de acción.
Sin embargo, la asignación también puede formularse textualmente. Enel caso del ejemplo mostrado en la fig, B11.12, esto resulta en la si-guiente representación:
El contenido de una acción, es decir, la propia acción, puede definirsepor medio de varios métodos:
Especificación de una variable booleanaProgramación en lista de instruccionesProgramación en texto estructuradoDiagrama de contactosDiagrama de funcionesDiagrama de funciones secuencial
L Var_1
Var_1T#10s
P
N
Acción_1Etapa_8
Acción_2
Acción_3
Fig. B11.12:Lista de bloques de acción
STEP Etapa_8Acción_1( L, T#10s, Var_1 );Acción_2( P );Acción_3( N );
END_STEPFig. B11.13:
Representación textual deuna etapa con acciones
B-134 Capítulo 11
TP301 • Festo Didactic
La utilización de una variable booleana representa una forma simple yfrecuentemente utilizada de una acción. En muchos casos, sin embar-go, se requieren acciones más complejas conteniendo una conexiónlógica útil de información diferente.
En los ejemplos B11.14 a B11.16, la salida %QX1.2 se activa, si laentrada %IX0.5 está activa o si están activos los flags %MX1 y %MX3.Si no es este el caso, la salida %QX1.2 se desactiva.
En lugar de una red individual de una secuencia de instrucciones, tam-bién son posibles varias redes dentro de una acción en lenguajes tex-tuales. De esta forma, es posible incorporar una gama muy amplia deacciones en una etapa y la propia etapa puede seguir contiendo es-tructuras secuenciales (fig. B11.17).
&
>=1 %QX1.2
Acción_2
%IX0.5
%MX1
%MX3Fig. B11.14:Formulación de acciones:declaración gráfica en FDB
%IX0.5 %QX1.2
Acción_2
%MX1 %MX3 Fig. B11.15:Formulación de acciones:Declaración gráfica enlenguaje LD
Lenguaje IL Lenguaje ST
ACTION Acción_2:LD %IX0.5OR ( %MX1AND %MX3)ST %QX1.2
END_ACTION
ACTION Acción_2:%QX1.2 := %IX0.5 OR (%MX1 AND %MX3);
END_ACTION
Fig. B11.16:Formulaciòn de acciones:Declaración textual
B-135Capítulo 11
Festo Didactic • TP301
Si hay campos individuales de un bloque de acción que no se necesi-tan, tales como por ejemplo, si una variable Booleana se utiliza comocontenido de la acción, es permisible una posterior simplificación en larepresentación de un bloque de acción.
Una variable de realimentación (campo c) puede introducirse en cadabloque de acción. Las variables de realimentación son programadaspor el usuario dentro de las acciones e indican su condición de finaliza-ción, desbordamiento de tiempo o error. La Fig, B11.19 indica una apli-cación recurrente que se produce con frecuencia. Aquí, la secuencia deetapas y transiciones está estructurada de forma tal que la acción de unpaso establece la subsecuente condición de habilitación de la etapa.
S %QX12Fig. B11.18:Representación simplificada
de un bloque de acción
LT#1s
Acción_4
Pieza_presente
Marcha
Determinar_colorColor
C_okFig. B11.17:Formulación de acciones:
Inclusión de elementosSFC en una acción
S Pos_1
S
S
R Pos_2
Pos_2
Pos_1
Etapa_3
Etapa_4
Etapa_2 Cilindro_1
Cilindro_2
Vac_on
Vacio_activo Vac_on
Cilindro_1
Fig. B11.19:Uso de variables
de realimentación
B-136 Capítulo 11
TP301 • Festo Didactic
Modo de acción de los calificadores de acciónEl tipo de ejecución de las acciones programadas por el usuario sedefine por el calificador de acción asociado.
IEC 1131-3 define los siguientes calificadores de acción
N Non-stored (no memorizante)S Set (Activación - Memorizante)R Reset (Desactivación - Memorizante)P Pulse (Pulso único)L Time limited (Limitado en el tiempo)D Time delayed (Retardado en el tiempo)DS Time delayed and stored (Retardado en el tiempo y memorizanteSD Stored and time delayed (Memorizante y retardado en el tiempo)SL Stored and time limited (Memorizante y limitado en el tiempo)
Cada acción es el equivalente de exactamente uno de estos calificado-res. Además, los calificadores L, D, DS, SD, SL tienen una duraciónasociada del tipo Time (Tiempo), ya que estos definen un comporta-miento temporal de la acción.
Los calificadores tienen un significado definido con precisión. Si unaetapa está inactiva, no se ejecuta ninguna de las acciones de la etapa.Dentro de una etapa activa, se aplican los siguientes métodos para laejecución de un calificador de acción.
N No memorizantela acción se ejecuta mientras la etapa esté activa.
En el ejemplo citado, la salida %QX12 está activada mientras la etapaque contiene esta acción esté activa. Al finalizar la etapa, es decir,cuando se cumple la condición de habilitación de la etapa siguiente, lasalida se desactiva automáticamente.
%QX12
1
0
1
0
N %QX12
Etapaactiva
Fig. B11.20:Acción no memorizant
B-137Capítulo 11
Festo Didactic • TP301
S Set - Activarla ejecución de la acción de activación se ejecuta permanentemente(activación memorizante).
En este ejemplo, la salida %QX12 se activa mientras la etapa conte-niendo esta acción esté activa. La salida también permanece activa,cuando la subsecuente condición de habilitación de la etapa se cumpley la etapa considerada ya no sigue activa. La salida solamente puede serdesactivada en otro paso, en otra acción, definida con el calificador R.
R Reset - Desactivarse cancela una acción de activación previa (realizada en otra etapa)con el calificador S, DS, SD, L o SL.
La salida %QX12 ha sido activada en otra etapa, en una acción conuno de los calificadores S, DS, SD, L o SL y desactivada de nuevo através de esta acción
%QX12
1
0
1
0
S %QX12
Etapaactiva
Fig. B11.21:Acción Set
(activar - memorizante)
%QX12
1
0
1
0
R %QX12
Etapaactiva
Fig. B11.22:Acción Reset
(desactivar - memorizante)
B-138 Capítulo 11
TP301 • Festo Didactic
P Pulso (único)ejecución única de la acción
Durante la ejecución inicial de la acción, dentro del procesamiento dela etapa, la salida %QX12 se activa exactamente un ciclo del control yse desactiva de nuevo. La salida sólo podrá activarse de nuevo tras lasalida y una nueva entrada en la etapa.
L Limitada en el tiempoLa acción se ejecuta durante un tiempo específico.
La salida %QX12 se activa durante 10 segundos y a continuación sedesactiva. Esto requiere que la etapa que contenga esta acción estéactiva por un período de por lo menos 10 segundos. Si las condicionesde habilitación de la etapa siguiente se cumplen antes de este tiempo,el tiempo de acción de la salida también se reduce, ya que en cual-quier caso es desactivada al final de la etapa.
%QX12
1
0
1
0
P %QX12
Etapa activa
Fig. B11.23:Acción única
%QX12
1
0
1
010s
LT#10s
%QX12
10s
Etapaactiva
Fig. B11.24:Acción limitada en el tiempo
B-139Capítulo 11
Festo Didactic • TP301
D Retardada en el tiempoLa ejecución de la acción es retardada hasta el final de la etapa.
Aquí, la salida %QX12 no se activa hasta que hayan expirado 10 se-gundos y permanece activa hasta que la etapa pasa a estar inactiva.Si el tiempo que está activada la etapa es inferior a los 10 segundos,la salida no será activada durante el procesamiento de esta etapa.
DS Retardada en el tiempo y memorizanteLa ejecución de la acción es retardada en el tiempo y mantenidamás allá del final de la etapa.
En este ejemplo también, la salida %QX12 se activa una vez transcu-rridos 10 segundos. Sin embargo, permanece activada hasta que sehaya completado la etapa. Debe ser explícitamente desactivada a tra-vés de otra acción con el calificador R (en otro paso). Si la duraciónde la etapa no es suficientemente larga, en este caso, menos de 10segundos, la salida nunca será activada.
%QX12
1
0
1
010s
DT#10s
%QX12
10s
Etapaactiva
Fig. B11.25:Acción retardada
en el tiempo
DST#10s
%QX12
%QX121
0
10s
1
0
1
0
10s
Etapaactiva
Ractivo(en otra etapa)
Fig. B11.26:Acción retardada en eltiempo y memorizante
B-140 Capítulo 11
TP301 • Festo Didactic
SD Memorizante y retardada en el tiempola ejecución de la acción es retardada en el tiempo y se mantienemás allá del final de la etapa
Aquí también, la salida %QX12 se activa transcurridos los 10 segun-dos. Permanece activada después del final de la etapa y solamentepuede ser desactivada explícitamente a través de otra acción con elcalificador R en otra etapa. A diferencia del modo de acción del califi-cador DS, no es necesario que la etapa permanezca activa más alláde la duración del retardo para que la salida esté activa.
SL Memorizante y limitada en el tiempola acción es ejecutada continuamente por un periodo específico.
La salida es activada durante 10 segundos y a continuación esdesactivada de nuevo. A diferencia del modo de acción del califi-cador L, no es necesario que el paso esté activo por un mínimode 10 segundos.
SDT#10s
%QX12
%QX121
0
10s
1
0
1
0
10s
Etapaactiva
Ractivo(en otra etapa)
Fig. B11.27:Acción memorizante yretardada en el tiempo
SLT#10s
%QX12
%QX121
0
10s10s
1
0Etapaactiva
Fig. B11.28:Acción memorizante ylimitada en el tiempo
B-141Capítulo 11
Festo Didactic • TP301
Si la siguiente condición de habilitación del paso se cumple antes deque expire este tiempo, es decir, si la etapa está activa menos de 10segundos, el período activo de la salida no se ve afectado por esto. Lasalida puede ser desactivada en cualquier momento a través de otraacción con el calificador R.
El modo de acción de los calificadores individuales ha sido ilustrado enel ejemplo de una variable booleana como acción. Si se necesitan ac-ciones más complejas, es decir, no booleanas, el tipo de ejecución esdiferente a las variables booleanas examinadas previamente. Las re-des son continuamente procesadas mientras la etapa esté activa. Sinembargo, así que se cumple la siguiente condición de habilitación delpaso, se realiza una vez más la última y única ejecución de las redes.
Esta definición permite la desactivación objetiva de variables al final delprocesamiento de una acción, cuando se utiliza el calificador N paraacciones más complejas.
Si la Etapa_5 es desactivada, el último procesamiento de la red serealiza con el valor 0 para el flag de etapa Etapa_5.X. Esto hace quela salida %QX1.0 se desactive a 0 cuando se sale de la etapa.
N
&%IX1.0 %QX1.0
SR_1
SR
%IX1.5 %QX1.5S1
R
Q1
Step_5.X
Etapa_5 Acción_1
%MX12
Fig. B11.29:Acción compleja en
lenguaje FBD
B-142 Capítulo 11
TP301 • Festo Didactic
Descripción del problemaUnos componentes se trasladan juntos en una cinta transportadora ha-cia una estación de procesamiento doble. Las unidades de taladrado yavellanado descienden cuando el componente se halla en posición. Seutilizan dos cilindros 1.0 y 2.0 para mover las dos herramientas demecanizado. El dispositivo de transporte es indexado una posición detrabajo a través de un tercer cilindro 3.0.
11.5 Ejemplo
Dos sensores B1 y B2 están dispuestos para detectar si la pieza sehalla debajo de la broca o del avellanador. Las profundidades necesa-rias de taladrado y avellanado se detectan a través de los sensores deposición B6 y B7. Las posiciones iniciales del cilindro de transporte,taladrado y avellanado pueden detectarse a través de los estados delos sensores B3, B4 y B5. El sensor B8 indica el avance del cilindro detransporte.
El sistema no puede garantizar siempre que habrá una pieza bajo labroca y el avellanador en cada movimiento de transporte. Por ello,debe interrumpirse el procesamiento en el caso de que ho hubiera pie-za. Si faltan ambas piezas al mismo tiempo, no deberá descender nin-guna de las herramientas.
3.0
B5 B8
1.0 2.0
B3
B6
B1
B4
B7
B2
Fig. B11.30:Croquis de situación
B-143Capítulo 11
Festo Didactic • TP301
Lista de asignaciones
ProblemaDebe diseñarse un programa de control para esta tarea. La solución esconseguir una configuración por medio de un diagrama de funcionessecuencial. Las condiciones y acciones deben entonces aplicarse a lasetapas y las transiciones. El programa debe ejecutarse cíclicamente.
Para simplificar, puede asumirse que no hay necesidad de utilizar tiem-pos para compensar las tolerancias de posicionado.
Denominacióndel componente
Entrada PLC/Salida PLC
Tarea
B1B2B3B4B5B6B7B8Y1Y2Y3
%IX0.1%IX0.2%IX0.3%IX0.4%IX0.5%IX0.6%IX0.7%IX0.8%QX0.1%QX0.2%QX0.3
Detectar la pieza bajo el taladroDetectar la pieza bajo el avellanadorPosición inicial del taladro (arriba)Posición inicial del avellanador (arriba)Posición inicial del transportadorTaladro en posición bajaAvellanador en posición bajaCilindro de transporte extendidoBajar taladroBajar avellanadorAlimentar transporteTabla B11.4:
Lista de asignaciones
B-144 Capítulo 11
TP301 • Festo Didactic
Solución
R Y1
R Y2
R Y3B3 B4 B5
B1
S A
B6
R A
B3
1
S C
B8
B1
/
B2
S B
B7
R B
B4
B2
/
Marcha
Taladrado
T_arriba
Transporte
Avellanado
A_arriba
Fig. B11.31:Programa en lenguajesecuencial
B-145Capítulo 11
Festo Didactic • TP301
Todos los cilindros son llevados a su posición inicial en una primeraetapa. Al final del programa, esta etapa se utiliza también para hacerretroceder el cilindro que ha avanzado durante la última etapa para eldispositivo de transporte.
Cuando todos los cilindros se hallan en su posición inicial, empiezauna derivación en paralelo con dos secuencias, una para taladrar yotra para avellanar. En este ejemplo, ambas secuencias contienen lasmismas tareas, pero utilizan diferentes herramientas. La secuencia dela izquierda hace bajar la broca y la eleva de nuevo, y la secuencia dela derecha hace lo mismo con el avellanador. Las secuencias difierenmeramente en la utilización que hacen de sensores y actuadores. Alprincipio y al final de ambas secuencias se ha incorporado una etapavacía para mantener la secuencia necesaria de etapas y transiciones.
El programa para el taladrado evoluciona como se indica a continua-ción. Detecta si hay pieza disponible a través del estado del sensor B1.Si tiene señal 1, la pieza se halla en posición y empieza el proceso detaladrado. De lo contrario se elude todo el proceso de taladrado a tra-vés de una ruta alternativa. El taladrado del agujero empieza haciendodescender la broca activando Y1. Cuando se alcanza la posición másbaja, es decir, cuando ha finalizado el taladrado del agujero, el sensorB6 emite una señal 1. En la siguiente etapa, la broca regresa a suposición normal en la parte superior. Esta parte de la derivación alter-nativa termina cuando la broca alcanza la parte superior. El programasigue el mismo procedimiento para el avellanado.
Cuando ambas secuencias paralelas se han completado, se produceuna transición en el programa a la etapa de transporte. La necesariasincronización – es decir, taladrado y avellanado finalizados – estáasegurada por el diagrama de funciones secuencial y por lo tanto norequiere ningún tratamiento especial. En este punto se inserta siempreuna condición de habilitación del paso que sea cierta para alternar lasetapas y las transiciones.
En la última etapa Transporte, el cilindro del dispositivo de transporteavanza y se espera que se haya completado la acción en la siguientecondición de transición. A continuación, todo el proceso empieza denuevo.
B-146 Capítulo 11
TP301 • Festo Didactic
Capítulo 12
Sistemas de control lógico
B-147Capítulo 12
Festo Didactic • TP301
Los sistemas de control lógico son controladores programados a travésdel uso de operaciones booleanas. Todas las operaciones lógicas sonprocesadas y ejecutadas durante un ciclo de máquina.
12.1 ¿Qué es unsistema decontrol lógico?
Las tareas de control realizadas típicamente en forma de control lógico,se caracterizan por el hecho que no se asigna una duración de tiempoal proceso, sino que todas o la mayor parte de las condiciones delprograma de control son examinadas simultáneamente.
Por ello pueden encontrarse ejemplos de sistemas de control lógico enaplicaciones de PLC, en donde son importantes los aspectos de segu-ridad. A menudo se requiere que la supervisión de ciertas tareas seapermanente e independiente de la ejecución del proceso en relacióncon el tiempo. Estos requerimientos se aplican, por ejemplo en:
Circuitos de protección: un dispositivo solamente puede cargar sitodos los dispositivos de protección están conectados.Enclavamiento de seguridad
Los sistemas de control lógico sin propiedades memorizantes (combi-natorios) pueden describirse por medio de una combinación de opera-ciones booleanas, mientras que las señales de salida de un controlestán determinadas por una combinación de señales de entrada en undeterminado momento.
12.2 Sistemas decontrol lógicosin propiedadesmemorizantes
Las operaciones lógicas básicas AND, OR y NOT pueden utilizarsepara crear operaciones lógicas completas – y por lo tanto, tambiénsistemas de control.
Se utilizan diversos métodos del álgebra booleana, tales como tablasde función, ecuaciones booleanas y la forma normal disyuntiva (DNF)para describir el problema y hallar la solución. La importancia de estosmétodos se demuestra entre otras cosas en las aplicaciones más com-plejas para los sistemas de control lógico. La programación real de unsistema de control lógico es preferible hacerla en los lenguajes de dia-grama de contactos o el diagrama de bloques de función.
B-148 Capítulo 12
TP301 • Festo Didactic
Típicas operaciones booleanasLo que sigue representan tareas básicas de la tecnología de control,tales como las operaciones booleanas que se realizan por medio de unPLC.
Las soluciones están representadas en los lenguajes LD, FBD, IL y ST.Las secciones con la solución están precedidas por una declaración delas entradas y salidas necesarias para el PLC. Además, se relacionantambién las opciones de descripción de una tabla de función y la ecua-ción booleana.
Negación:La señal de salida asume el valor 1, si la señal de entrada tiene elvalor 0 y viceversa.
El piloto H1 se ilumina mientras el interruptor S1 no está accionado; seapaga si se cierra el interruptor. Por lo tanto, la finalidad de S1 esapagar el piloto.
Ejemplo
S1 H1
0 1
1 0
H1 = S1
Ecuación BooleanaTabla de funciones
Fig. B12.1:Métodos de descripción
VARS1 AT %I2.5 : BOOL;H1 AT %Q1.4 : BOOL;
END_VAR Fig. B12.2:Declaración de variables
B-149Capítulo 12
Festo Didactic • TP301
Operación AND:La señal de salida solamente asume el valor 1, si todas las señales deentrada tienen el valor 1.
El piloto H1 debe iluminarse sólo si los dos interruptores S1 y S1 estánaccionados simultáneamente.
Ejemplo
S1 H1
b) FBD
S1 H1NOT
d) STc) IL
H1 : = NOT S1;LDNST
S1H1
a) LD
/
Fig. B12.3:Negación
S1 S2
0 0
1 0
H1
0
0
0 1 0
1 1 1
>H1 = S1 S2
Ecuación BooleanaTabla de funciones
Fig. B12.4:Métodos de descripción
VARS1 AT %I2.5 : BOOL;S2 AT %I2.6 : BOOL;H1 AT %Q1.4 : BOOL;
END_VARFig. B12.5:Declaración de variables
B-150 Capítulo 12
TP301 • Festo Didactic
Operación ORLa señal de salida asume el valor 1, si por menos una señal de entra-da tiene el valor 1.
El piloto H1 debe encenderse, si por lo menos uno de los interruptoresS1 o S2 está activado.
Ejemplo
S1 H1
b) FBD
d) STc) IL
H1 : = S1 AND S2;LDANDST
S1S2H1
a) LD
S2&
S2H1S1
Fig. B12.6:Operación AND
>H1 = S1 S2S1 S2
0 0
1 0
H1
0
1
0 1 1
1 1 1
Ecuación booleanaTabla de funciones
Fig. B12.7:Métodos de descripción
VARS1 AT %I2.5 : BOOL;S2 AT %I2.6 : BOOL;H1 AT %Q1.4 : BOOL;
END_VAR Fig. B12.8:Declaración de variables
B-151Capítulo 12
Festo Didactic • TP301
Operaciones lógicas combinadas
El piloto H1 debe iluminarse sólo si precisamente dos de los tres inte-rruptores S1, S2 y S3 están activados.
Ejemplo
Los primero que hay que crear es la tabla de funciones, en la que seseleccionan aquellas combinaciones que dan el resultado 1. Estas sonlas líneas 4, 6 y 7. La ecuación booleana y por lo tanto la soluciónpuede crearse a partir de esta combinación. La conversión de la solu-ción en cada uno de los lenguajes de programación se indica en la fig.B12.12.
S1 H1
b) FBD
d) STc) IL
H1 : = S1 OR S2;LDORST
S1S2H1
a) LD
>=1
S2H1S1
S2
Fig. B12.9:Operación OR
S1 S2
0 0
0 1
S3
0
0
0 0 1
0 1 1
1 0
1 1
0
0
1 0 1
1 1 1
H1
0
0
0
1
0
1
1
0
>H1 = (S1 S2 > S3)
>(S1 S2 > S3)>
>(S1 S2 > S3)>
Ecuación booleanaTabla de funciones
Fig. B12.10:Métodos de descripción
B-152 Capítulo 12
TP301 • Festo Didactic
VARS1 AT %I2.5 : BOOL;S2 AT %I2.6 : BOOL;S3 AT %I2.7 : BOOL;H1 AT %Q1.4 : BOOL;
END_VAR Fig. B12.11:Declaración de variables
S1 H1
b) FBD
d) STc) IL
(NOT S1 AND S2 AND S3)OR (S1 AND NOT S2 AND S3)OR (S1 AND S2 AND NOT S3);
LD (ANDANDN)OR (ANDNAND)OR (ANDANDN)ST
S3S2S1
S1S2S3
S1S2S3
H1
a) LD
>=1 H1
S3
H1 : =
/
S2 S3
S1 S2
/
S1 S2 S3
/
&
S3S2S1
&
S3S2S1
&
S3S2S1
Fig. B12.12:Combinación deoperaciones booleanas
B-153Capítulo 12
Festo Didactic • TP301
Muchas aplicaciones de PLC requieren operaciones memorizantes.Una función memorizante consiste en la retención, es decir, el almace-namiento, del estado de una señal de breve duración. En un instantedeterminado, las señales de salida no sólo dependen de la combina-ción de las señales de entrada, sino también de los "estados previos".
12.3 Sistemas decontrol lógicocon funciónmemorizante
El ejemplo dado aquí es el de un interruptor para encender o apagarun piloto.
IEC 1131-3 define dos bloques de función para la realización de fun-ciones de memoria. Estos son el bloque de función SR (activación prio-ritaria) y RS (desactivación prioritaria). A continuación se da una des-cripción de los bloques.
Bloque de función RS
El bloque de función estándar SR contiene un flip-flop de activaciónprioritaria (memoria biestable con estado 1 preferente). Una señal 1 enla entrada de activación S1 activa el flip-flop, es decir, el valor Q1 pasaa 1. El valor aplicado en la entrada de desactivación R es irrelevante.Una señal 1 en la entrada de desactivación R, solamente pone la sali-da Q1 al valor 0, si la entrada de activación S1 es también 0. Por lotanto, la entrada de activación en este flip-flop es dominante.
SRS1R
Q1BOOLBOOL
BOOL
Fig. B12.13:Bloque de función SR, de
activación prioritaria
B-154 Capítulo 12
TP301 • Festo Didactic
Bloque de función RS
El bloque de función estándar RS contiene un flip-flop con desactiva-ción prioritaria (memoria biestable con estado dominante 0). Una señal1 en la entrada de desactivación R1, desactiva el flip-flop, es decir, elvalor de Q1 pasa a 0. El valor que haya en la entrada S es irrelevanteen este momento.
El siguiente ejemplo ilustra el uso de operaciones elementales de memoria.
Si el sensor B1 tiene una señal-1, esto indica un estado de error en elsistema. Debe sonar un zumbador H1. El zumbador sólo puede serdesactivado presionando el pulsador S1. Debe ser posible desactivar elzumbador, aún en el caso que la señal B1 siga activada.
Ejemplo
En los lenguajes FBD y ST, las operaciones con memoria se realizaninvocando una copia del bloque de función RS. La copia en este ejem-plo tiene el nombre RS_H1. LA invocación en FBD se realiza gráfica-mente enlazando los parámetros de transferencia actuales con las en-tradas de la copia del bloque de función. Ya que el valor de la copiadel bloque de función es relevante, la salida de la copia del bloque defunción se conecta correspondientemente.
RSSR1
Q1BOOLBOOL
BOOL
Fig. B12.14:Bloque de función RS,desactivación prioritaria
VARB1 AT %IX1 : BOOL; (* El sensor detecta el estado de error *)S1 AT %IX2 : BOOL; (* Pulsador *)H1 AT %QX1 : BOOL; (* Zumbador *)RS_H1 : RS; (* Flip-flop RS_H1 para el estado *)
(* del zumbador *)END_VAR Fig. B12.15:
Declaración de variables
B-155Capítulo 12
Festo Didactic • TP301
En el lenguaje textual ST, la invocación se realiza especificando lacopia del bloque de función. Los parámetros actuales también se rela-cionan simultáneamente. Puede accederse al valor de la salida de lacopia del bloque de función RS_H1 a través de la variable RS_H1.Q1;el nombre de la variable de salida es por lo tanto definido a través delos nombres de la copia del bloque de función y los nombres de lassalidas deseadas.
Los lenguajes LD e IL tienen sus propias operaciones para la activa-ción y desactivación de variables memorizantes, con lo que puede omi-tirse el uso del bloque de función RS. Debería observarse que la se-cuencia de órdenes de activación y desactivación es crucial para elcomportamiento del PLC. La orden que debe ser dominante – en estecaso la orden de desactivación – solamente debe producirse despuésde la orden de activación en el programa, de forma que es la últimaorden que se ejecuta y por lo tanto determina el comportamiento – eneste caso de la salida.
b) FBD
d) STc) IL
LDSLDR
or
CALLDST
B1H1S1H1
RS_H1 (S := B1, R1 := S1)RS_H1.Q1H1
a) LD
RS_H1 (S := B1, R1 := S1);H1 := RS_H1.Q1;
RSS
R1
Q1 H1
RS_H1
S1
B1S1 H1
R
B1 H1
S
Fig. B12.16:Utilización de un
bloque de función RS
B-156 Capítulo 12
TP301 • Festo Didactic
Las señales que llegan a las entradas procedentes de los sensoresson evaluadas como señales 1 o señales 0 por la unidad central delPLC, mientras que la duración de los estados de las señales 0 y 1 estádeterminada por el propio sensor.Por ejemplo: Mientras esté accionado el pulsador, habrá una señal-1,de lo contrario se recibirá una señal 0.
12.4 Evaluación de flancos
En muchos casos, sin embargo, no es la propia señal lo que importa,sino el momento exacto durante el cual la señal cambia de estado.Este tipo de cambio de señal se denomina Flanco .
Para aclarar esto, imagine los interruptores (pulsadores) de un sistemade iluminación, en la que la evaluación del flanco se realiza mecánica-mente. Al accionar el pulsador, la luz se enciende (independientementedel tiempo que se esté presionando el pulsador). Si se ha soltado elpulsador, la luz puede apagarse presionando de nuevo el mismo pulsador.
Ejemplo
Exactamente de la misma forma, el momento en que la señal de entra-da cambia de 0 a 1, debe ser registrado en el PLC, ya que siemprepuede dispararse una única reacción cada vez que se acciona el pul-sador – independientemente de cuanto tiempo esté aplicada la señal-1.Esto evita que un proceso sea puesto en movimiento repetidamentepor el control, si se presionada durante mucho tiempo un pulsador. Losflancos de la señal de entrada se evalúan para cada programa.
En este contexto nos referimos a la detección de flanco . Cada señalbinaria tiene un flanco ascendente y un flanco descendente:
Flancos ascendentesy descendentes
Los flancos ascendentes marcan el instante en que el nivel de laseñal pasa de 0 a 1.
Los flancos descendentes marcan el instante en que el nivel de laseñal pasa de 1 a 0.
0
1
flancoascendente
flancodescendente
flancoascendente
flancodescendente Fig. B12.17:
Flancos ascendentes y descendentes
B-157Capítulo 12
Festo Didactic • TP301
Evaluar el flanco ascendente o descendente en un programa o bloquede función, depende del tipo de sensor (normalmente abierto o normal-mente cerrado) y de cómo deba utilizarse.
Un pulsador (normalmente abierto), por ejemplo, crea un flanco ascen-dente en el momento en que se pulsa y un flanco descendente en elmomento en que se suelta.
IEC 1131-3 proporciona dos bloques de función estándar para la eva-luación de los flancos.
Bloque de función R_TRIG , flanco ascendenteEl bloque de función estándar R_TRIG (ascendente) se utiliza para ladetección de flancos positivos. Su salida Q tiene el valor 1 desde unaejecución del bloque de función al siguiente, si su entrada CLK (relojpara pulso) cambia de 0 a 1.
Bloque de función F_TRIG , flanco descendenteUn flanco descendente o de conmutación negativa, se detecta por me-dio del bloque de función F_TRIG (descendente). Si se ha producidoun cambio en la entrada CLK de 1 a 0, la salida Q asume el valor 1para un ciclo de procesamiento.
F_TRIGCLK QBOOL BOOL
Fig. B12.19:Bloque de función
F_TRIG,flanco descendente
R_TRIGCLK QBOOL BOOL
Fig. B12.18:Bloque de función
R_TRIG,flanco ascendente
B-158 Capítulo 12
TP301 • Festo Didactic
El siguiente ejemplo muestra la programación de la evaluación de unflanco en los lenguajes FBD, LD, IL y ST, en donde se evalúan losflancos ascendentes.
El accionamiento de un pulsador S1 hace que se abra la puerta de unhorno. Una nueva actuación sobre el pulsador S1 hace que la puertase cierre.
Ejemplo
VARS1 AT %IX1 : BOOL; (* Interruptor de la puerta *)H1 AT %QX1 : BOOL; (* Bobina para actuación del cilindro *)
(* para la puerta *)RS_Y1 : RS; (* Flip-flop RS_Y1 para el estado *)
(* de la bobina *)R_TRIG_S1 : R_TRIG; (* Bloque de función R_TRIG_S1 *)
(* para detección del flanco en S1 *)END_VAR Fig. B12.20:
Declaración de variables
b) FBD
&Y1
&Y1
RSS
R1
Q1 Y1
RS_Y1
R_TRIGCLK QS1
R_TRIG_S1
a) LD
S1 Y1Y1
P S/
S1 Y1Y1
P R
c) IL
CALLDANDNSLDANDR
R_TRIG_S1 (CLK := S1)R_TRIG_S1.QY1Y1R_TRIG_S1.QY1Y1
d) ST
R_TRIG_S1 (CLK := S1);RS_Y1 ( S := R_TRIG_S1.Q & NOT Y1,
R1 := R_TRIG_S1.Q & Y1);Y1 := RS_Y1.Q1;
Fig. B12.21:Utilización del bloque de función R_TRIG
B-159Capítulo 12
Festo Didactic • TP301
En los lenguajes FBD, IL y ST, la detección del flanco se realiza pormedio de la invocación al bloque de función R_TRIG. El nombre delbloque de función utilizado en el ejemplo es R_TRIG_S1; R_TRIG_S1representa una copia del bloque de función tipo R_TRIG.
El lenguaje LD tiene contactos especiales para la evaluación de losflancos, por lo que se omite la invocación del bloque de funciónR_TRIG.
B-160 Capítulo 12
TP301 • Festo Didactic
Capítulo 13
Temporizadores
B-161Capítulo 13
Festo Didactic • TP301
Muchas tareas de control requieren la programación de tiempos. Porejemplo, el cilindro 2.0 debe avanzar si el cilindro 1.0 ha retrocedido –pero sólo tras un retardo de 5 segundos. Esto se conoce como señalcon retardo a la conexión. Los retardos a la conexión de las señalesdurante la conexión de las etapas de potencia se necesitan a menudopor razones de seguridad.
13.1 Introducción
Los temporizadores en un PLC se realizan en forma de módulos desoftware y están basados en la generación digital de un tiempo. Lospulsos de reloj contados se obtienen del generador de cuarzo del mi-croprocesador. La duración del tiempo establecida se establece en elprograma de control.
IEC 1131-3 define tres tipos de bloques de función de temporizador
TP Pulse timing - Temporizador de pulsoTON On-delay timing - Temporizador a la conexiónTOF Off-delay timing - Temporizador a la desconexión
La duración del tiempo está especificada por medio de un formato decarácter definido. Una especificación de tiempo se introduce por loscaracteres T# o t#, seguido por los elementos del tiempo, es decir,días, horas, minutos, segundos y milisegundos.
Los siguiente representa ejemplos de especificaciones permisibles detiempos:
Los detalles relacionados con las especificaciones de tiempo puedenhallarse en el capítulo 6.2.
d Día
h Hora
m Minuto
s Segundo
ms Milisegundo
T#2h15m
t20s
T#10M25S
t#3h_40m_20s
B-162 Capítulo 13
TP301 • Festo Didactic
El bloque de función TP es un temporizador de pulso, que se pone enmarcha por una señal-1 larga o corta en la entrada IN. En la salida Qaparece una señal-1 por el tiempo especificado en su entrada PT(tiempo preestablecido). Por ello, la salida Q tiene una duración fija,que es la especificada en PT. El temporizador no puede activarse denuevo mientras esté activo el tiempo de pulso. El valor actual el tempo-rizador de pulso está disponible en la salida ET (tiempo estimado).
13.2 Temporizador de pulso
0
PT
ET
Q
IN
Fig. B13.1:Diagrama de tiempos de un temporizador de pulso TP
QINTP
PTTIMEBOOL BOOL
ET TIMEQ
Fig. B13.2:Bloque de función TP,temporizador de pulso
B-163Capítulo 13
Festo Didactic • TP301
Con la ayuda de un ejemplo, se expone la utilización de un temporiza-dor de pulso.
Presionando el pulsador de marcha S2 se hace avanzar el émbolo deun cilindro. Este mecanismo se utiliza para sujetar piezas. Cuando elémbolo ha avanzado completamente, debe permanecer en esta posi-ción durante 20 segundos. A continuación el cilindro regresa a su posi-ción inicial.
Ejemplo
Esta tarea de control ha sido programada en el lenguaje FBD comoejemplo. Por descontado que en cualquier otro lenguaje puede utilizar-se un bloque de función de temporización. Un ejemplo con un tempori-zador a la desconexión se da en el capítulo 13.4 para demostrar estocon los lenguajes FBD, LD, IL y ST.
VARS2 AT %IX1 : BOOL; (* Pulsador de marcha *)B1 AT %IX2 : BOOL; (* Cilindro retraído *)B2 AT %IX3 : BOOL; (* Cilindro extendido *)Y1 AT %QX1 : BOOL; (* Cilindro de avance *)SR_Y1 : SR; (* Flip-flop denominado SR_Y1 para *)
(* inicadr el estado de Y1 *)TP_Y1 : TP; (* Bloque de función TP, TP_Y1 *)
END_VARFig. B13.3:Declaración de variables
&
B1S2
SRS1R
Q1
SR_Y1
Y1
&TP
INPT
Q
TP_Y1
ETT#20sB2
B2Fig. B13.4:Uso de un temporizador
de pulso en FBD
B-164 Capítulo 13
TP301 • Festo Didactic
La válvula Y1 para el accionamiento del cilindro se activa a través deun flip-flop SR, SR_Y1. La condición de activación para SR_Y1 secumple si se activa el final de carrera de la posición retraída del cilin-dro. Una vez que el cilindro ha avanzado, se pone en marcha el tem-porizador de pulso TP_Y1 con un tiempo de 20 segundos por el flancoascendente del sensor B2. La salida Q de TP_Y1 asume ahora una se-ñal-1. Una vez que ha expirado el temporizador de pulso – transcurridoslos 20 segundos – la salida Q de TP_Y1 asume el valor 0. Se cumple lacondición de desactivación de SR_Y1: el cilindro retrocede de nuevo.
Nota: Las formulaciones con "temporizador de pulso con el nombreTP_Y1" significan que TP_Y1 es una copia del bloque de función tipoTP, en este caso una copia del temporizador de pulso.
El bloque de función TON (temporizador a la conexión) se utiliza paragenerar señales retardadas respecto al momento de la aparición deuna señal. Cuando se aplica una señal-1 a una entrada IN, la salida Qno asume el valor 1 hasta que no haya transcurrido el tiempo especifi-cado en la entrada PT, y mantiene este estado hasta que la señal deentrada IN pase de nuevo a 0. Si la duración de la señal de entrada INes más corta que el tiempo especificado PT, el valor de la salida per-manece en 0.
13.2 Señal con retardoa la conexión
QINTON
PTTIMEBOOL BOOL
ET TIMEQ
Fig. B13.5:Bloque de función TON.Señal con retardo a la conexión
0
PT
ET
Q
IN
Fig. B13.6:Diagrama de tiempos de una señal retardada a la conexión TON
B-165Capítulo 13
Festo Didactic • TP301
El cilindro 1.0 avanza si se activa el pulsador de marcha S1. Una vezha permanecido extendido durante 2 segundos, un segundo cilindro2.0 avanza hacia su posición final delantera. Los sensores B1 y B2indican las posiciones avanzada y retraída del cilindro 1.0.
Ejemplo
El cilindro 1.0 se controla por medio de la válvula Y1. Una vez que elcilindro 1.0 ha avanzado y el sensor B2 tiene señal-1, empieza a fun-cional el temporizador a la conexión TON_Y2. Transcurridos los 2 se-gundos, se obtiene una señal-1 en la salida Q de TON_Y2 y el cilindro2.0 avanza. El cilindro 2.0 permanece extendido mientras haya aplica-da una señal-1 en la entrada IN de TON_Y2, es decir, mientras elcilindro 1.0 permanezca extendido.
VARS1 AT %IX1 : BOOL; (* Pulsador de marcha *)B1 AT %IX2 : BOOL; (* Cilindro 1.0 extendido *)B2 AT %IX3 : BOOL; (* Cilindro 1.0 retraído *)Y1 AT %QX1 : BOOL; (* Avance del cilindro 1.0 *)Y2 AT %QX2 : BOOL; (* Avance del cilindro 2-0 *)RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *)TON_Y2 : TON; (* Temporizador a la conexión *)
(* TON_Y2 para Y2 *)END_VARFig. B13.7:
Declaración de variables
&
B1S1
RSSR1
Q1
RS_Y1
Y1
Y2TON
IN
PT
Q
TON_Y2
ETT#2sB2Fig. B13.8:
Utilización de una señal con retardo a la
conexión en FBD
B-166 Capítulo 13
TP301 • Festo Didactic
Como se muestra en este ejemplo, no todas las entradas y salidas deun bloque de función deben conectarse o alimentarse.
Si una entrada de un bloque de función no está conectada – en estecaso la entrada R1 de RS_Y1 – se utilizan los valores de la invocaciónprevia. En este caso, el valor de inicialización de la variable R1, querepresenta una variable booleana, está preasignada con el valor 0, esdecir, el bloque de función RS_Y1 opera con el valor 0 para el paráme-tro R1 durante esta invocación.
TOF (temporizador a la desconexión) es el nombre del bloque de fun-ción para generar señales retardadas respecto al momento de la au-sencia de una señal. El temporizador se pone en marcha al aplicar unaseñal-1 en la entrada IN. Al mismo tiempo, la señal de salida Q asumeel valor 1. Una vez que la señal de entrada IN ha vuelto a pasar alvalor 0, la salida permanece en 1 durante un tiempo especificado porPT y no pasa a 0 hasta que no haya expirado este tiempo.
13.4 Señal con retardoa la desconexión
QINTOF
PTTIMEBOOL BOOL
ET TIMEQ
Fig. B13.9:Bloque de función TOF,señal con retardo a la desconexiòn
0
PT
ET
Q
IN
Fig. B13.10:Diagrama de tiempos de una señal con retardo a la desconexión TOF
B-167Capítulo 13
Festo Didactic • TP301
El siguiente ejemplo ilustra el uso de un temporizador a la desconexiónen los lenguajes FBD, LD, IL y ST.
Tras accionar un pulsador, el cilindro de un dispositivo de estampacióndebe avanzar inmediatamente. Cuando se suelta el pulsador, el cilindrosólo debe retroceder transcurrido un periodo de estampación de 30segundos.
Ejemplo
En todos los lenguajes, se invoca una copia del bloque de funciónTOF_Y1 para realizar el temporizador a la desconexión del cilindro deestampación.
VARS1 AT %IX1 : BOOL; (* Pulsador *)Y1 AT %QX1 : BOOL; (* Avance del cilindro *)TOF_Y1 : TOF; (* Temporizador a la desconexión *)
(* TOF_Y1 para Y1 *)END_VAR
Fig. B13.11:Declaración
de variables
b) FBD
c) IL
CALLDST
TOF_Y1 (IN := S1, PT := T#30s)TOF_Y1.QY1
a) LD
Y1TOF
IN
PT
Q
T#30s ET
S1TOF_Y1
TOFINPT
Q Y1T#30s ET
TOF__Y1
S1
d) ST
TOF_Y1 (IN :=S1, PT := T#30s);Y1 := TOF_Y1.Q;
Fig. B13.12:Uso de una señal con retardo a la
desconexión en FBD
B-168 Capítulo 13
TP301 • Festo Didactic
En el lenguaje LD, el bloque de función se adjunta al renglón a travésde la entrada booleana de marcha IN y la salida booleana Q. Si elcontacto normalmente abierto S1 suministra una señal-1, se obtienetambién una señal-1 en la salida Q de TOF_Y1. El valor Q se copia ala variable Y1. Cuando la señal-1 de S1 regresa a 0, la señal 1 de lasalida Q de TOF_Y1 sigue teniendo señal-1 durante un período de 30segundos. Transcurrido este tiempo la señal pasa también a 0.
En los lenguajes textuales IL y ST, el temporizador con retardo a ladesconexión se invoca especificando el nombre TOF_Y1 de la copiadeclarada y relacionando los correspondientes parámetros de transfe-rencia. El estado del retardo de la señal puede obtenerse a través dela salida Q. En el ejemplo dado aquí, el estado de la señal retardadaTOF_Y1 se guarda en la variable TOF_Y1.Q.
B-169Capítulo 13
Festo Didactic • TP301
B-170 Capítulo 13
TP301 • Festo Didactic
Capítulo 14
Contadores
B-171Capítulo 14
Festo Didactic • TP301
Los contadores se utilizan para detectar cantidades y eventos. En lapráctica, los controles necesitan a menudo utilizar contadores. Se ne-cesita un contador si, por ejemplo, deben contarse exactamente 10piezas para que sean dirigidas a una cinta transportadora por un dispo-sitivo de clasificación.
14.1 Funciones de conteo
IEC 1131-3 distingue entre tres diferentes módulos de contador:
CTU: Incremental counter - Contador incrementalCTD: Decremental counter - Contador decrementalCTUD: Incremental/Decremental counter - Contador incremental/de-cremental
Estos módulos de función estándar se utilizan para detectar conteosestándar, no críticos en el tiempo.
Sin embargo, en muchas tareas de control es necesario utilizar losdenominados contadores de alta velocidad. La "alta velocidad", en estecaso, se refiere generalmente a una frecuencia de conteo superior a50 Hz., es decir, contar más de 50 eventos por segundo. Las tareas deeste tipo no pueden resolverse con los módulos de función contadoresestándar de un PLC.
Las limitaciones de la frecuencia de conteo en los bloques de funcióncontadores se deben en primer lugar a los retardos de las señales deentrada. Cada señal de entrada – es decir, también las señales deconteo – es retardada por hardware un cierto tiempo, antes de que seaentregada al PLC para su procesamiento. Esto evita interferencias.Otra limitación es el tiempo de ciclo del PLC.
Por esta razón, en los PLC se dispone generalmente de módulos con-tadores adicionales para conteo a alta velocidad. Los contadores dealta velocidad se utilizan, p. ej. para los sistemas de posicionado.
El contador incremental se conoce como CTU (count up - conteo haciaarriba). El contador se establece al valor inicial 0 por una señal dereset en la entrada R.
14.2 Contadorincremental
PV
Q
CV
CUCTU
RBOOLBOOL
INT
BOOL
INTFig. B14.1:Bloque de función CTU,
Contador incremental
B-172 Capítulo 14
TP301 • Festo Didactic
El estado actual del contador está disponible en la salida CV (currentvalue - valor actual). El valor del contador se incrementa en una unidada cada flanco positivo en la entrada CU del contador. Al mismo tiempo,el valor actual se compara en el bloque de función con el valor prese-leccionado PV. En el momento en que el valor actual CV es igual omayor que el valor preseleccionado, la señal de salida asume el valor1. Antes de alcanzar este valor, la salida Q tiene señal-0.
El siguiente ejemplo muestra el uso de un contador incremental en loslenguajes FBD, LD, IL y ST.
Deben extraerse piezas de un almacén por gravedad por medio de uncilindro. Si se presiona el pulsador S1, el cilindro debe avanzar, extraeruna pieza y retroceder de nuevo. De esta forma deben extraerse 15piezas. Una vez extraídas las 15 piezas, ya no debe ser posible activarel movimiento del cilindro por medio del pulsador S1. Primero debedesactivarse el contador accionando el pulsador S2.
Ejemplo
VARS1 AT %IX1 : BOOL; (* Pulsador para mover el cilindro *)S2 AT %IX2 : BOOL; (* Pulsador de reset contador CTU_Y1 *)B1 AT %IX3 : BOOL; (* Cilindro retraído *)B2 AT %IX4 : BOOL; (* Cilindro extendido *)Y1 AT %QX1 : BOOL; (* Avance del cilindro *)Y1_advance
AT %MX1 : BOOL; (* Memorización avance cilindro *)CTU_Y1_M
AT %MX2 : BOOL; (* Memorizar estado contador CTU_Y1 *)RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *)CTU_Y1 : CTU; (* Contador incremental CTU_Y1 para *)
(* los movimientos del cilindro *)END_VAR Fig. B14.2:
Declaración de variables
B-173Capítulo 14
Festo Didactic • TP301
S1 CTU_Y1.QB1
B2 Y1
R
LDANDANDNSTCALLDSTCAL
RS_Y1 ( S := S1 & B1 & NOT CTU_Y1.Q, R1 := B2);
CTU (CU := B2, R := S2, PU := 15);
B2 CTU_Y1_M
S2
Y1
S/
CU
CTU_Y1
Q
R
PV15 CV
PV
Q
CV
CUCTU
RS2B2
15
&
B1S1 RS
SR1
Q1
RS_Y1
Y1
CTU_Y1.Q B2
CTU_Y1
CTU
Y1 := RS_Y1.Q1;
S1B1CTU_Y1.QY1_advanceRS_Y1 (S := Y1_advance, R1 := B2)RS_Y1.Q1Y1CTU_Y1 (CU := B2, R := S2, PU := 15)
b) FBD
a) LD
c) IL
d) ST
Fig. B14.3:Uso del contador
incremental
B-174 Capítulo 14
TP301 • Festo Didactic
Un bloque de función CTU (contador incremental) se utiliza en todoslos lenguajes para realizar la función de conteo; en el ejemplo actual,el nombre de la copia declarado es CTU_Y1.
El cilindro es accionado por medio de la válvula Y1. La propia válvulaes conmutada a través de un flip-flop RS denominado RS_Y1. El cilin-dro solamente avanza si se presiona el pulsador S1 y el cilindro haretrocedido (B1=1) y si no ha vencido el contador (CTU_Y1.Q = 0).Cuando el cilindro ha alcanzado su posición final delantera (B2=1), elvalor de Y1 vuelve a 0 y el cilindro retrocede de nuevo.
Los recorridos del cilindro se cuentan a través del contador denomina-do CTU_Y1. El contador tiene un estado definido al principio del proce-samiento, ya que todas las variables están preasignadas. Esto significaque, si el cilindro se halla en posición inicial y no se acciona ningunode los pulsadores, hay señal-0 en B2 y S2 y con ello en las entradasCU y R; el valor preseleccionado PV es 15, el valor actual CV delcontador es 0. Por lo tanto, el contador aún no ha vencido y la salidaQ tiene el valor 0.
El accionamiento del pulsador S1 hace que el cilindro avance. EL flan-co ascendente de B2 genera un pulso de conteo y el valor actual CVdel CTU_Y1 se incrementa en 1. Cuando se han realizado 15 movi-mientos del cilindro, el valor actual del CV es igual al valor preseleccio-nado PV; el contador ha vencido y ello se indica por el valor 1 en lasalida Q. El cilindro no se moverá hasta que el contador sea repuesto,es decir, se ponga en marcha de nuevo. Esto se realiza accionando elpulsador S2; la señal-1 en la entrada R establece el valor actual CVdel contador a 0, con lo que inmediatamente aparece una señal-0 en lasalida Q.
En este punto, debe hacerse una especial mención a una característi-ca particular del lenguaje IL. En la lista de instrucciones, los paráme-tros de transferencia para un bloque de función deben ser sólo varia-bles individuales. No se permiten expresiones. Esta es la razón por laque la operación AND de las variables S1, B1 y CTU_Y1.Q se copia ala variable Y1_advance y ésta se utiliza entonces como parámetro detransferencia.
B-175Capítulo 14
Festo Didactic • TP301
El bloque de función CTD (count down - conteo hacia abajo) es elcontador decremental de IEC 1131-3 y representa lo opuesto del con-tador incremental.
14.3 Contadordecremental
El contador decremental con valor de preselección PV se activa conuna señal-1 en la entrada LD (load - carga). Durante el funcionamientonormal, cada flanco positivo en la entrada CD reduce el valor del con-tador. El valor actual del contador está también disponible en la salidaCV en este caso. La salida Q del bloque de función CTD es 0, hastaque el valor CV del contador es igual o menor que 0.
El uso de contadores decrementales se demuestra también por mediode un pequeño ejemplo.
Un cilindro se mueve a través de una válvula Y1. La posición del cilin-dro se detecta por los sensores B1 (retraído) y B2 (extendido). El cilin-dro debe avanzar si se presiona el pulsador S1. Una vez se han reali-zado 10 recorridos de esta forma, el contador ha vencido y el piloto H1se enciende. El contador debe ser cargado de nuevo con el valor prese-leccionado, antes de que puedan seguir ejecutándose movimientos delcilindro. Esto se realiza por medio del accionamiento del pulsador S2.
Ejemplo
PV
Q
CV
CDCTD
LDBOOLBOOL
INT
BOOL
INTFig. B14.4:Bloque de función CTD,
contador decremental
VARS1 AT %IX1 : BOOL; (* Pulsador para mover el cilindro *)S2 AT %IX2 : BOOL; (* Pulsador de reset contador CTD_Y1 *)B1 AT %IX3 : BOOL; (* Cilindro retraído *)B2 AT %IX4 : BOOL; (* Cilindro extendido *)Y1 AT %QX1 : BOOL; (* Avance del cilindro *)H1 AT %QX2 : BOOL; (* Piloto *)RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *)CTD_Y1 : CTD; (* Contador decremental CTD_Y1 para *)
(* los recorridos del cilindro *)END_VARFig. B14.5:
Declaración de variables
B-176 Capítulo 14
TP301 • Festo Didactic
La válvula Y1 se activa a través de un bloque de función RS denomi-nado RS_Y1. La condición de activación se cumple cuando el cilindrose halla retraído, el contador aún no ha vencido y se presiona el pulsa-dor S1. Cuando el cilindro ha avanzado completamente, aparece denuevo una señal 0 en la salida Q1 de RS_Y1.
Los recorridos del cilindro se detectan por medio de un contador decre-mental denominado CTD_Y1. Si el cilindro se halla en posición inicial yninguno de los pulsadores está activado, hay aplicados los siguientesvalores en las entradas y salidas al principio del procesamiento delcontador decremental: las entradas CD y LD tiene señal-0, la entradaPV tiene aplicado el valor 10; el valor actual CV del contador es 0, porlo tanto, se cumple la condición CV <=0 y hay una señal-1 en la salidaQ. El valor 1 en la salida Q indica que el contador decremental havencido. El piloto H1 se halla al mismo tiempo iluminado.
El valor preseleccionado 10 no está cargado como valor actual delcontador hasta que no se presione el pulsador S2. Ahora CV es mayorde 0, la salida Q es también 0 y el piloto está apagado. Los movimien-tos del cilindro pueden ahora activarse accionando el pulsador S1.Cada movimiento produce un pulso de conteo por medio del flancoascendente de B2, que reduce el valor actual del contador en 1 unidadcada vez. Tras completar 10 recorridos, el valor actual del contador es0; el contador ha vencido. Esto se indica por el valor 1 en la salida Q.
Una vez que el contador ha sido cargado de nuevo con el valor departida 10, pueden repetirse las operaciones de conteo.
PV
Q
CV
CDCTD
LDS2B2
10
H1
&
B1S1 RS
SR1
Q1
RS_Y1
Y1
CTD_Y1.Q
B2
Fig. B14.6:Uso de un contadordecremental en lenguaje FBD
B-177Capítulo 14
Festo Didactic • TP301
El bloque de función CTUD, contador incremental/decremental, combi-na el contador incremental y el decremental.
14.4 Contadorincremental/decremental
El valor de la salida QU se calcula de acuerdo con la ecuación:CV ≥ PV, y el valor de la salida QD de acuerdo con la ecuación CV ≤ 0.
Observar que la función del contador decremental solamente debe utili-zarse una vez cargado el valor de partida al contador a través de laorden LD.
LD
CV
CUCTUD
RBOOL
BOOL BOOL
INT
CDBOOL
PVINT
BOOL
QUBOOLQD
Fig. B14.7:Bloque de función
CTUD, contador incremental /decremental
B-178 Capítulo 14
TP301 • Festo Didactic
Capítulo 15
Sistemas de control secuencial
B-179Capítulo 15
Festo Didactic • TP301
Los sistemas de control secuencial son procesos que se realizan envarias etapas claramente separadas. El paso de una etapa a otra de-pende de las condiciones de habilitación del paso. Una característicaimportante es que, en una determinada secuencia, sólo puede estaractiva una etapa, a no ser que se hayan programado explícitamentesecuencias paralelas cuyas etapas deban ejecutarse simultáneamente.
15.1 ¿Qué es unsistema decontrolsecuencial?
Comparado con un sistema de control lógico (combinatorio), ofrece lassiguientes ventajas:
el programa se divide en etapas y por lo tanto es más claro deseguir, modificar y ampliar.los sistemas de control secuencial pueden programarse gráficamen-te en forma de diagrama de funciones secuencial (también denomi-nado GRAFCET - Gráfico de Etapas y Transiciones).la detección de errores en una secuencia de control representadagráficamente, es en general más fácil de seguir que en los sistemasde control con lógica combinatoria.
Ejemplos típicos de controles secuenciales son los controles de máqui-nas en el campo de la tecnología de producción o controles receptivosen la tecnología de procesos.
La necesidad de configurar un control secuencial no se manifiesta in-mediatamente en el caso de pequeños controles orientados a secuen-cias, pero la necesidad de mejorar las descripciones funcionales au-menta con la complejidad de las tareas. El diagrama de contactos y lalista de instrucciones no son muy adecuados para una descripción es-tructurada. Los diagramas de función (o también los diagramas de flu-jo) se introdujeron como medios auxiliares para el análisis de arribahacia abajo y para la representación de diagramas de proceso. Loselementos utilizados para este tipo de descripción y su uso, ha sidoestandarizado internacionalmente por IEC 1131-3. El estándar IEC 848con la adición de definiciones nacionales ha sido publicado en DIN 40719, P.6.
15.2 Diagrama de fun-ciones secuencialsegún IEC 848o DIN 40 719,P.6
El diagrama de funciones secuencial describe principalmente dos as-pectos de un control, de acuerdo con unas reglas definidas:
las acciones a ejecutar (órdenes)la secuencia de la ejecución
B-180 Capítulo 15
TP301 • Festo Didactic
Por lo tanto, un diagrama de funciones secuencial se divide en dospartes (fig. B15.1). La parte secuencial representa la ejecución del pro-ceso en relación con el tiempo.
La parte secuencial no describe las acciones a ejecutar individualmen-te. Estas están contenidas en la parte de acción del diagrama de fun-ciones secuencial, que para el ejemplo en cuestión, consta de bloquesen el lado derecho de las etapas.
N
L
S2
L3
N4
N5
S6
1
0
Pieza en zona de elevación
Elevación del cilindro elevador
Cilindro elevador arriba
Definición del grosor; t = 1 s
Tiempo transcurrido
Avance del cilindro expulsor
Cilindro expulsor delante
Retroceso del cilindro expulsor
Cilindro expulsor detrás
Descenso del cilindro elevador
Cilindro elevador abajo
Tiempo transcurrido
Posición inicial
Detección del material y color; t = 0,5 s
Fig. B15.1:Diagrama de funcionessecuencial para unproceso de verificación
B-181Capítulo 15
Festo Didactic • TP301
Los que sigue proporciona una breve explicación de los elementos indivi-duales utilizados para describir un diagrama de funciones secuencial.
EtapasUn diagrama de funciones secuencial se estructura por medio de eta-pas. Estas están representadas por bloques y se identifican con el co-rrespondiente número de etapa.
El estado de las salidas del control se identifica en la etapa inicial.
Cada paso tiene asignadas acciones (órdenes) que contienen la verda-dera parte de ejecución del control.
TransicionesUna transición es un enlace desde una etapa a la siguiente. La condi-ción lógica asociada con la transición se representa junto a la líneahorizontal de la transición. Si la condición se cumple, se realiza la tran-sición a la siguiente etapa, que es procesada por el control.
1
2
Etapainicial
Transición
Etapa
conexiones directas
AcciónFig. B15.2:
Elementos de un diagramade funciones secuencial
B-182 Capítulo 15
TP301 • Festo Didactic
Estructuras secuencialesPueden crearse tres formas básicas de estructura secuencial por me-dio de la combinación de elementos de etapa y de transición:
Secuencia linealDerivación alternativaDerivación en paralelo
Las etapas y las transiciones deben estar siempre alternadas, inde-pendientemente de la forma de la estructura secuencial. Las estructu-ras secuenciales se procesan desde arriba hacia abajo.
En una secuencia lineal, a cada etapa le sigue una sola transición y acada transición una sola etapa. La fig B15.1 ilustra un ejemplo de unasecuencia lineal.
En la derivación alternativa mostrada en la fig. B15.3, dos o más tran-siciones siguen a una etapa. La secuencia parcial, cuyas condicionesde transición se cumplen primero, se activa y se procesa. Ya que sola-mente una secuencia parcial puede ser elegida en una derivación alter-nativa, las condiciones de transición – d y g en la fig. B15.3 – deberíanexcluirse mutuamente.
2
3
d
4
e
f
5
h
g
6
iFig. B15.3:Derivación alternativa
B-183Capítulo 15
Festo Didactic • TP301
En el caso de la derivación en paralelo, si se cumple la condición detransición, se realiza la activación simultánea de varias secuencias par-ciales. Las secuencias parciales evolucionan simultáneamente, perocompletamente independientes unas de otras. La convergencia de lassecuencias parciales está sincronizada. Solamente cuando han finali-zado todas las secuencias parciales se produce la transición a la si-guiente etapa bajo la doble línea – en este ejemplo a la etapa 7.
AcciónCada etapa contiene acciones, la verdadera parte de ejecución del con-trol. La propia acción (fig, B15.5) se divide en tres campos, en donde loscampos a y c solamente deberían representarse si fuera necesario.
La tabla B15.1 contiene los símbolos definidos en DIN 40 719, P.6 oIEC 848 utilizados para describir la orden de ejecución de las acciones.
2
3
4
e
g
5
f
7
d
6
Fig. B15.4:Derivación en paralelo
a b c
b: Descripción de la acción
c: Referencia a las respuestas asociadas con la orden
a: Caracterización de las acciones a ejecutar
Fig. B15.5:Acción
B-184 Capítulo 15
TP301 • Festo Didactic
Si una acción debe ser descrita con más detalle, deberá elegirse unacombinación de letras y símbolos en la orden de esta ejecución.
DCSFacción de memorización condicional tras un retardo, sujeta a una con-dición de habilitación adicional tras la memorización.
Ejemplo
Refinamiento de las etapasComo se muestra en la fig. B15.6, cada etapa puede contener a suvez estructuras secuenciales. Esta característica es soportada por elrefinamiento paso a paso de una solución en el sentido del diseño dearriba hacia abajo.
S stored - memorizante
N non-stored - no memorizante
D delayed - retardada
F enabling - habilitación
L limited - limitada
P pulse - pulso
C conditional - condicionalTabla B15.1:Modo de las acciones
N
S
S
S
S
2.4
S
S2.5
2
2.2
2.3
2.1
Pieza aceptada y requerimientode liberar pieza
Pieza en almacén y pinza en posición 1 y cilindro expulsor retraído
Liberar pieza
Cilindro expulsor detrás
Retroceso cil. expulsor
Pinza a posición 2
Pinza en posición 1
Marcha
Pieza liberada
Llenado del almacén
Avance cilindro expulsor
Pieza expulsada
Pinzar pieza
Fig. B15.6:Refinamiento de las etapas
B-185Capítulo 15
Festo Didactic • TP301
El diagrama de desplazamiento-paso (o desplazamiento-fase) repre-senta gráficamente una secuencia de control. La estructura de un dia-grama de este tipo se describe en VDI 3260.
15.3 Diagramadesplazamiento-paso
Cada uno de los sensores y actuadores están dispuestos verticalmenteen el diagrama, y cada una de los pasos del control se halla repre-sentado horizontalmente. Una línea de función indica el estado de laseñal del correspondiente elemento de señalización en cada paso. Laslíneas de señal enlazan las líneas de función individuales e indican quéelemento de señalización en el proceso dispara cada acción. Una fle-cha indica el sentido de la acción. El diagrama se clarifica posterior-mente con símbolos.
El diagrama de desplazamiento-paso lo dibuja generalmente el diseña-dor de la máquina o sistema. Cuando se resuelve una tarea de control,es útil trazar el diagrama de desplazamiento-paso como etapa previa ala programación del PLC.
Fig. B15.7:Estructura de un diagrama
desplazamiento-paso
B-186 Capítulo 15
TP301 • Festo Didactic
Capítulo 16
Puesta a punto yseguridad funcional de un PLC
B-187Capítulo 16
Festo Didactic • TP301
Los programas de PLC nunca se terminan, en el sentido de que siem-pre es posible hacer correcciones y las consiguientes adaptaciones alos nuevos requerimientos del sistema.
16.1 Puesta a punto
Incluso durante la puesta a punto, a menudo son necesarios los cam-bios en el programa. La puesta a punto de un sistema puede dividirsebásicamente en cuatro etapas:
Verificación del hardwareTransferencia y verificación del softwareOptimización del softwarePuesta en marcha del sistema
Verificación del hardwareCada sensor se conecta a una entrada específica y cada actuador auna salida; las direcciones no deben mezclarse.
Esta el la razón por la que el primer paso en la verificación del hardwa-re siempre debe hacerse tras la lista de asignaciones. ¿Están todos lossensores y actuadores asignados a las direcciones de entrada y salidacorrectas? ¿Se identifica inequívocamente la función – señal-0 y señal-1?La lista de asignaciones debe corregirse y completarse ya que formaparte de la documentación antes de la puesta a punto de un programa.
Durante la verificación, las salidas se activan para comprobarlas. Losactuadores deben cumplir con las funciones especificadas.
Transferencia y pruebas del softwareIncluso antes de la puesta a punto, todas las facilidades de verificacióndel programa sin conexión con el control, deberían utilizarse intensiva-mente. Una de estas funciones de prueba muy práctica es, por ejem-plo, la simulación del programa.
A continuación, el programa es transferido a la unidad central de con-trol el PLC. Un pequeño número de PLCs ofrecen actualmente facilida-des para la simulación: Todo el programa se ejecuta sin que hayaentradas ni salidas conectadas. De forma similar, sólo la conexión delas salidas puede omitirse. Así, el procesamiento de las salidas delPLC se realiza solamente en la tabla de imagen, cuyos estados no sontraspasados físicamente a las salidas disponibles. Esto, por lo tanto,elimina el riesgo de dañar partes de la máquina o del sistema, lo cuales de mucha importancia en el caso de procesos críticos o peligrosos.
B-188 Capítulo 16
TP301 • Festo Didactic
Tras esto, las partes individuales del programa y las funciones del sis-tema se verifican: Funcionamiento manual, ajuste, programas de su-pervisión individuales, etc., y finalmente la interacción de las partes delprograma con la ayuda de todo el conjunto.
Con ello, el programa es puesto a punto paso a paso. Aspectos impor-tantes de la puesta a punto y la detección de errores son las funcionesde test de los sistemas de programación, tales como el funcionamientoen paso a paso o el establecimiento de puntos de parada. El modo depaso a paso tiene una particular importancia, ya que con ello el progra-ma se ejecuta en la memoria del PLC línea a línea o paso a paso. Deesta forma, cualquier error que pudiera haber en el programa puedeser localizado inmediatamente.
Optimización del softwareCasi siempre, los programas largos pueden mejorarse tras la primeraprueba de funcionamiento. Es importante que cualquier modificación ocorrección se haga no tan sólo en el programa del PLC, sino que tam-bién se tenga en cuenta en la documentación. Además de la documen-tación, debe guardarse cada vez el nuevo estado del software.
Puesta en marcha del sistemaEsto ya se produce en parte durante la fase de optimización y verifica-ción. Una vez que el estado final del programa PLC y la documentaciónhan sido establecidos, hay que ejecutar de nuevo todas las funciones delcontrol (de acuerdo con la tarea). Entonces el sistema está listo para seraceptado por el cliente o el correspondiente departamento.
B-189Capítulo 16
Festo Didactic • TP301
Alimentación de tensión al PLCDebe distinguirse entre la tensión de control (tensión de las señalesentre la máquina controlada y el PLC) y la tensión de la lógica (ten-sión de alimentación interna de la unidad central de control).
16.2 Seguridadfuncional de un PLC
El nivel de tensión de funcionamiento de un PLC está especificado enDIN IEC 1131-/Parte 2. Se halla entre 24 VDC y 48 VDC o 48 VAC y220 VAC respectivamente. Para el mercado americano también puedeutilizarse 120 VAC.
Tensión de controlLa tensión de control alimenta a los sensores y actuadores. Para elloel usuario debe conectar una fuente de alimentación al control. La ten-sión de control de un PLC es generalmente de 24 VDC o 230 VAC.(Principalmente se utiliza corriente continua (DC)). En algunos países,se utilizan también diferentes tensiones, p. ej., 48 VDC o 120 VAC. Lapotencia de la fuente de alimentación depende el control utilizado y delas entradas/salidas conectadas.
El valor de la tensión de control permite una cierta tolerancia. En gene-ral, los módulos del PLC están protegidos contra sobretensiones, de-pendiendo del módulo a través del cual se realiza la unidad central decontrol.
Tensión de la lógicaAdemás, un PLC requiere una alimentación para la lógica interna: Latensión de la lógica, que forma las señales en la unidad central. Dadoque la tensión de la lógica debe cumplir con exigencias muy estrictas,debe estar estabilizada. Se utilizan o bien 5 V (nivel TTL) o 10 V (nivelCMOS), dependiendo del módulo a través del cual se realiza la unidadcentral de control.
Hay tres posibilidades de tensión de alimentación :
1. La tensión de control y la tensión de la lógica se generan completamente separadas de la tensión principal.
2. Dos fuentes de alimentación combinadas en una caja para la generación de ambas tensiones.
3. La tensión de la lógica es generada a partir de la tensión de control (no de la tensión principal).
B-190 Capítulo 16
TP301 • Festo Didactic
Supresión de interferenciasTodos los PLCs son extremadamente sensibles a las interferenciaseléctricas. Debe distinguirse entre dos versiones diferentes:
Interferencias que alcanzan la tensión de la lógica desde la alimen-tación de tensión a través de la fuente de alimentación;Interferencias que afectan a las líneas desde y hacia los sensores yactuadores.
1. Interferencias en la tensión de la lógicaUn filtro principal de supresión de interferencias y un condensa-dor protegen contra interferencias de este tipo. El filtro principalde supresión de interferencias protege contra sobretensiones yseñales de interferencia de la alimentación de tensión. Un con-densador almacena energía eléctrica, con lo que la tensión dealimentación del control está protegida en el caso de breves fa-llos de tensión.
Si este tipo de supresión de interferencias no ha sido incorporadopor el fabricante del PLC, deberá ser el usuario quien instaleconsecuentemente un filtro principal de supresión de interferen-cias y un condensador.
2. Interferencias en la línea desde y hacia sensores y actuadoresLos pulsos de interferencia en las líneas eléctricas pueden pro-ducir falsas señales 1 ó 0 en las entradas de los PLCs, que nocorresponden a las emitidas por los sensores. Estas señalespueden generarse por efecto de otros cables.
Este tipo de interferencias es peligrosa: Por ello, como norma, losmódulos de entrada de un PLC están protegidos por medio deoptoacopladores conectados en serie y por un retardo de las se-ñales. El optoacoplador protege contra tensiones de hasta5000 V aproximadamente. El retardo de la señal evita señalesespúreas, ya que estas generalmente son muy breves. El retar-do puede oscilar entre 1 y 20 ms, según el tipo de PLC. Losmódulos de entrada de "Alta velocidad" (sin señal de retardo)deben apantallarse, por ejemplo por medio de cables blindados.
B-191Capítulo 16
Festo Didactic • TP301
Los módulos de salida contiene también un optoacoplador para protec-ción contra sobretensiones. Además, las salidas está protegidas antecortocircuitos, aunque normalmente no ante cortocircuitos muy prolon-gados.
Tensión inducidaCuando se corta la tensión que alimenta a una carga inductiva (p. ej.una bobina de una electroválvula), se crea un tensión inducida en labobina.
Esta tensión inducida, que puede alcanzar valores muy altos, debe eli-minarse para proteger el módulo de salida. Para ello se utiliza un diodosupresor. Los módulos de salida de muchos PLCs ya está provistos dediodos supresores de este tipo. Sin embargo, en este caso, la tensiónresidual se convierte en un factor de interferencia en los cables deinterconexión. Por ello deben tomarse medidas protectoras directamen-te en el punto de origen, es decir, en la bobina: por medio de un diodosupresor (sólo para corriente continua) o por medio de un varistor(resistencia que depende de la tensión). También pueden utilizarse enparalelo con la bobina dos diodos Zener polarizados inversamente.Sin embargo, para tensiones que sobrepasen los 150 V, deben conec-tarse en serie varios diodos.
PARO DE EMERGENCIASi se acciona el PARO DE EMERGENCIA, es esencial llegar a la si-tuación que sea menos peligrosa, tanto para las personas como parael sistema. Los elementos finales de control y los actuadores que pu-dieran provocar situaciones peligrosas, deben desconectarse inmedia-tamente (p. ej. husillos). Por el contrario, los elementos de control fina-les y los actuadores que podrían provocar situaciones peligrosas a laspersonas o al sistema cuando se desactivan, deberán seguir activadosincluso en un caso de emergencia (p. ej. dispositivos de sujeción). Enun sistema automatizado, en cualquier momento debe disponerse de laposibilidad de accionar el PARO DE EMERGENCIA.
Esta es la razón por la que los controles electrónicos no deben asumirla función de PARO DE EMERGENCIA. El circuito de PARO DEEMERGENCIA debe ser establecido independientemente del PLC pormedio de la técnica de relés (contactos físicos). DIN 57 113 también loespecifica, ya que sería imposible activar un PARO DE EMERGENCIAcon un control averiado o simplemente detenido.
Una vez que el PARO DE EMERGENCIA ha sido desenclavado, no debeser posible que la máquina se ponga en marcha automáticamente.
B-192 Capítulo 16
TP301 • Festo Didactic
Se ha cruzado un transistor de salida de un PLC. En la salida hayaplicados 24 V permanentemente (correspondientes a una señal-1). Labobina de la electroválvula está activada; el cilindro avanza, aunque lasalida no haya sido activada por el sistema. Si el PARO DE EMER-GENCIA tuviera que ser ejecutado por el programa del PLC, permane-cería inactivo, ya que el error se produce "fuera" del programa. Porello, la acción del PARO DE EMERGENCIA debe realizarse por hard-ware directamente sobre los elementos de potencia.
Ejemplo
Un método es conectar la función de PARO DE EMERGENCIA con latensión de alimentación de los módulos de salida. La conexión debeser a prueba de fallos. En el caso de un PARO DE EMERGENCIA,todas las salidas deben asumir la señal-0. No importa si una determi-nada salida haya sido activada o desactivada por el PLC.
Si se utiliza este método, los actuadores conectados o no deben mo-verse o deben hacerlo hacia una posición de seguridad en el casopérdida de tensión! En lo posible, deberán utilizarse este tipo de válvu-las y actuadores:
Válvulas neumáticas/hidráulicas:Se utilizan válvulas de 5/4 ó 5/3 vías con posición central normalmentecerrada (posición con bloqueo de las conexiones al cilindro). Estas vál-vulas bloquean el cilindro entre dos cámaras de aceite o de aire. En elcaso de cilindros neumáticos deben elegirse tubos cortos entre cilindroy válvula y restricciones en el aire de escape de la válvula.
Motores eléctricosSe utilizan motores con freno. En el caso de un fallo de tensión, elfreno actúa inmediatamente como resultado de la fuerza de un muelle.
El circuito de PARO DE EMERGENCIA por Hardware realiza la verda-dera función de seguridad. Adicionalmente, también puede enviarse alPLC una señal de PARO DE EMERGENCIA. Independientemente dela acción que se haya realizado por hardware, los programas del PLCdeben reaccionar en consecuencia; en este caso, desactivando todaslas salidas. Esto se define en un programa paralelo. Una vez que seha repuesto el PARO DE EMERGENCIA, el sistema no debería poderarrancar de nuevo por sí solo. Debe accionarse un pulsador inde-pendiente para volver a poner en marcha el sistema.
B-193Capítulo 16
Festo Didactic • TP301
El nuevo arranque del sistema debe ser controlado por medio de unprograma del PLC. Hay dos posibilidades para el arranque después deuna emergencia:
Continuar a partir del mismo punto;Situar el sistema en posición de partida y volver a poner en marchael sistema desde el origen.
En el segundo caso, es necesario pasar al modo manual o modo deajuste.
Si se requieren medidas de seguridad adicionales para el PARO DEEMERGENCIA, deben utilizarse relés o controles neumáticos adicio-nales por parte del usuario. También pueden utilizarse PLCs especia-les de seguridad, que funcionan por medio de dos unidades centralesseparadas, con dos etapas conectadas en serie para cada salida (sis-temas redundantes).
Conexión segura ante un falloLa mayoría de las máquinas se ponen en marcha por medio de unpulsador y se desconectan por medio de otro pulsador. El pulsador dedesconexión asume adicionalmente una función de seguridad: El pro-ceso de trabajo puede ser interrumpido en cualquier momento y la má-quina puede detenerse. Sin embargo, con el PARO DE EMERGENCIA,todo el sistema se desconecta. A diferencia del PARO DE EMERGEN-CIA, la función de DESCONEXIÓN (OFF) se controla a través del PLC.
Sin embargo hay que observar que la función de DESCONEXIÓNdebe mantenerse aunque el cableado del pulsador de desconexión seadefectuoso. La conexión debe ser a prueba de fallos (fail-safe ); esdecir, el pulsador DESCONEXIÓN debe conectarse y programarse enforma de un contacto normalmente cerrado . La lista de asignacionesfacilita información relacionada con los estados físicos del elemento ysus estados lógicos (señal-1 ó señal-0).
Un generador de señal supervisa la temperatura del aceite de una cajade cambios. Por razones de seguridad, la conexión del generador deseñal debe ser a prueba de fallos: La señal-1 identifica la temperaturacorrecta, la señal.0 la temperatura incorrecta. Si la conexión es defec-tuosa, el generador de señal asume también una señal-0 (incluso en elcaso de que la causa no sea una temperatura incorrecta).
Ejemplo
Esto elimina la situación en la que una condición crítica del sistema noes indicada por el generador de señal por un cableado defectuoso.
B-194 Capítulo 16
TP301 • Festo Didactic
Capítulo 17
Comunicaciones con PLC
B-195Capítulo 17
Festo Didactic • TP301
Por comunicaciones con PLC, entendemos la transferencia de informa-ción, es decir, de datos, entre el control lógico programable y otrosdispositivos de procesamiento, en donde estos dispositivos se utilizancomo un medio auxiliar para tareas de control específicas, p. ej., entra-da de datos a través de un ordenador o emisión de datos hacia unaimpresora.
17.1 La necesidad decomunicación
La automatización aumenta la necesidad de comunicación. Los datosdeben fluir continuamente desde la producción a otras áreas operati-vas. Esto proporciona una visión de conjunto de los estados de la pro-ducción y de las tareas individuales (adquisición de datos de produc-ción).
Actualmente, los sistemas automatizados están equipados con comple-jos sistemas de detección de errores y de fallos. Las indicaciones defallos y advertencias deben generarse, centralizarse y ser comunicadasautomáticamente al operador. Para ello se conecta al control una im-presora – para seguimiento histórico – o un display electrónico paraindicación instantánea.
En algunos casos, los datos se transfieren al PLC por un ordenador enun proceso activo, o se combinan varios dispositivos de control en unared de sistemas.
¿Cómo puede comunicarse el PLC con otros dispositivos de procesa-miento de datos? Los bit individuales, que se combinan en una palabrade datos (data word), deben transmitirse desde un terminal de datos aotro.
17.2 Transmisión de datos
Aquí debe hacerse una distinción básica entre dos métodos de trans-misión de datos: serie o paralelo.
La transmisión de datos en paralelo significa que debe utilizarse unalínea independiente para cada señal binaria individual. Cuando los ge-neradores de señal están, por ejemplo, conectados a un control lógicoprogramable, se instala un cable para cada pulsador, final de carrera ysensor hasta un terminal de bornes y de ahí a la entrada del PLC.Toda la información (“pulsador accionado ”, “cilindro extendido”) puedeasí transmitirse simultáneamente (en paralelo) al PLC. Ya que en elcaso de transmisión paralela de señales de entrada y salida, se nece-sita una línea para cada generador de señal, se necesitan kilómetrosde mazos de cables en aquellas instalaciones y máquinas que por sucomplejidad ocupan muchas entradas/salidas.
Por ello, para la transmisión en paralelo de una palabra de datos (dataword) debe disponerse del suficiente número de líneas para transmitirtodos los bits de esta data word simultáneamente.
Con la transmisión de todos en serie se transmite una sola señal bina-ria cada vez.
B-196 Capítulo 17
TP301 • Festo Didactic
Consecuentemente, se necesita una sola línea de datos para la trans-misión en serie de palabras de datos, independientemente del númerode bits, para transmitir señales binarias consecutivamente. Para poderidentificar las diferentes señales en forma de palabra de datos, es ne-cesario que el emisor y el receptor estén ajustados a la misma veloci-dad de transmisión (frecuencia en Baudios), longitud de palabra, bit deinicio y de parada y paridad.
Los diferentes procedimientos de codificación, transmisión y métodosde funcionamiento, así como los diferentes métodos de protección dedatos hacen que sea esencial definir como estándares las característi-cas eléctricas, funcionales y mecánicas de los interfaces.
17.3 Interfaces
Un interface paralelo muy extendido es el interface Centronics. Dispo-ne de 8 líneas de datos para la transmisión, es decir, pueden transmi-tirse 8 bits simultáneamente. El interface Centronics se utiliza muy amenudo – en distancias cortas – para la conexión con impresoras.
Interfaces por tensión Interfaces por corriente
Denominación V.24 Centronics 20 mA
Modo de transmisión
serieasíncrona
paralelo serie asíncrona
Modo de funcionamiento
full duplex simplex full duplex
Estándard V.24RS-232-C
CentronicsTTL
TTY
Distancia detransmisión,velocidad detransmisión
hasta 30 m20 000 bit/s
hasta 2 m106 bit/s
hasta 1000 m20 000 bit/s
Tabla B17.1:Interfaces
B-197Capítulo 17
Festo Didactic • TP301
El interface más frecuentemente utilizado para la transmisión de datosen serie es el V.24.
El interface paralelo Centronics y el serie V.24, ambos son interfacesde tensión. Los bits están representados por ’0’ ó ’1’ a través de undeterminado nivel de tensión. Para crear este nivel de señal, debe in-corporarse una línea de masa al interface V.24.
En ambos interfaces, se han definido líneas adicionales para el control delos datos y la masa (tierra), aparte de las líneas para los datos en sí.
Algo más sencillo que el interface V.24 es una conexión configurada através de un interface serie de 20 mA. Todo lo que necesita este inter-face en bucle de corriente en un bucle transmisor y uno receptor parala transmisión de datos. Una corriente constante de 20 mA señala elnivel ’0’ (lógica 0), "ausencia de corriente" señala el nivel ’1’ (lógica 1)en la línea de datos. Este interface se utiliza bastante en la tecnologíade control debido a su inmunidad a interferencias.
En los sistemas y máquinas automáticas debe transportarse una grancantidad de información. Desde las simples señales de sensores bina-rios, señales analógicas de sensores de medición de válvulas propor-cionales, así como datos registrados y parámetros para el control deprocesos, deben ser intercambiados de forma fiable entre los compo-nentes de la tecnología de control en un sistema automatizado.
17.4 Comunicación en la zona decampo
El intercambio de datos de campo debe realizarse dentro de unostiempos de reacción especificados ya que de lo contrario partes delsistema podrían seguir funcionando incontroladamente.
Un bus de campo es un sistema de transmisión serie digital de seña-les y datos. Todas las estaciones en un bus de campo deben estar ensituación de recibir la comunicación de otras estaciones del bus e inter-cambiar datos según un protocolo acordado. La estación del bus quetoma la iniciativa para el intercambio de datos se denomina master.Las estaciones del bus que reciben o suministran datos puramentebajo la iniciativa del master se denominan slaves.
Para la transmisión de datos en los sistemas de bus se utilizan cablesbifilares consistente en pares trenzados o cables coaxiales. Por ello, elcableado de los sistemas conectados en forma de bus es mínimo.
B-198 Capítulo 17
TP301 • Festo Didactic
En sl mercado existen una gran cantidad de diferentes sistemas debus, que pueden dividirse en dos grandes grupos: sistemas de busabiertos y sistemas de bus cerrados.
Por sistemas de bus cerrados entendemos sistemas que son:
específicos de un fabricanteno hay especificaciones disponibles sobre el protocolo de transmi-siónno son compatibles. Además, no permiten la conexión con dispositi-vos de otros fabricantes y la adaptación supone costes muy eleva-dos.
Sistemas cerrados son, p. ej. SINEC L1 de Siemens, SUCOnet K deKlöckner-Moeller, Data Highway de Allen Bradley, Festo Fielbus, Mode-net de AEG/MODICON.
Contrariamente, los sistemas de bus abiertos tienen
protocolos e interfaces estandarizados,protocolos declarados yuna gran cantidad de dispositivos de diferentes fabricantes que pue-den conectarse al bus.
Son sistemas abiertos, p. ej. Profibus, Interbus-S, CAN bus, SINEC L2,AS-i.
Las ventajas de utilizar un sistema abierto de bus son las siguientes:
Descentralización de las funciones de controlCoordinación de procesos en áreas separadasRealización del flujo de datos de producción y control de forma pa-ralela al flujo de materiales.Simplificación de la instalación y reducción de los costes de cablea-do (bus bifilar)Simplificación de la puesta a punto de un sistema (mayor claridad,subsistemas previamente verificados)Reducción en los costes de servicio (diagnosis del sistema centrali-zada)Utilización de equipos de diferentes fabricantes en la misma redTransmisión de datos del proceso hasta el nivel de planificación.
B-199Capítulo 17
Festo Didactic • TP301
B-200 Capítulo 17
TP301 • Festo Didactic
Apéndice
B-201Apéndice
Festo Didactic • TP301
Fig. B1.2: Ejemplo de un PLC: AEG Modicon A120AEG Schneider Automation GmbH,Steinheimer Straße 117, 63500 Seligenstadt
Referencia delas ilustraciones
Fig. B1.4: PLC Compacto (Mitsubishi FX0)Mitsubishi Electric Europe GmbH,Gothaer Straße 8, 40880 Ratingen
Fig. B1.4: PLC Modular (Siemens S7-300) Siemens AG,AUT 111, Postfach 4848, 90475 Nürnberg
Kostka, Winfried Diccionario de la técnica de mando y automatizaciónAlemán/Español - Español/AlemánFesto Didactic KG, Esslingen, 1988
Bibliografía
Léxico de la tecnología de control (En Inglés)Festo Didactic KG, Esslingen, 1988
DIN VDE 0113/ Equipamiento eléctrico de maquinaria industrial;DirectivasEN 60204 Definiciones generalesy estándares
IEC 1131/ Controles lógicos programables;DIN EN 61131 Parte 1: Información general
Parte 2: Equipos, requerimientos y ensayosParte 3: Lenguajes de programaciónParte 4: Directivas de usuario (en preparación con ICE)Parte 5: Especificación del servicio de mensajes(en preparación con ICE)
DIN IEC 113 Documentaciòn sobre circuitos;Parte 7: Utilización de símbolos para elementos binariosen esquemas de circuitos
IEC 848 Preparación de diagramas de funciones para sistemasde control
B-202 Apéndice
TP301 • Festo Didactic
Índice
B-203Índice
Festo Didactic • TP301
AAcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-133Acumulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Ajuste de la tensión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44Algebra de Boole
reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29Amplificación de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Áreas de aplicación de un PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2Asignaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-111
BBloque de función F_TRIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-158Bloque de función R_TRIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-158Bloque de función RS . . . . . . . . . . . . . . . . . . . . . . . . . . 12-154 - 12-155Bloques de acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-133Bloques de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-81Bucle FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-115Bucle REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-116Bucle WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-117Bus de campo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-198
CCalificadores de acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-137Comunicación en la zona de campo. . . . . . . . . . . . . . . . . . . . . . . 17-198Condiciones de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-130Contador de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37Contador incremental/decremental . . . . . . . . . . . . . . . . . . . . . . . . 14-178
B-204 Índice
TP301 • Festo Didactic
DDeclaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-71Definición básica de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5Derivación alternativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-126Derivación paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-129Detección de la señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42Diagrama de bloques de función. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
elementos de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92Diagrama de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
elementos del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-96Diagrama de desplazamiento-etapa . . . . . . . . . . . . . . . . . . . . . . 15-186Diagrama de funciones secuencial . . . . . . . . . . . . . . . . . . . 5-59, 15-180
ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-143Diagrama de Karnaugh-Veitch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30Diagrama en escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57Direccionamiento simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66Dispositivo programador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46Documentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53
EEcuación Booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41El código BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14El sistema de numeración binario . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12El sistema de numeración decimal . . . . . . . . . . . . . . . . . . . . . . . . . 2-12EPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41Estándares
IEC 1131. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-122Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-120Etiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102Evaluación de flancos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-157Expresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-108
B-205Índice
Festo Didactic • TP301
FFallo de tensión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-194Filtrado de las señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Forma estándar
disyuntiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Forma estándar conjuntiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Función AND, conjunción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21Función NOT, negación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Función OR, disyunción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-76
definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-85Funciones de conmutación
simplificación de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26Funciones de conteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-172Funciones estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-79Funciones lógicas básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
HHardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Herramienta de programación y diagnosis . . . . . . . . . . . . . . . . . . . . 4-47
IImagen del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39Inicialización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-75Instrucción CASE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-114Instrucción EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-118Instrucción IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-112Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102Instrucciones de iteración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-115Instrucciones de selección. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-112Instruction List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-197
LLadder diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-56Línea de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Línea de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Línea de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Lista de Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
B-206 Índice
TP301 • Festo Didactic
MMemoria de programas de aplicación . . . . . . . . . . . . . . . . . . . . . . . 4-40Microordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Modelo de fases
generación de software de PLC. . . . . . . . . . . . . . . . . . . . . . 5-50Módulo de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Módulo de entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42módulo de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 4-44
potencia admisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Multitarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
NNumeración hexadecimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14Números reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15
OOperador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102Operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102Optoacoplador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Ordenador personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46
PPARO DE EMERGENCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-192PLC
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-50Prioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-109Programa de PLC
procesamiento cíclico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39tiempo de ciclo/scan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-88Protección ante cortocircuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Protección ante sobrecargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Puesta a punto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-188Pulse timer
Timing diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-163
B-207Índice
Festo Didactic • TP301
RRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40Recursos de estructuración. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53
configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54
Recursos de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62denominaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62
Red de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92Registro de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Relés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45Renglones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-96Representación de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66Retardo de la señal de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43
SSeguridad funcional de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190Señal
binaria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Señalesgeneración de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Sequential function chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-59Simplifiación de funciones lógicas. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28Sistemas de bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-199Sistemas de control lógico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-148Sistemas de control secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-180Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34Statement list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58Structured text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58Supresión de interferencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-191
B-208 Índice
TP301 • Festo Didactic
TTabla de la verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20Tabla de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-103Temporizador a la conexión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-165Temporizador a la desconexión. . . . . . . . . . . . . . . . . . . . . . . . . . 13-167Temporizador de pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-163Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-162Tensión de alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190Tensión de la lógica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190Tensión inducida mútua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-192Texto estructurado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69Transición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-124Transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-120Transmisión de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-196Transmisión de datos en paralelo . . . . . . . . . . . . . . . . . . . . . . . . 17-196Transmisión de todos en serie. . . . . . . . . . . . . . . . . . . . . . . . . . . 17-196
UUnidad aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Unidad Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36Unidad central de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6Unidad de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37Unidades de organización de programa . . . . . . . . . . . . . . . . . . . . . 6-76
VVariables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65
directamente direccionadas . . . . . . . . . . . . . . . . . . . . . . . . . 6-65von-Neuman, principio de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
B-209Índice
Festo Didactic • TP301
B-210 Índice
TP301 • Festo Didactic
Sección C – Soluciones
Componentes de un control lógico programable
Solución 1: Diseño y funcionamiento de un control lógico programableComponentes de un PLC . . . . . . . . . . . . . . . . . . . . . C-3
Programación según IEC 1131
Solución 2: Del problema a la solución – teniendo en cuenta IEC 1131-3Pasos prácticos para la programación de un PLC. . C-5
Operaciones lógicas básicas
Solución 3: Circuito de una lámparaLa función de asignación . . . . . . . . . . . . . . . . . . . . . C-7
Solución 4: Alarma antirroboLa función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
Solución 5: Prensa con barrera protectoraLa función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . C-11
Solución 6: Sistema de timbreLa función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-13
Sistemas lógicos sin funciones memorizantes
Solución 7: Dispositivo estampadorCombinación de AND/OR/NOT . . . . . . . . . . . . . . . C-15
Solución 8: Control de un silo para dos materiales a granelCircuito combinatorio con derivación . . . . . . . . . . . C-19
C-1Soluciones
Festo Didactic • TP301
Sistemas lógicos con funciones memorizantes
Solución 9: Alarma de incendiosActivación de una salida . . . . . . . . . . . . . . . . . . . . C-21
Solución 10: Supervisión de la rotura de una brocaActivación y desactivación de una salida . . . . . . . C-23
Solución 11: Activación de un cilindroFlancos de las señales . . . . . . . . . . . . . . . . . . . . . C-25
Sistemas lógicos con funciones temporales
Solución 12: Encolado de componentesPulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-29
Solución 13: Dispositivo de marcadoSeñal con retardo a la conexión . . . . . . . . . . . . . . C-31
Solución 14: Dispositivo de fijaciónSeñal con retardo a la desconexión . . . . . . . . . . . C-35
Sistemas de control secuencial
Solución 15: Dispositivo elevador para paquetesSecuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . . C-39
Solución 16: Dispositivo elevador y clasificador para paquetesDerivación alternativa. . . . . . . . . . . . . . . . . . . . . . . C-43
Solución 17: Dispositivo de estampación con contadorCiclos de recuento . . . . . . . . . . . . . . . . . . . . . . . . . C-47
C2 Soluciones
TP301 • Festo Didactic
Diseño y puesta a puntode un control programable
Título
Componentes de un PLC
1. Componentes de un PLC
¿Cuáles son los componentes básicos de un control lógico programable? Pregunta 1
Los componentes básicos de un PLC son: Respuesta
la unidad de procesamiento principal (antiguamente unidad cen-tral de control)los módulos de entradalos módulos de salidala memoria del programael programa del PLC
¿Cuáles son los módulos básicos que constituyen la unidad de proce-samiento principal de un control lógico programable?
Pregunta 2
Los módulos básicos de una unidad de procesamiento principal son: Respuesta
la unidad de controlla memoria de datosla unidad aritmética y lógica (ALU)
¿Cómo se consigue el aislamiento eléctrico entre las señales de lossensores/actuadores y el PLC?
Pregunta 3
Las señales de los sensores/actuadores y el PLC están eléctrica-mente aisladas por medio de un optoacoplador. La unidad de proce-samiento principal está así separada del circuito externo de los sen-sores y actuadores. Por lo tanto, las interferencias en estos circui-tos no pueden dañar al control.
Respuesta
Detección de error detensión
Retardo dela señal
Optoacoplador Señal a launidad decontrol
Señal deentrada
Diagrama de bloques deun módulo de entrada
C-3Solución 1
Festo Didactic • TP301
2. Diseño y puesta a punto del PLC seleccionado
La tabla siguiente relaciona como ejemplo los datos técnicos de uncontrol lógico programable FPC 101B de Festo.
Tensión de funcionamiento
Tensión nominal 24 V DC
Margen de tensión admisible 16 a 30 V DC
Consumo de corriente aprox. 160 mA
Entradas
Número 21de las cuales 1 es de conteo rápido
Corriente de entrada 6 mA
Nivel de entrada lóg. 0 = 0 a 5 Vlóg. 1 = 11 a 30 V
Salidas
Número 14 salidas a transisitor
Tipo Conmutación a positivo
Tensión de salida Tensión de funcionamiento – 2 V
Corriente de salida máx. 300 mA/salidaCorriente total de salida máx. 2.5 ADatos técnicos
C-4 Solución 1
TP301 • Festo Didactic
Del problema a la solución – teniendo en cuenta IEC 1131-3
Título
Procedimientos de programación de PLC
1. Pasos prácticos para la creación de un programa de PLC
Lista de los cinco pasos prácticos para crear un programa de PLC.
Los cinco pasos para crear un programa de PLC son:
Descripción de la tarea de controlPlanificación de la soluciónImplementación de la soluciónVerificación y puesta a punto del sistema de controlDocumentación del sistema de control
¿Qué actividades hay que realizar en la etapa "Realización de la solución"?
Pregunta 1
En esta etapa se realizan las siguientes actividades: Respuesta
Configuración del PLCDeclaración de las variables del programa del PLCFormulación de la lógica del programa PLC en uno de los len-guajes LD. FBD, IL, ST o SFC
2. Recursos de un PLC según IEC 1131-3
Los siguientes recursos pueden direccionarse directamente. Especificar las direcciones según IEC 1131-3_
Bit de Entrada 14%IX14 ó %I14
Memoria (Flag/Marca) 9%MX9 ó %M9
Palabra de salida 3%QW3
Entrada 7 en la 2ª tarjeta de entradas%I2.7
C-5Solución 2
Festo Didactic • TP301
3. Declaración de variables según IEC 1131 -3
En la declaración de un programa, deben tenerse en cuenta los si-guientes datos. Usar el tipo de datos apropiado en la declaración.La declaración va a ser válida sólo localmente.
Entrada de un interruptor S1, aplicada a la entrada 2 de la 4ª tarjeta de entradas.Temperatura TEMP, aplicada a la palabra de salidas Nº 1memoria VALVULA_ABIERTAmemoria booleana con el identificador PIEZA_PRESENTE, preasignada al valor inicial 0memoria booleana con el identificador INIC_ROBOT, preasignadacon el valor inicial 1almacenamiento de un número (entero - INT) bajo el nombre NUMERO, con el valor 0 preasignado
VARS1 AT %I4.2 :BOOL;TEMP AT %QW1 :INT;VALVULA_ABIERTA :BOOL;PIEZA_PRESENTE :BOOL:=0;INIC_ROBOT :BOOL:=1;NUMERO :INT:=0;
END_VAR
C-6 Solución 2
TP301 • Festo Didactic
Circuito de una lámpara TítuloLa función de asignación
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajes de programación
Según IEC 1131-3, un programa consiste en un descriptor de pro-grama – este también incluye la declaración de variables – y elcuerpo principal del programa. Esta es la razón por la que la decla-ración de variables en forma textual es una parte componente decada solución representada.
Nombre Tipo de datos Dirección Comentario
S1 BOOL %IX0.0 La entrada % IX0.0 generaseñal-1, mientras el pulsadoresté presionado
H1 BOOL %QX0.0 La lámpara H1 luce si la salida% QX0.0 lleva señal-1
PROGRAM Lampara VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras el pulsador esté presionado *) H1 AT %QX0.0 : BOOL; (* La lámpara H1 luce si la salida *) (* % QX0.0 lleva señal-1 *) END_VAR
END_PROGRAM Diagrama de bloques de función
PROGRAM Lampara VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras el pulsador esté presionado *) H1 AT %QX0.0 : BOOL; (* La lámpara H1 luce si la salida *) (* % QX0.0 lleva señal-1 *) END_VAR
END_PROGRAMDiagrama de contactos
S1 H1
S1 H1
C-7Solución 3
Festo Didactic • TP301
PROGRAM Lampara VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras el pulsador esté presionado *) H1 AT %QX0.0 : BOOL; (* La lámpara H1 luce si la salida *) (* % QX0.0 lleva señal-1 *) END_VAR
LD S1ST H1
END_PROGAMLista de instrucciones
PROGRAM Lamp VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras el pulsador esté presionado *) H1 AT %QX0.0 : BOOL; (* La lámpara H1 luce si la salida *) (* % QX0.0 lleva señal-1 *) END_VAR
H1 := S1;
END_PROGRAMTexto estructurado
C-8 Solución 3
TP301 • Festo Didactic
Alarma antirrobo TítuloLa función NOT
3. Declaración de las variables del programa PLC
4. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
Si el valor de una variable booleana debe ser mapeado en forma nega-da, directamente en otra variable, esto sólo puede hacerse por mediode la función NOT. La negación de una variable booleana a través desímbolo gráfico "o" sólo es posible directamente en entradas o salidasde funciones o bloques de función.
Nombre Tipo de datos Dirección Comentario
S1 BOOL %IX0.0 La entrada % IX0.0 generaseñal-1, mientras el pulsadorS1 no esté presionado
H1 BOOL %QX0.0 La alarma H1 suena , si lasalida % QX0.0 lleva señal-1
PROGRAM Guard VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras S1 no esté presionado *) H1 AT %QX0.0 : BOOL; (* La alarma H1 suena, si la salida *) (* %QX0.0 lleva señal-1 *) END_VAR
END_PROGRAM Diagrama de bloquesde función
S1 H1NOT
C-9Solución 4
Festo Didactic • TP301
PROGRAM Guard VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras S1 no esté presionado *) H1 AT %QX0.0 : BOOL; (* La alarma H1 suena, si la salida *) (* %QX0.0 lleva señal-1 *) END_VAR
END_PROGRAM
Diagrama de contactos
S1 H1
/
PROGRAM Guard VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras S1 no esté presionado *) H1 AT %QX0.0 : BOOL; (* La alarma H1 suena, si la salida *) (* %QX0.0 lleva señal-1 *) END_VAR
LDN S1 ST H1END_PROGRAM
Lista de instrucciones
PROGRAM Guard VAR S1 AT %IX0.0 : BOOL; (* La entrada % IX0.0 genera señal-1, *) (* mientras S1 no esté presionado *) H1 AT %QX0.0 : BOOL; (* La alarma H1 suena, si la salida *) (* %QX0.0 lleva señal-1 *) END_VAR
H1 := NOT S1;END_PROGRAM
Texto estructurado
C-10 Solución 4
TP301 • Festo Didactic
Prensa con barrera protectora TítuloLa función AND
3. Declaración de las variables del programa PLC
4. Formulación del programa de PLC en uno de los diversos lenguajes de programación
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
Nombre Tipo de dato Dirección Comentario
S1 BOOL %IX0.0 La entrada %IX0.0 lleva señal -1, mientras el pulsadorS1 esté accionado
B1 BOOL %IX0.1 La entrada %IX0.1 lleva señal -1, mientras el sensorS1 esté accionado
Y1 BOOL %QX0.0 La prensa 1.0 avanza mientrasla salida %QX0.0 tenga señal-1
PROGRAM Prensa VAR S1 AT %IX0.0 : BOOL; (* La entrada %IX0.0 lleva señal -1, *) (* mientras S1 esté accionado *) B1 AT %IX0.1 : BOOL; (*La entrada %IX0.1 lleva señal-1, si *) (* el sensor B1 tiene señal-1 *) Y1 AT %QX0.0 : BOOL; (* la prensa 1.0 avanza, mientras *) (* la salida %QX0.0 tenga señal-1 *) END_VAR
END_PROGRAMDiagrama de bloques de función
&
B1
Y1S1
C-11Solución 5
Festo Didactic • TP301
PROGRAM Press VAR S1 AT %IX0.0 : BOOL; (* La entrada %IX0.0 lleva señal -1, *) (* mientras S1 esté accionado *) B1 AT %IX0.1 : BOOL; (* La entrada %IX0.1 lleva señal-1, si *) (* el sensor B1 tiene señal-1 *) Y1 AT %QX0.0 : BOOL; (* la prensa 1.0 avanza, mientras *) (* la salida %QX0.0 tenga señal-1 *) END_VAR
END_PROGRAM
Diagrama de contactos
S1 Y1B1
PROGRAM PrensaVAR
S1 AT %IX0.0 : BOOL; (* La entrada %IX0.0 lleva señal -1, *) (* mientras S1 esté accionado *) B1 AT %IX0.1 : BOOL; (* La entrada %IX0.1 lleva señal-1, si *) (* el sensor B1 tiene señal-1 *) Y1 AT %QX0.0 : BOOL; (* la prensa 1.0 avanza, mientras *) (* la salida %QX0.0 tenga señal-1 *)
END_VAR
LD S1AND B1ST Y1
END_PROGRAM
Lista de instrucciones
PROGRAM PrensaVAR
S1 AT %IX0.0 : BOOL; (* La entrada %IX0.0 lleva señal -1, *) (* mientras S1 esté accionado *) B1 AT %IX0.1 : BOOL; (* La entrada %IX0.1 lleva señal-1, si *) (* el sensor B1 tiene señal-1 *) Y1 AT %QX0.0 : BOOL; (* la prensa 1.0 avanza, mientras *) (* la salida %QX0.0 tenga señal-1 *)
END_VAR
Y1 := S1 & B1;END_PROGRAM
Structured text
C-12 Solución 5
TP301 • Festo Didactic
Sistema de timbre TítuloLa función OR
3. Declaración de las variables del programa PLC
4. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
Nombre Tipo de dato Dirección Comentario
S1 BOOL %IX0.0 Pulsador S1 (puerta del jardín)
S2 BOOL %IX0.1 Pulsador S2 (puerta de la casa)
H1 BOOL %QX0.0 Zumbado H1 (timbre)
PROGRAM Timbre VAR
S1 AT %IX0.0 : BOOL; (* Pulsador S1 (puerta del jardín) *)S2 AT %IX0.1 : BOOL; (* Pulsador S2 (puerta de la casa) *)H1 AT %QX0.0 : BOOL; (* Zumbador H1 (timbre) *)
END_VAR
END_PROGRAMDiagrama de bloques de función
>=1
S2
H1S1
C-13Solución 6
Festo Didactic • TP301
PROGRAM TimbreVAR
S1 AT %IX0.0 : BOOL; (* Pulsador S1 (puerta del jardín) *)S2 AT %IX0.1 : BOOL; (* Pulsador S2 (puerta de la casa) *)H1 AT %QX0.0 : BOOL; (* Zumbador H1 (timbre) *)
END_VAR
END_PROGRAMDiagrama de contactos
S1 H1
S2
PROGRAM TimbreVAR
S1 AT %IX0.0 : BOOL; (* Pulsador S1 (puerta del jardín) *)S2 AT %IX0.1 : BOOL; (* Pulsador S2 (puerta de la casa) *)H1 AT %QX0.0 : BOOL; (* Zumbador H1 (timbre) *)
END_VAR
LD S1OR S2ST H1
END_PROGRAMLista de instrucciones
PROGRAM TimbreVAR
S1 AT %IX0.0 : BOOL; (* Pulsador S1 (puerta del jardín) *)S2 AT %IX0.1 : BOOL; (* Pulsador S2 (puerta de la casa) *)H1 AT %QX0.0 : BOOL; (* Zumbador H1 (timbre) *)
END_VAR
H1 := S1 OR S2;END_PROGRAM
Texto estructurado
C-14 Solución 6
TP301 • Festo Didactic
Dispositivo estampador TítuloCombinaciones de AND/OR/NOT
3. Declaración de las variables del programa PLC
4. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
Nombre Tipo de dato Dirección Comentario
B1 BOOL %IX0.0 Sensor de proximidad B1
B2 BOOL %IX0.1 Sensor de proximidad B2
B3 BOOL %IX0.2 Sensor de proximidad B3
Y1 BOOL %QX0.0 Avance cilindro 1.0
PROGRAM EstampadorVAR
B1 AT %IX0.0 : BOOL; (* Sensor de proximidad B1 *)B2 AT %IX0.1 : BOOL; (* Sensor de proximidad B2 *)B3 AT %IX0.2 : BOOL; (* Sensor de proximidad B3 *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)
END_VAR
END_PROGRAMDiagrama de bloques de función
>=1 Y1
&
B2
B1
B3
&
B2
B1
B3
&
B2
B1
B3
C-15Solución 7
Festo Didactic • TP301
En el lenguaje de Lista de Instrucciones, la negación de un operandono es posible inmediatamente tras la apertura de un paréntesis. Estaes la razón por la que el orden de los operandos B1, B2, B3 ha sidocambiado en el primer bloque AND.
PROGRAM EstampadorVAR
B1 AT %IX0.0 : BOOL; (* Sensor de proximidad B1 *)B2 AT %IX0.1 : BOOL; (* Sensor de proximidad B2 *)B3 AT %IX0.2 : BOOL; (* Sensor de proximidad B3 *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)
END_VAR
END_PROGRAM
Diagrama de contactos
B1 Y1
/
B2 B3
/
/
B1 B2 B3
B1 B2 B3
PROGRAM EstampadorVAR
B1 AT %IX0.0 : BOOL; (* Sensor de proximidad B1 *)B2 AT %IX0.1 : BOOL; (* Sensor de proximidad B2 *)B3 AT %IX0.2 : BOOL; (* Sensor de proximidad B3 *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)
END_VAR
LD( B3AND B2ANDN B1)OR( B1ANDN B2AND B3) OR( B1AND B2ANDN B3)ST Y1
END_PROGRAMLista de instrucciones
C-16 Solución 7
TP301 • Festo Didactic
El paréntesis de las expresiones AND no es un requerimiento obligato-rio, ya que la operación AND tiene mayor prioridad que la operaciónOR. Sin embargo, el uso de paréntesis hace más fácil y rápida la com-prensión de una expresión compleja.
PROGRAM Stamping VAR
B1 AT %IX0.0 : BOOL; (* Sensor de proximidad B1 *)B2 AT %IX0.1 : BOOL; (* Sensor de proximidad B2 *)B3 AT %IX0.2 : BOOL; (* Sensor de proximidad B3 *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)
END_VAR
Y1 := ( NOT B1 & B2 & B3 ) OR ( B1 & NOT B2 & B3)OR ( B1 & B2 & NOT B3);
END_PROGRAMTexto estructurado
C-17Solución 7
Festo Didactic • TP301
C-18 Solución 7
TP301 • Festo Didactic
Control de un silo para dos materiales a granel TítuloSistema de control lógico con derivación
3. Declaración de las variables del programa PLC
4. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
Nombre Tipo de dato Dirección Comentario
S1 BOOL %IX0.0 S1: Pulsador marcha
S2 BOOL %IX0.1 S2: Interruptor selector
Y1 BOOL %QX0.0 Cilindro 1.0: Abrir silo A
Y2 BOOL %QX0.1 Cilindro 2.0: Abrir silo B
PROGRAM Sistema de control de un siloVAR
S1 AT %IX0.0 : BOOL; (* S1: Pulsador de marcha *)S2 AT %IX0.1 : BOOL; (* S2: Interruptor selector *)Y1 AT %QX0.0 : BOOL; (* Cilindro 1.0: Abrir silo A *)Y2 AT %QX0.1 : BOOL; (* Cilindro 2.0: Abrir silo B *)
END_VAR
END_PROGRAMDiagrama de bloquesde función
&
S2
Y1S1
&
S2
Y2S1
C-19Solución 8
Festo Didactic • TP301
PROGRAM Sistema de control de un silo VAR
S1 AT %IX0.0 : BOOL; (* S1: Pulsador de marcha *)S2 AT %IX0.1 : BOOL; (* S2: Interruptor selector *)Y1 AT %QX0.0 : BOOL; (* Cilindro 1.0: Abrir silo A *)Y2 AT %QX0.1 : BOOL; (* Cilindro 2.0: Abrir silo B *)
END_VAR
END_PROGRAMDiagrama de contactos
S1 Y1S2
S1 Y2S2
/
PROGRAM Sistema de control de un siloVAR
S1 AT %IX0.0 : BOOL; (* S1: Pulsador de marcha *)S2 AT %IX0.1 : BOOL; (* S2: Interruptor selector *)Y1 AT %QX0.0 : BOOL; (* Cilindro 1.0: Abrir silo A *)Y2 AT %QX0.1 : BOOL; (* Cilindro 2.0: Abrir silo B *)
END_VAR
LD S1 (* Pulsador S1 accionado *)ANDN S2 (* Selector S2: material A *)ST Y1 (* Descargar material A *)
LD S1 (* Pulsador S1 accionado *)AND S2 (* Selector S2: Material B *)ST Y2 (* Descargar material B *)
END_PROGRAMLista de instrucciones
PROGRAM Sistema de control de un silo VAR
S1 AT %IX0.0 : BOOL; (* S1: Pulsador de marcha *)S2 AT %IX0.1 : BOOL; (* S2: Interruptor selector *)Y1 AT %QX0.0 : BOOL; (* Cilindro 1.0: Abrir silo A *)Y2 AT %QX0.1 : BOOL; (* Cilindro 2.0: Abrir silo B *)
END_VAR
Y1 := S1 & NOT S2; (* Descargar material A *) Y2 := S1 & S2; (* Descargar material B *)
END_PROGRAMTexto estructurado
C-20 Solución 8
TP301 • Festo Didactic
Alarma de incendio TítuloActivación de una salida
3. Formulación del programa PLC en uno de los lenguajes de pro-gramación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
En el lenguaje de Diagrama de Contactos, la operación ’Set’ o de acti-vación memorizante se realiza a través de una bobina de acción me-morizante. Por ello, no es necesario enlazarla con un bloque de fun-ción RS.
PROGRAM ZumbadorVAR
S1 AT %IX0.0 : BOOL; (* Pulsador *)H1 AT %QX0.0 : BOOL; (* Zumbador *)RS_H1 : RS; (* Flip-flop RS_H1 para el zumbador *)
END_VAR
END_PROGRAMDiagrama de bloques de función
PROGRAM Zumbador VAR S1 AT %IX0.0 : BOOL; (* Pulsador *) H1 AT %QX0.0 : BOOL; (* Zumbador *) END_VAR
END_PROGRAM
Diagrama de contactos
RS
S
R1
Q1S1 H1
RS_H1
S1 H1
S
C-21Solución 9
Festo Didactic • TP301
El lenguaje de Lista de Instrucciones tiene su propio operador S. Porello no es necesaria la utilización de un bloque de función RS.
Al invocar un bloque de función no es obligatorio especificar todos losparámetros de transferencia. En este caso, la entidad bloque de fun-ción RS_H1 sólo recibe el valor actual para el parámetro de entrada S,es decir, el valor del pulsador S1.
PROGRAM Zumbador VAR S1 AT %IX0.0 : BOOL; (* Pulsador *) H1 AT %QX0.0 : BOOL; (* Zumbador *) END_VAR
LD S1 S H1
END_PROGRAM
Lista de Instrucciones
PROGRAM Zumbador VAR S1 AT %IX0.0 : BOOL; (* Pulsador *) H1 AT %QX0.0 : BOOL; (* Zumbador *) RS_H1 : RS; (* Flip-flop RS_H1 para el zumbador *) END_VAR
RS_H1( S := S1 );H1 := RS_H1.Q1;
END_PROGRAM
Texto estructurado
C-22 Solución 9
TP301 • Festo Didactic
Supervisión de la rotura de una broca TítuloActivación y desactivación de una salida
3. Formulación del programa de PLC en uno de los diversos lenguajes de programación
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
El comportamiento deseado se obtiene por medio de la utilización deun bloque de función RS (desactivación dominante)
PROGRAM Indicador de alarma VAR
S1 AT %IX0.0 : BOOL; (* Pulsador *)B1 AT %IX0.1 : BOOL; (* Broca defectuosa: B1=0 *)H1 AT %QX0.0 : BOOL; (* Indicador de alarma *)RS_H1 : RS; (* Flip-flop RS_H1 indicador de alarma *)
END_VAR
END_PROGRAM
Diagrama de bloques de función
PROGRAM Indicador de alarma VAR S1 AT %IX0.0 : BOOL; (* Pulsador *)
B1 AT %IX0.1 : BOOL; (* Broca defectuosa: B1=0 *) H1 AT %QX0.0 : BOOL; (* Indicador de alarma *) END_VAR
END_PROGRAM
Diagrama de contactos
RS
S
R1
Q1B1 H1
RS_H1
S1
B1 H1
S/
R
S1 H1
C-23Solución 10
Festo Didactic • TP301
Los lenguajes de Diagrama de Contactos y Lista de Instrucciones tie-nen sus propias operaciones para la activación y desactivación memo-rizantes de una variable, por lo que no es aplicable el uso de un flipflopRS. La secuencia de las órdenes de activación SET y desactivaciónRESET son cruciales para el comportamiento del PLC. La orden quedebe ser dominante – en este caso la orden de desactivación – debeser la última en ser procesada.
PROGRAM Indicador de alarmaVAR
S1 AT %IX0.0 : BOOL; (* Pulsador *)B1 AT %IX0.1 : BOOL; (* Broca defectuosa: B1=0 *)H1 AT %QX0.0 : BOOL; (* Indicador de alarma *)
END_VAR
LDN B1ST H1LD S1R H1
END_PROGRAM
Lista de instrucciones
PROGRAM Indicador de alarma VAR S1 AT %IX0.0 : BOOL; (* Pulsador *) B1 AT %IX0.1 : BOOL; (* Broca defectuosa: B1=0 *) H1 AT %QX0.0 : BOOL; (* Indicador de alarma *) RS_H1 : RS; (* Flip-flop RS_H1 Indicador de alarma *) END_VAR
RS_H1( S := NOT B1, R1 := S1 ); H1 := RS_H1.Q1;
END_PROGRAM
Texto estructurado
C-24 Solución 10
TP301 • Festo Didactic
Activación de un cilindro TítuloFlancos de las señales
3. Formulación del programa PLC en uno de los lenguajes de pro-gramación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
En el diagrama de bloques de función, la evaluación de flancos serealiza por medio de la utilización del bloque de función R_TRIG.
PROGRAM Activación de cilindro VAR S1 AT %IX0.0 : BOOL; (* Pulsador marcha *) B1 AT %IX0.1 : BOOL; (* Cilindro 1.0 retraído *) B2 AT %IX0.2 : BOOL; (* Cilindro 1.0 extendido *) Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *) R_TRIG_S1 : R_TRIG; (* Detecta flanco ascendente S1 *)
RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *) END_VAR
END_PROGRAMDiagrama de bloques de función
&B1
&B2
RS
S
R1
Q1 Y1
RS_Y1
R_TRIG
CLK QS1
R_TRIG_S1
C-25Solución 11
Festo Didactic • TP301
El lenguaje Diagrama de Contactos tiene contactos especiales para ladetección de flancos.
PROGRAM Activación de cilindroVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro 1.0 retraído *)B2 AT %IX0.2 : BOOL; (* Cilindro 1.0 extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)
END_VAR
END_PROGRAM
Diagrama de contactos
S1 Y1B1
S1 Y1B2
P S
P R
PROGRAM Activación de cilindroVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro 1.0 retraído *)B2 AT %IX0.2 : BOOL; (* Cilindro 1.0 extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)R_TRIG_S1 : R_TRIG; (* Detecta flanco ascendente S1 *)RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *)
END_VAR
CAL R_TRIG_S1( CLK := S1 ) (* Evaluación flanco ascendente *)LD R_TRIG_S1.Q (* Flanco ascendente en S1 *)AND B1 (* Cilindro retraído *)S Y1 (* Avance del cilindro *)LD R_TRIG_S1.Q (* Flanco ascendente en S1 *)AND B2 (* Cilindro extendido *)R Y1 (* Retroceso del cilindro *)
END_PROGRAM
Lista de instrucciones
C-26 Solución 11
TP301 • Festo Didactic
En los lenguajes de Lista de Instrucciones y Texto Estructurado, ladetección de flancos se realiza invocando un bloque de funciónR_TRIG.
PROGRAM Activación de cilindro VAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro 1.0 retraído *)B2 AT %IX0.2 : BOOL; (* Cilindro 1.0 extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *)R_TRIG_S1 : R_TRIG; (* Detecta flanco ascendente S1 *)RS_Y1 : RS; (* Flip-flop RS_Y1 para Y1 *)
END_VAR
R_TRIG_S1( CLK := S1 ); (* Evaluación flanco ascendente *)RS_Y1( S := R_TRIG_S1.Q & B1; (* Invoca flip-flop para Y1 *)R1 := R_TRIG_S1.Q & B2 );Y1 := RS_Y1.Q1; (* Estado del flip-flop a Y1 *)
END_PROGRAM
Texto estructurado
C-27Solución 11
Festo Didactic • TP301
C-28 Solución 11
TP301 • Festo Didactic
Encolado de componentes TítuloPulso
3. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
PROGRAM EncoladoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro encolador retraído *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro encolador *)TP_Y1 1 : TP; (* Pulso tiempo encolado *)
END_VAR
END_PROGRAMDiagrama de bloques de función
&S1 TP
IN
PT
Q Y1
TP_Y1
B1
T#5sET
PROGRAM EncoladoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro encolador retraído *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro encolador *)TP_Y1 1 : TP; (* Pulso tiempo encolado *)
END_VAR
END_PROGRAM
Diagrama de contactos
TP
IN
PT
Q
TP_Y1
T#5s ET
S1 B1 Y1
C-29Solución 12
Festo Didactic • TP301
En el lenguaje de Lista de Instrucciones, la transferencia de paráme-tros para la invocación de un bloque de función puede consistir de unasola variable individual. Para conseguir esto, la variable T_Start se de-clara en el programa.
PROGRAM EncoladoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro encolador retraído *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro encolador *)T_Start AT %MX0.0 : BOOL; (* Condición de marcha de TP_Y1 *)TP_Y1 1 : TP; (* Pulso tiempo encolado *)
END_VAR
LD S1AND B1ST T_StartCAL TP_Y1( IN := T_Start, PT := T#5s )LD TP_Y1.Q ST Y1
END_PROGRAM
Lista de instrucciones
PROGRAM EncoladoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro encolador retraído *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro encolador *)TP_Y1 1 : TP; (* Pulso tiempo encolado *)
END_VAR
TP_Y1( IN := S1 & B1, PT := T# 5s );Y1 := TP_Y1.Q;
END_PROGRAMTexto estructurado
C-30 Solución 12
TP301 • Festo Didactic
Dispositivo de marcado TítuloSeñal con retardo a la conexión
3. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
PROGRAM MarcadoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador inicio proceso marcado *)B1 AT %IX0.1 : BOOL; (* Cilindro de marcado retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro de marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro marcado *)RS_Y1 : RS; (* Flip-flop para cilindro marcado *)TON_Y1 : TON; (* Señal retardada para marcado *)
END_VAR
END_PROGRAM
Diagrama de bloquesde función
&S1
TON
IN
PT
Q
TON_Y1
RS
S
R1
Q1 Y1
RS_Y1
ET
B2
B1
T#3s
C-31Solución 13
Festo Didactic • TP301
PROGRAM MarcadoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador inicio proceso marcado *)B1 AT %IX0.1 : BOOL; (* Cilindro de marcado retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro de marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro marcado *)RS_Y1 : RS; (* Flip-flop para cilindro marcado *)TON_Y1 : TON; (* Señal retardada para marcado *)
END_VAR
END_PROGRAM
Diagrama de contactos
TON
IN
PT
Q
TON_Y1
T#3s ET
S1 B1 Y1
B2 Y1
S
R
PROGRAM MarcadoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador inicio proceso marcado *)B1 AT %IX0.1 : BOOL; (* Cilindro de marcado retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro de marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro marcado *)T_Start AT %MX0.0 : BOOL; (* Condición de marcha para TON_Y1 *)RS_Y1 : RS; (* Flip-flop para cilindro marcado *)TON_Y1 : TON; (* Señal retardada para marcado *)
END_VAR
LD S1AND B1ST T_StartCAL TON_Y1( IN := T_Start, PT := T#3s )LD TON_Y1.QS Y1LD B2R Y1
END_PROGRAM
Lista de instrucciones
C-32 Solución 13
TP301 • Festo Didactic
PROGRAM MarcadoVAR
S1 AT %IX0.0 : BOOL; (* Pulsador inicio proceso marcado *)B1 AT %IX0.1 : BOOL; (* Cilindro de marcado retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro de marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro marcado *)RS_Y1 : RS; (* Flip-flop para cilindro marcado *)TON_Y1 : TON; (* Señal retardada para marcado *)
END_VAR
TON_Y1( IN := S1 & B1, PT := T#3s );RS_Y1( S := TON_Y1.Q, R1 := B2 );Y1 := RS_Y1.Q1;
END_PROGRAM
Texto estructurado
C-33Solución 13
Festo Didactic • TP301
C-34 Solución 13
TP301 • Festo Didactic
Dispositivo de fijación TítuloSeñal con retardo a la desconexión
3. Formulación del programa PLC en uno de los lenguajes de programación del PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
PROGRAM FijaciónVAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro fijación retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro fijación extendido *)B3 AT %IX0.2 : BOOL; (* Cilindro marcado retraído *)B4 AT %IX0.3 : BOOL; (* Cilindro marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro fijación *)Y2 AT %QX0.1 : BOOL; (* Avance cilindro marcado *)Y3 AT %QX0.2 : BOOL; (* Retroceso cilindro marcado *)RS_Y2 : RS; (* Flip-flop para Y2 *)RS_Y3 : RS; (* Flip-flop para Y3 *)TOF_Y1 : TOF; (* Retardo a la desconexión *)R_TRIG_B2 : R_TRIG; (* Flanco ascendente de B2 *)
END_VAR
END_PROGRAMDiagrama de bloques de función
&S1TOF
IN
PT
Q
TOF_Y1
Y1
ETB3
T#3s
R_TRIG
CLK QB2
R_TRIG_B2
B1
&
RS
S
R1
Q1
RS_Y2
Y2
B3
B4
RS
S
R1
Q1
RS_Y3
Y3B4
B3
C-35Solución 14
Festo Didactic • TP301
PROGRAM FijaciónVAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro fijación retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro fijación extendido *)B3 AT %IX0.2 : BOOL; (* Cilindro marcado retraído *)B4 AT %IX0.3 : BOOL; (* Cilindro marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro fijación *)Y2 AT %QX0.1 : BOOL; (* Avance cilindro marcado *)Y3 AT %QX0.2 : BOOL; (* Retroceso cilindro marcado *)TOF_Y1 : TOF; (* Retardo a la desconexión *)
END_VAR
END_PROGRAMDiagrama de contactos
TOF
IN
PT
Q
TOF_Y1
T#3s ET
S1 B3 Y1
B2 Y2
S
B1
B3
B4 Y2
R
Y3
S
B3 Y3
R
P
C-36 Solución 14
TP301 • Festo Didactic
PROGRAM Fijación VAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro fijación retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro fijación extendido *)B3 AT %IX0.2 : BOOL; (* Cilindro marcado retraído *)B4 AT %IX0.3 : BOOL; (* Cilindro marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro fijación *)Y2 AT %QX0.1 : BOOL; (* Avance cilindro marcado *)Y3 AT %QX0.2 : BOOL; (* Retroceso cilindro marcado *)T_Start AT %MX0.0 : BOOL; (* Condición de marcha para TOF_Y1 *)TOF_Y1 : TOF; (* Retardo a la desconexión *)R_TRIG_B2 : R_TRIG; (* Flanco ascendente de B2 *)
END_VAR
LD S1AND B1AND B3ST T_StartCAL TOF_Y1( IN := T_Start, PT := T#3s )LD TOF_Y1.QST Y1CAL R_TRIG_B2( CLK := B2 )LD R_TRIG_B2.Q AND B3S Y2LD B4R Y2S Y3LD B3R Y3
END_PROGRAM
Lista de instrucciones
C-37Solución 14
Festo Didactic • TP301
PROGRAM Fijación VAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *)B1 AT %IX0.1 : BOOL; (* Cilindro fijación retraído *)B2 AT %IX0.1 : BOOL; (* Cilindro fijación extendido *)B3 AT %IX0.2 : BOOL; (* Cilindro marcado retraído *)B4 AT %IX0.3 : BOOL; (* Cilindro marcado extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro fijación *)Y2 AT %QX0.1 : BOOL; (* Avance cilindro marcado *)Y3 AT %QX0.2 : BOOL; (* Retroceso cilindro marcado *)RS_Y2 : RS; (* Flip-flop para Y2 *)RS_Y3 : RS; (* Flip-flop para Y3 *)TOF_Y1 : TON; (* Retardo a la desconexión *)R_TRIG_B2 : R_TRIG; (* Flanco ascendente de B2 *)
END_VAR
TOF_Y1( IN := S1 & B1 & B3, PT := T#3s );Y1 := TOF_Y1.Q;R_TRIG_B2( CLK := B2 );RS_Y2( S := R_TRIG_B2.Q & B3, R1 := B4 );Y2 := RS_Y2.Q1;RS_Y3( S := B4, R1 := B3 );Y3 := RS_Y3.Q1;
END_PROGRAMTexto estructurado
C-38 Solución 14
TP301 • Festo Didactic
Dispositivo elevador para paquetes TítuloSecuencia lineal
2. Descripción de la tarea de control en diagrama de funciones secuencial según IEC848
1
1
1
1
1
2
3
4
5
S
S
S
S
Posición inicial
Avance cilindro elevación
Avance cilindro transferencia
Retroceso cilindro elevador
Retroceso cilindro transfer.
Cilindro elevador retraído, cilindro de transferencia retraído y paquete presente
2.1 : Cilindro elevador extendido
3.1 : Cilindro de transferencia extendido
4.1 : Cilindro elevador retraído
5.1 : Cilindro de transferencia retraído
Diagrama de funcionessegún IEC 848
C-39Solución 15
Festo Didactic • TP301
4. Formulación del programa PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
PROGRAM TransportVAR
B1 AT %IX0.0 : BOOL; (* Paquete presente *)B2 AT %IX0.1 : BOOL; (* Cilindro elevador retraído *)B3 AT %IX0.2 : BOOL; (* Cilindro elevador extendido *)B4 AT %IX0.3 : BOOL; (* Cilindro de transferencia retraído *)B5 AT %IX0.4 : BOOL; (* Cilindro de transferencia extendido *)Y1 AT %QX0.0 : BOOL; (* Avance cilindro elevador *)Y2 AT %QX0.1 : BOOL; (* Avance cilindro de transferencia *)
END_VAR
END_PROGRAMDiagrama defunciones secuencial
S_1
S_2
S_3
S_4
S_5
&B1
B4B2
S B3Y1
B3
S B5Y2
B5
R B2Y1
B2
R B4Y2
B4
C-40 Solución 15
TP301 • Festo Didactic
El cuerpo principal del programa está estructurado en diagrama de fun-ciones secuencial. Las condiciones de transición asociadas están for-muladas en diagramas de bloques de función. Si una condición detransición consiste solamente en una variable booleana, esta se repre-senta en texto estructurado. Las etapas consisten en simples accionesbooleanas con los calificadores S (activación memorizante) y R (desac-tivación memorizante). La etapa S_1 es una etapa vacía.
C-41Solución 15
Festo Didactic • TP301
C-42 Solución 15
TP301 • Festo Didactic
Dispositivo elevador y clasificador para paquetes TítuloSecuencia con desvío alternativo
2. Descripción de la tarea de control en diagrama de funciones secuencial según IEC848
1
2
3
4
7
1S
1S
1S
1S
5
6
1S
1S
Avance cilindro elevador
Pulsador de marcha y posición inicial
Avance cilindro 3.0
Retroceso cilindro 3.0
Posición inicial
Avance cilindro 2.0
Retroceso cilindro 2.0
Retroceso cilindro elevador
2.1 : Cilindro elevador extendido y paquete corto
3.1 : Cilindro 2.0 extendido
4.1 : Cilindro 2.0 retraído
7.1 : Cilindro elevador retraído
2.1 : Cilindro elevador extendido y paquete largo
5.1 : Cilindro 3.0 extendido
6.1 : Cilindro 3.0 retraído
Diagrama de funcionessegún IEC 848
C-43Solución 16
Festo Didactic • TP301
4. Formulación del programa PLC
Según IEC 1131-3, un programa consiste en un descriptor de progra-ma – este también incluye la declaración de variables – y el cuerpoprincipal del programa. Esta es la razón por la que la declaración devariables en forma textual es una parte componente de cada soluciónrepresentada.
PROGRAM ClasificaciónVAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *)S2 AT %IX0.1 : BOOL; (* Selector , S2=0: paquete corto *)B1 AT %IX0.2 : BOOL; (* Cilindro elevador 1.0 retraído *)B2 AT %IX0.3 : BOOL; (* Cilindro elevador 1.0 extendido *)B3 AT %IX0.4 : BOOL; (* Cilindro 2.0 retraído *)B4 AT %IX0.5 : BOOL; (* Cilindro 2.0 extendido *)B5 AT %IX0.6 : BOOL; (* Cilindro 3.0 retraído *)B6 AT %IX0.7 : BOOL; (* Cilindro 3.0 extendido *)Y1 AT %QX0.0 : BOOL; (* Retroceso cilindro elevador *)Y3 AT %QX0.2 : BOOL; (* Avance cilindro 2.0 *)Y4 AT %QX0.3 : BOOL; (* Avance cilindro 3.0 *)
END_VAR
END_PROGRAM
Diagrama defunciones secuencial
S_1
S_2
S_3
S_4
S_7
S B2Y1
B2 & NOT S2
S B4Y3
B4
R B3Y3
B3
S B1Y2
B1
S_5
S_6
B2 & S2
S B6Y4
B6
R B5Y4
B5
R Y2
S1 & B1 & B3 & B5
R Y1
C-44 Solución 16
TP301 • Festo Didactic
El cuerpo principal del programa está estructurado en diagrama de fun-ciones secuencial. Las condiciones de transición asociadas están for-muladas en lenguaje de texto estructurado. Las etapas consisten ensimpleas acciones booleanas con los calificadores S (activación memo-rizante) y R (desactivación memorizante). La etapa inicial S_1 es unaetapa vacía. Tras la etapa S_2 el programa deriva en dos secuenciasalternativas.
C-45Solución 16
Festo Didactic • TP301
C-46 Solución 16
TP301 • Festo Didactic
Dispositivo de estampación con contador TítuloCiclos de conteo
2. Descripción de la tarea de control en diagrama de funciones secuencial según IEC848
1
2
3
4
7
1S
1S
1S
1S
8 N
N
1
5 1S
6 1S
Retroceso cilindro 1.0
Avance cilindro 1.0
Pieza presente, contador no vencidoy posición inicial
Inicializar contador
Posición inicial
Avance cilindro 2.0
Retroceso cilindro 2.0
Retrocxeso cilindro 3.0
2.1 : Cilindro extendido
3.1 : Cilindro 2.0 extendido
6.1 : Cilindro 3.0 extendido
7.1 : Cilindro 3.0 retraído
Contador vencido y S1 accionado
Incrementar contador en 1
5.1 : Cilindro 1.0 retraído
Avance cilindro 3.0
4.1 : Cilindro 2.0 retraído
Diagrama de funcionessegún IEC 848
C-47Solución 17
Festo Didactic • TP301
4. Formulación del programa PLC
PROGRAM Estampación VAR
S1 AT %IX0.0 : BOOL; (* Pulsador de marcha *) B1 AT %IX0.1 : BOOL; (* Cilindro 1.0 retraído *) B2 AT %IX0.2 : BOOL; (* Cilindro 1.0 extendido *) B3 AT %IX0.3 : BOOL; (* Cilindro 2.0 retraído *) B4 AT %IX0.4 : BOOL; (* Cilindro 2.0 extendido *) B5 AT %IX0.5 : BOOL; (* Cilindro 3.0 retraído *) B6 AT %IX0.6 : BOOL; (* Cilindro 3.0 extendido *) B7 AT %IX0.7 : BOOL; (* Pieza en almacén *) Y1 AT %QX0.0 : BOOL; (* Avance cilindro 1.0 *) Y2 AT %QX0.1 : BOOL; (* Retroceso cilindro 1.0 *) Y3 AT %QX0.2 : BOOL; (* Avance cilindro 2.0 *) Y4 AT %QX0.3 : BOOL; (* Avance cilindro 3.0 *) CTU_1 : CTU; (* Contador incremental CTU_1 *) END_VAR
Declaración de variables
C-48 Solución 17
TP301 • Festo Didactic
END_VAR
END_PROGRAMDiagrama de funcionessecuencial
S_1
S_2
S_3
S_4
S_5
S B2Y1
B2
S B4Y3
B4
R B3Y3
B3
S B1Y2
B1
S_8
S1 & CTU_1.Q
N
1
R Y2
B1 & B3 & B5 & B7 & NOT CTU_1.Q
R Y1
PV
QCU
CTU
R1
10
CTU_1
N
PV
CU
CTU
R
CTU_1
S_2.X
S_6 S B6Y4
B6
S_7 R B5Y4
B5
Count
Counter_init
CV
CV
C-49Solución 17
Festo Didactic • TP301
El cuerpo principal del programa está estructurado en diagrama de fun-ciones secuencial. Las condiciones de transición asociadas están for-muladas en lenguaje de texto estructurado. Tras la etapa inicial S_1 elprograma deriva en dos secuencial alternativas.
Si se acciona el pulsador S1 por primera vez, se inicializa la copiaCTU_1 del bloque de función contador. Esto sucede siempre dentro dela acción denominada "Counter_init". El programa regresa a la etapaS_1 con una condición de transición que siempre es cierta. Las condi-ciones de la cadena secuencial de la izquierda se cumplen ahora. Estaes procesada cíclicamente hasta que se han estampado y expulsado10 piezas. El verdadero proceso de conteo no está programado en laacción booleana "Count". El flanco que dispara el procedimiento deconteo se crea a través del flag de etapa S_2.X.
Cuando la copia del bloque de función CTU_1 ha sido inicializada, seaplica el valor 0 en la entrada CU. Si ahora se ejecuta la etapa S_2, elflag de etapa S_2.X asume el valor 1, mientras que el flanco ascen-dente se aplica brevemente a la entrada CU.
Si la condición de transición B2 se ha cumplido ahora, la acción"Count" se ejecuta como acción no-booleana por última vez. Para esteproceso de evolución final, el flag de etapa S_2.X ya tiene el valor 0,por lo que también lo tiene la entrada CU de CTU_1. Si el programallega una vez más a la etapa S_2, se produce un cambio en el estadode la entrada CU de 0 a 1: se aplica el flanco ascendente para larealización del ciclo de conteo.
C-50 Solución 17
TP301 • Festo Didactic
Sección D – Apéndice
Fichas técnicas
Entrada de señales eléctricas . . . . . . . . . . . . . . . . . . . . . . . . . . 011088
Indicador y placa de distribución eléctrica. . . . . . . . . . . . . . . . . 030311
Cilindro de simple efecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152887
Cilindro de doble efecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152888
Unidad de mantenimiento con válvula de interrupción . . . . . . 152894
Distribuidor de aire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152896
Sensor de proximidad inductivo. . . . . . . . . . . . . . . . . . . . . . . . . 152902
Sensor de proximidad capacitivo . . . . . . . . . . . . . . . . . . . . . . . . 152903
Sensor de proximidad óptico . . . . . . . . . . . . . . . . . . . . . . . . . . . 152904
Interruptor de proximidad para montaje en cilindro. . . . . . . . . . 152905
Electroválvula de 5/2 vías . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152909
Electroválvula de 5/2 vías, doble solenoide . . . . . . . . . . . . . . . 152910
Unidad de conexión E/S digitales . . . . . . . . . . . . . . . . . . . . . . . 159385
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D-3
D-1Apéndice
Festo Didactic • TP301
D-2 Apéndice
TP301 • Festo Didactic
Diseño
Este componente consta de dos pulsadores iluminados en forma de contactosmomentáneos y un pulsador iluminado en forma de contacto con retención. Todas lasconexiones eléctricas son en forma de zócalos de 4 mm. La unidad puede montarse enun bastidor de montaje o en la placa perfilada utilizando cuatro clavijas enchufables.
Función
Los pulsadores iluminados en forma de contactos momentáneos consisten en unbloque de contactos con dos contactos normalmente cerrados y dos normalmenteabiertos, junto con un pulsador con tapa transparente con piloto miniatura. El bloque decontactos se activa presionando el pulsador. Los circuitos eléctricos abren o cierran através del bloque de contactos. Cuando se suelta el pulsador, el bloque de contactosregresa a su posición inicial.El pulsador iluminado en forma de interruptor con retención consiste en un bloque decontactos con dos contactos normalmente abiertos y dos normalmente cerrados, juntocon un pulsador con tapa transparente con piloto miniatura. El bloque de contactos seactiva presionando el pulsador. Los circuitos eléctricos abren o cierran a través delbloque de contactos. Cuando se suelta el pulsador, el bloque de contactos permaneceen la posición alcanzada. El bloque de contactos regresa a su posición inicialpresionando de nuevo el pulsador.
Nota
Cuando se aplica tensión a las conexiones del indicador óptico, se visualiza el estadode conmutación por medio del piloto miniatura incorporado en el pulsador.
Tensión 24 V DC
Bloque de contactos2 contactos n.a.,2 contactos n.c.
Capacidad de los contactos Max. 1 A
Consumo (piloto) 0,48 W
Conexiones Cuatro clavijas de 4 mm
Sujeto a cambios Datos técnicos
11
12
S
S
1
14
11
12
S
S
1
14
Entrada de señales eléctricas 0110881/2
Festo Didactic
S
1 2
2 = ffner
= Schlie erS = STA T Taster
Contacto norm. cerrado
Contacto norm. abiertoEjemplo de aplicación:
Esquema del circuitoeléctrico
1 2
S
12 14
11
A1
A2
2
24V
0V
1
14
= ffner
= Schlie erS = STA T TasterS = Pulsador de marcha
Contacto norm. abierto
Contacto norm. cerrado
S = Pulsador de marcha
Ejemplo de aplicación:Montaje eléctrico práctico
12
11
14 A1
A2
12
11
1414A1
A2
Wechsler als Schlie erangeschlossen
Wechsler als ffnerangeschlossen
Interruptor conmutadorconectado como contacto n.a.
Interruptor conmutadorconectado como contacto n.o.
Contactos normalmenteabiertos, normalmente
cerrados: Asignación decontactos en la placa de
relés
011088 Entrada de señales eléctricas
2/2
Festo Didactic
ise oEste componente consiste en un indicador ac stico y cuatro indicadores ópticos conconexiones, y tres l neas de bus para alimentación. Todas las conexiones eléctricasson en forma de zócalos de 4 mm. La unidad puede montarse en un bastidor demontaje o sobre la placa perfilada utilizando cuatro adaptadores de clavijasenchufables.
FunciónEl indi ador a s i o emite un zumbido cuando se aplica tensión a sus conexiones.El indi ador isual , consiste en un cuerpo con una cxaperuza transparente y unalámpara minuatura. Cuando se aplica tensión a sus conexiones, su estado operativo seindica por la lámpara minuatura incorporada. Por cada lámpara se han previsto un parde zócalos puenteados, permitiendo que el componente se utilice además comodistribuidor.
NotaPara asegurar que el indi ador a s i o funciona correctamente, verificar la polaridadde la fuente de alimentación.
Tensión 24 V DC
Consumo (indicador ac stico) 0,04 W
Indicador óptico 1,2 W
recuencia (indicador ac stico) 420 z
Conexiones Para clavijas de 4 mm
Sujeto a cambios Datos técnicos
H H
Unidad de indicación y distribución eléctrica 0303111/2
Festo Didactic
S K
K Y
1 2
2 = Öffner
= SchließerS = START - Taster
H1 H2
3 4
Pulsador de marcha
Contacto cerrado en reposo
Contacto abierto en reposoEjemplo de aplicación:
Circuito eléctrico
1 2
S K
12 14
11
K YA1
A2
2
+24V-
0V
13
14
= Öffner
= SchließerS = START - Taster
H1 H2
3 4
Pulsador de marcha
Contacto cerrado en reposo
Contacto abierto en reposoEjemplo de aplicación:Montaje eléctrico
práctico
030311 Unidad de indicación y distribución eléctrica
2/2
Festo Didactic
DiseñoEste cilindro de simple efecto con leva en el vástago y racores rápidos, se hallamontado sobre un soporte. El conjunto puede montarse sobre la placa perfilada conel sistema de fijación rápida con dos tuercas de tetones (alternativa de montaje “B”).
FunciónEl vástago del cilindro de simple efecto se desplaza en sentido de avance al alimen-tarlo con aire comprimido. Al cortar y descargar el aire comprimido, el émbolo regre-sa a su posición de origen por medio de un muelle de retorno.El campo magnético de un imán permanente, unido al émbolo, permite accionar in-terruptores de proximidad magnéticos.
Fluido Aire comprimido filtrado (con o sin lubricación)
Diseño Cilindro de émbolo
Presión defuncionamiento máx. 10 bar (1000 kPa)
Carrera máxima 50 mm
Fuerzaa 6 bar (600 kPa) 150 N
Mínima fuerza delmuelle
13,5 N
Conexión G 1/8Racores CU-PK-3 para tubo de plástico PUN-4 x 0,75
Sujeto a modificacionesDatos técnicos
Cilindro de simple efecto 1528871/1
Festo Didactic
Festo Didactic
DiseñoEste cilindro de doble efecto con leva en el vástago y racores rápidos, se hallamontado sobre un soporte. El conjunto puede montarse sobre la placa perfilada conel sistema de fijación rápida con dos tuercas de tetones (alternativa de montaje “B”).
FunciónEl vástago del cilindro de doble efecto se invierte por medio de la alimentación alter-nativa de aire comprimido. La amortiguación en ambos extremos evita choques brus-cos del émbolo en las culatas. La amortiguación de los finales de recorrido puedeajustarse por tornillos de regulaciónEl campo magnético de un imán permanente, unido al émbolo, permite accionar in-terruptores de proximidad magnéticos.
Fluido Aire comprimido filtrado (con o sin ubricación)
Diseño Cilindro de émbolo
Presión defuncionamiento máx.
10 bar (1000 kPa)
Carrera máxima 100 mm
Fuerza a 6 bar(600 kPa)
165 N
Fuerza de retornoa 6 bar (600 kPa) 140 N
Conexión G 1/8Racores CU-PK-3 para tubo de plástico PUN-4 x 0,75
Sujeto a modificacionesDatos técnicos
Cilindro de doble efecto 1528881/1
Festo Didactic
Festo Didactic
DiseñoEl filtro regulador con manómetro, racores rápidos y válvula de interrupción, se hallamontado en un soporte basculante. El vaso del filtro se halla protegido por una fun-da metálica. La unidad se monta sobre la placa perfilada por medio de tornillosAllen y tuercas en Te (alternativa de montaje “C”)
FunciónEl filtro con separador de agua, limpia el aire comprimido de suciedad, virutas de latubería, óxidos y condensados.El regulador de presión ajusta el aire comprimido suministrado a la presión de fun-cionamiento requerida y compensa las fluctuaciones de la presión de entrada. Unaflecha en el cuerpo indica el sentido del flujo. El vaso del filtro posee un tornillo dedrenaje. El manómetro muestra la presión ajustada. La válvula de interrupción cortay descarga la presión del sistema. La válvula de 3/2 vías se acciona deslizando lacorredera cilíndrica azul.
NotaCuando se monta el circuito, asegurarse de que el filtro regulador se monta en posi-ción vertical. El regulador está provisto de un pomo, que permite ajustar la presiónrequerida girándolo. Apretando el tornillo ranurado en la cabeza del regulador, elajuste puede bloquearse.
Fluido Aire comprimido
Diseño Filtro sinterizado con separador de agua, regulador depresión tipo émbolo
Caudal nom. estándar* 750 l/min
Presión máx. entrada. 1600 kPa (16 bar)
Presión máx. salida. 1200 kPa (12 bar)
Grado de filtración 40 µm
Volumen decondensados
14 cm3
Conexión G 1/8Racor CU-PK-4 para tubo de plástico PUN-6 x 1
* Presión de entrada 1000 kPa (10 bar)Presión de salida 600 kPa (6 bar)Presión diferencial 100 kPa (1 bar)
Sujeto a modificacionesDatos técnicos
Unidad de mantenimiento 152894con válvula de interrupción 1/1
Festo Didactic
Festo Didactic
DiseñoEste distribuidor de aire con ocho salidas autobloqueadas, se halla sujeto sobre unaplaca universal. La unidad se fija a la placa perfilada por medio de un sistema defijación rápido con leva azul (alternativa de montaje “A”).
FunciónEl distribuidor con una alimentación P común, permite alimentar de aire comprimidohasta ocho puntos en un sistema de control neumático
Conexión G 1⁄81 racor CU-1⁄8-6 para tubo de plástico PUN-6 x 18 racores KCU-1⁄8-4 para tubo de plástico PUN-4 x 0,75
Sujeto a modificacionesDatos técnicos
Distribuidor de aire 1528961/1
Festo Didactic
Festo Didactic
B
1 3 4 5
7
8 G
24V
0V
B
Sensor de proximidad inductivo 1529021/2
Festo Didactic
Diseño
Este sensor de proximidad inductivo con LED y conexiones eléctricas se halla montadosobre una base de polímero. La unidad se fija sobre la placa perfilada por medio de unsistema de bloqueo rápido con tuerca azul de tetones (alternativa de montaje “B”)
Función
El sensor de proximidad inductivo consiste en un circuito oscilador realizado con uncircuito resonante paralelo con bobina y condensador, así como un amplificador. Elcampo electromagnético es dirigido hacia el exterior por medio de un núcleo de ferrita.Cuando un cuerpo conductor de la electricidad penetra en el campo electromagnético,genera unas corrientes parásitas en el material según la ley de la inducción queatenúan la oscilación. Dependiendo de la conductividad, el tamaño y la proximidad delobjeto conductor, el oscilador puede atenuarse tanto que deje de oscilar. La atenuacióndel oscilador se evalúa en la etapa de disparo, lo cual proporciona una señal de salida.El sensor de proximidad tiene salida PNP, es decir, la línea de señal se conecta alpotencial positivo en el estado de activación. El interruptor está diseñado en forma decontacto normalmente abierto. La conexión de la carga se realiza entre la señal desalida del sensor y el potencial cero. La superficie activa puede identificarse por eldisco de polímero azul. El estado de funcionamiento se indica por un LED. El sensorse halla protegido contra polaridad inversa, sobrecarga y cortocircuito.
Nota
La adecuada polaridad de la tensión aplicada es necesaria para un correctofuncionamiento. Las conexiones para la tensión de alimentación están codificadas encolores como se indica: rojo para positivo, azul para negativo y negro para la señal desalida. La carga se conecta entre la salida de conmutación y el potencial 0 V de laalimentación.
Tensión de conmutación 10 a 30 V DC
Rizado residual máximo 10% según DIN 41755
Distancia nominal de detección 4 mm (material: acero dulce)
Frecuencia de conmutación máximo 800 Hz
Función de salida contacto normalmente abierto,conmutación a positivo
Corriente de salida máximo 400 mA
Clase de protección IP65
Conexiones para clavija de 4 mm o zócalo de 3 pines
Sujeto a cambiosDatos técnicos
152902 Sensor de proximidad inductivo
2/2
Festo Didactic
B
1 3 4 5
7
8 9G
1 Oscilador2 Demodulador3 Etapa de disparo4 Indicador de
funcionamiento5 Etapa de salida con
corcuito de protección6 Tensión externa7 Alimentación interna de
tensión constante8 Condensador con
zona activa9 Salida
24V
0V
B
Sensor de proximidad, capacitivo 1529031/2
Festo Didactic
Diseño
Este sensor de proximidad capacitivo con LED y conexiones eléctricas se hallamontado sobre una base de polímero. La unidad se fija sobre la placa perfilada pormedio de un sistema de bloqueo rápido con tuerca azul de tetones (alternativa demontaje “B”)
Función
El principio de funcionamiento de un sensor capacitivo está basado en la evaluacióndel cambio de capacidad de un condensador en un circuito resonante RC.Cuando un material se acerca al sensor de proximidad, la capacidad de condensadorse estimula (aumentanto), con lo que puede evaluarse un cambio en las característicasde la oscilación del circuito RC. El cambio de capacidad detende mucho de ladistancia, tamaño y constante dieléctrica del material utilizado.El sensor de proximidad tiene una salida PNP, es decir, la línea de señal es conmutadaa un potencial positivo en el estado de conmutación. El interruptor está diseñado comoun contacto normalmente abierto. La conexión de la carga se realiza entre la señal desalida del sensor y el potencial cero. La superficie activa puede identificarse por eldisco de polímero azul. El estado de funcionamiento se indica por un LED. El sensorse halla protegido contra polaridad inversa, sobrecarga y cortocircuito.
Nota:
La adecuada polaridad de la tensión aplicada es necesaria para un correctofuncionamiento. Las conexiones para la tensión de alimentación están codificadas encolores como se indica: rojo para positivo, azul para negativo y negro para la señal desalida. La carga se conecta entre la salida de conmutación y el potencial 0 V de laalimentación.
Tensión de conmutación 10 a 30 V DC
Rizado residual máximo10%
Distancia nominal de conmutación 4 mm
Punto de conmutación reproduciblea temperatura constante
≤ 0,01 mm
Frecuencia de conmutación máximo 100 Hz
Corriente en vacío aprox. 15 mA
Intensidad de salida máximo 200 mA
Capacidad de conmutación máximo 4,8 W
Función de salida Contacto n.a. conmutación a positivo
Clase de protección IP65
Conexiones para clavija de 4 mm o zócalo 3 pines
Sujeto a cambiosDatos técnicos
152903 Sensor de proximidad, capacitivo
2/2
Festo Didactic
B
1 2 3 4 5 6 7 8
9
10
1112
1 Oscilador2 Emisor fotoeléctrico3 Receptor foroeléctrico4 Preamplificador con
potenciómetro5 Función lógica6 Convertidor nivel/pulso7 Indicador de estado8 Etapa de salida con
circuito protector9 Tensión externa
10 Fuente de tensióninterna constante
11 Recorrido óptico12 Salida
24V
0V
B
Sensor de proximidad óptico 1529041/2
Festo Didactic
Diseño
Este sensor de proximidad óptico con LED y conexiones eléctricas se halla montadosobre una base de polímero. La unidad se fija sobre la placa perfilada por medio de unsistema de bloqueo rápido con tuerca azul de tetones (alternativa de montaje “B”).
Función
Los sensores de proximidad ópticos consisten en dos módulos principales, el emisor yel receptor. En el caso del sensor de reflexión directa, estos se hallan montados en elmismo cuerpo.El emisor del sensor de reflexión directa emite una luz roja pulsante en el margen delespectro visible. El objeto a detectar refleja parte de la luz emitida. Esta luz esdetectada por un dispositivo semiconductor en el receptor que también se halladispuesto en el cuerpo del sensor y que provoca un cambio en el estado deconmutación.El objeto a detectar puede ser reflectante, mate, transparente u opaco. Todo lo que senecesita es que una parte suficientemente elevada de luz sea reflejada directamente ode forma difusa. La distancia de detección puede variarse por medio de unpotenciómetro.El sensor de proximidad tiene una salida PNP, es decir, la línea de señal es conmutadaa un potencial positivo en el estado de conmutación. El interruptor está diseñado comoun contacto normalmente abierto. La conexión de la carga se realiza entre la señal desalida del sensor y el potencial cero. La superficie activa puede identificarse por eldisco de polímero azul. El estado de funcionamiento se indica por un LED. El sensorse halla protegido contra polaridad inversa, sobrecarga y cortocircuito.
Nota:
La adecuada polaridad de la tensión aplicada es necesaria para un correctofuncionamiento. Las conexiones para la tensión de alimentación están codificadas encolores como se indica: rojo para positivo, azul para negativo y negro para la señal desalida. La carga se conecta entre la salida de conmutación y el potencial 0 V de laalimentación.
Tensión de conmutación 10 a 30 V DC
Rizado residual máximo 10%
Distancia nominal de detección 0 a 100 mm (ajustable)
Frecuencia de conmutación máximo 200 Hz
Función de salida Contacto n.a. conmutación a positivo
Corriente de salida máximo 100 mA
Clase de protección IP65
Conexiones para clavija de 4 mm o zócalo de 3 pines
Sujeto a cambiosDatos técnicos
152904 Sensor de proximidad óptico
2/2
Festo Didactic
Diseño
Este interruptor de proximidad consta de un sensor y un kitde montaje. La conexión eléctrica se realiza por medio de unaclavija. El zócalo y el cable (incluido en el kit) se necesitanpara este fin.
Función
El interruptor de proximidad emite una señal eléctrica cuandopenetra en un campo magnético (es decir, el campo del imánpermanente montado sobre el émbolo del cilindro). Lasconexiones eléctricas se hallan embebidas en el interruptor. Elestado de conmutación se muestra por un LED. Este LEDamarillo luce cuando el interruptor está accionado.
Nota
Para asegurar una operación de conmutación correcta,asegurarse que la polaridad de las tensiones aplicadas alinterruptor son correctas. Los cables están codificados porcolores; azul (BU) para el negativo, rojo (BN) para el positivoy negro (BK) para la señal de salida. La carga (relé) seconecta entre este y el terminal negativo. El interruptor sehalla protegido contra polaridad incorrecta, sin embargo, nose halla protegido contra cortocircuito.
BN
BK
BU
BN
BU
BK
24V
0V
Tensión de interrupción 24 V DC/AC
Intensidad de interrupción Máx. 500 mA
Precisión ± 0,1 mm
Conexión Clavija con cable para zócalo
Cable con clavijas de 4 mm
Sujeto a cambios
Datos técnicos
Interruptor de proximidad 152905para montaje en cilindro 1/1
Festo Didactic
Festo Didactic
Diseño
Esta válvula de 5/2 vías de una sola bobina, con racores rápidos esta unida a unaplaca de función que se halla provista de una conexión P y un silenciador. Launidad se monta sobre la placa perfilada con un sistema de bloqueo rápido con levaazul (alternativa de montaje “A”).
Función
La electroválvula invierte cuando se aplica tensión a la bobina del solenoide (1 4)y regresa a su posición inicial (1 2) por un muelle de retorno cuando cesa laseñal. El estado de conmutación se visualiza por medio de un LED en la carcasadel terminal
Nota
La bobina del solenoide se caracteriza por un muy bajo consumo y una bajageneración de calor. La conexión eléctrica incorpora protección contra polaridadincorrecta para el LED y un circuito de protección.
3(S)
4(A) 2(B)
5(R)
1(P)
Sección neumática
Fluido Aire comprimido, filtrado (con o sin lubricación)
Diseño Válvula de corredera pilotada, con muelle de retorno
Margen de presión 250 a 800 kPa (2,5 a 8 bar)
Tiempo de conmutación a 600 kPa (6 bar)Con.: 20 ms, Descon.: 30 ms
Caudal nominal estándar 500 l/min
Conexión Racor CU-PK-3 para tubo de plástico PUN-4 x 0.75
Sección eléctrica
Tensión 24 V DC
Consumo 1,5 W
Duración 100%
Conexión Para clavijas de 4 mm y conector doble
Sujeto a cambios
Datos técnicos
Electroválvula de 5/2 vías 1529091/1
Festo Didactic
Festo Didactic
Diseño
Esta válvula de 5/2 vías con racores rápidos está montada sobre una placaequipada con una entrada P y un silenciador. La unidad se fija sobre la placaperfilada utilizando el sistema de fijación rápida con leva azul (variante de montaje“A”)
Función
La electroválvula invierte su estado cuando se aplica tensión a la bobina delsolenoide y permanece en esta posición aunque desaparezca la señal. Cuandoaparece una señal en la bobina opuesta, la válvula invierte de nuevo su estado. Elestado de conmutación se visualiza por medio de un LEDs incorporados en losconectores de las bobinas.
Nota
Las bobinas del solenoide se caracterizan por su bajo consumo y su pocageneración de calor. La conexión eléctrica incorpora una protección contra polaridadincorrecta para el LED y un circuito de protección.
1(P)
5(R) 3(S)
4(A) 2(B)
Sección neumática
Fluido Aire comprimido, filtrado (con o sin lubricación)
Diseño Válvula de corredera pilotada, con muelle de retorno
Margen de presión 150 a 800 kPa (1,5 a 8 bar)
Tiempo de conmutación a 600 kPa (6 bar) 10 ms
Caudal nominal estándar 500 l/min
Conexión Racor CU-PK-3 para tubo de plástico PUN-4 x 0.75
Sección eléctrica
Tensión 24 V DC
Consumo 1,5 W
Duración 100%
Conexión Para clavijas de 4 mm y conector doble
Sujeto a cambios
Datos técnicos
Válvula de 5/2 vías, doble solenoide 1529101/1
Festo Didactic
Festo Didactic
DiseñoEsta unidad de conexión está dispuesta en un cuerpoprovisto de pasadores de fijación y se monta en el basti-dor de un armario de maniobra o en la placa de montajeperfilada con ayuda de adaptadores enchufables.Las conexiones eléctricas para la alimentación se conec-tan por medio de clavijas de 4 mm.El control lógico programable se conecta a una regle-ta/conector de 18 pines.
FunciónLa unidad de conexión permite cablear interruptores, senso-res y actuadores a las entradas y salidas de los controlesconectados por medio de zócalos y clavijas de 4 mm.
Cada una de las entradas digitales (I_.0 a I_.7) y salidas(Q_.0 a Q_.7) de un control lógico programable son acce-sibles simultáneamente. El estado de conmutación de lassalidas se indica por medio de un diodo LED.
Unidad de conexión E/S digitales 1593851/2
Festo Didactic
* Para las especificaciones de los datos de entrada y salida, por favor, véase el manual del control lógico programable utilizado.
NotaLa unidad de conexión se suministra con una regleta/conector de 18 pines para elcable de conexión entre el control lógico programable y la unidad de conexión. Laasignación de los 18 pines se da en la tabla inferior.
Tensión de funcionamiento admisible 24 VDC
Rizado residual máx. 10%
EntradasCorriente de entradaTolerancias en el nivel de entrada
8 entradas digitales**
SalidasTensión de salidaCorriente de salida
8 salidas digitales**
Consumo del LED a 24 V 5 mA
Conexión eléctricaTensión de funcionamientoEntradas y salidas
zócalos de 4 mmzócalos de 4 mm y clavijas enchufablescon regleta
Sujeto a cambiosDatos técnicos
Zócalo Nº Zócalo Nº Zócalo Nº
1 24 V DC 7 I_.4 13 Q_.2
2 0 V DC 8 I_.5 14 Q_.3
3 I_.0 9 I_.6 15 Q_.4
4 I_.1 10 I_.7 16 Q_.5
5 I_.2 11 Q_.0 17 Q_.6
6 I_.3 12 Q_.1 18 Q_.7
Asignación de la regleta/conector
de 18 pines(de ariba a abajo)
159385 Unidad de conexión E/S digitales2/2
Festo Didactic
AcciónElemento de una etapa. La acción contiene las partes de ejecuciónde un programa en Diagrama de Funciones Secuencial.
BitForma derivada de "binay digit / dígito binario": carácter bivalente(binario), la más pequeña unidad de información.
Bloque de acciónColección de calificador de acción, nombre de la acción, variablesde realimentación y contenido de la acción.
Bloques de funciónLos bloques de función son partes del programa que pueden utili-zarse repetidamente, para procesar los datos de entrada hacia da-tos de salida. También pueden utilizarse para almacenar resultadosintermedios y tienen un nombre para cada aplicación.
Bus de controlCircuito del bus en un sistema de bus, que transmite exclusivamen-te instrucciones de control.
Bus de datosBus de un PLC, con el que se transmite información (señales, da-tos).
Bus de direccionesHaz de conductores de un sistema, que transmite exclusivamenteinformación sobre direcciones, es decir, direcciones de entradas ysalidas del PLC, flags o dispositivos periféricos.
ByteUna unidad de datos consistente en 8 bits
Calificador de acciónCada acción tiene un calificador, que describe su comportamientoen mayor detalle.
CicloEn un ciclo, el estado de las entradas es leído de la tabla de ima-gen al principio, el programa es procesado una vez completamente,y a continuación se actualiza la tabla de imagen de salidas.
Declaración de datosPara poder acceder a datos con nombres simbólicos, estos debenprimero estar enlazados en declaraciones con tipos de datos.
Derechos de accesoIEC 1131-3 especifica para todas las variables, a partir de qué pun-to y hasta qué alcance puede producirse el acceso de lectura ,escritura o cambio de una variable.
D-3Glosario
Festo Didactic • TP301
Derivación alternativaLa derivación es la ejecución de un programa en Diagrama de Fun-ciones Secuencial en uno o varios recorridos posibles. El recorridotomado depende de las condiciones de transición del funcionamien-to del programa.
Derivación paralela (simultánea)Las derivaciones paralelas son aquellos tipos de derivaciones en unDiagrama de Funciones Secuencial, que contienen un programa quesigue por varias derivaciones simultáneamente. Cuando se alcanzael final, se sincroniza su finalización.
Diagrama de bloques de función (FBD)Un lenguaje de programación según IEC 1131-3, que interconectagráficamente las funciones y bloques de función para resolver unatarea de control.
Diagrama de Contactos (LD)Un lenguaje de programación estandarizado en IEC 1131-3, deriva-do de la representación del esquema de un circuito.
Diagrama de Funciones SecuencialLenguaje gráfico de programación de IEC 1131-3. Su objetivo esestructurar las tareas de los programas de control en etapas y tran-siciones.
EEPROMDesarrollo avanzado de las EPROMs. Se utiliza un impulso eléctricopara borrar el contenido de la memoria, en lugar de rayos ultraviole-tas. Subsecuentemente, puede escribirse nueva información en lamemoria.
EPROMMemoria de sólo lectura, cuyo contenido se borra con luz UV, y quepuede reescribirse con nueva información.
EtapaLas etapas son la parte de ejecución y al mismo tiempo los recursosde organización del Diagrama de Funciones secuencial
Etapa inicial, Etapa de inicializaciónUna etapa especial en el Diagrama de Funciones Secuencial, quese ejecuta en primer lugar y al principio del programa. cada estruc-tura secuencial (red) tiene una única etapa inicial.
FuncionesUna función es una parte del programa, que suministra un únicovalor para las variables de entrada transmitidas. la información nopuede ser almacenada de forma intermedia en una función.
D-4 Glosario
TP301 • Festo Didactic
Instrucción (command)Instrucción a la MPU de un PLC para la ejecución de una opera-ción definida con precisión. La instrucción consiste en una parte deoperación, que contiene información sobre lo que hay que hacer yel operando o la parte de dirección. esto define dónde hay quehacer algo y dónde debe leerse o almacenarse la información.
Interface paraleloInterface para la transmisión de bits de datos en paralelo. Ventaja: Se consiguen elevadas velocidades de transmisión comoresultado de la transmisión simultánea de 8 bits de datos. Desventaja: longitud limitada de la línea.
Interface serieInterface serie para la transmisión de datos. Ventajas: Un interface serie permite transmitir y recibir datos al mis-mo tiempo. Desventaja: bajas velocidades de transmisión.
Lenguajes de programaciónIEC 1131-3 permite la utilización de diferentes lenguajes de progra-mación, parcialmente incluso en forma mezclada, para la creaciónde un programa de control. El diagrama de bloques de función, eldiagrama de contactos, la lista de instrucciones y el texto estructu-rado son lenguajes de programación estandarizados de este tipo.
Lista de asignaciones, lista de declaracionesLa lista de asignaciones designa y explica el equipamiento conecta-do al PLC (pulsadores, válvulas, contactores, etc.). En IEC 1131-3,estas listas son reemplazadas por la declaración estructurada devariables.Esto no significa que un sistema de programa no sea capaz decrear listas de este tipo para la documentación de un programa decontrol.
Lista de Instrucciones (IL)Lenguaje de programación orientado a la máquina según IEC 1131-3, hecho a base de instrucciones. Las instrucciones consisten prin-cipalmente en un operador y un operando.
Memoria de sólo lecturaROM Read Only Memory: Memoria cuyo contenido sólo puede serleído.
MPUAbreviación de ’Main Processing Unit’ (Unidad de procesamientoprincipal (antiguamente CPU - Central Process Unit o Unidad Cen-tral de Proceso UCP)
D-5Glosario
Festo Didactic • TP301
Palabra claveAlgunas palabras en el estándar están reservadas a tareas específi-cas, por lo que no pueden utilizarse libremente.
Programa de controlEl programa de un PLC representando el total de todas las instruc-ciones para el procesamiento de señales, como resultado de lo cual,se influye sobre el equipamiento a controlar. Consiste en una se-cuencia de instrucciones.
Sistema de busSistema de bus para la transmisión de datos entre, por ejemplo,módulos individuales de un PLC
Sistema de Control Lógico (combinatorio)Sistema de control, en el cual las combinaciones de señales de sali-da están asignadas a las señales de salida en todo momento. Estaasignación se realiza predominantemente por medio de operacioneslógicas. Un programa combinatorio se realiza completamente en unciclo.
Sistema de control secuencialUn sistema de control, que es subdividido en etapas que se proce-san consecutivamente. Sólo después que se ha ejecutado una eta-pa, se ejecuta la siguiente. El paso de una etapa a la siguientedepende de ciertas condiciones, las condiciones de transición.
Tabla de imagenLos programas de PLC, normalmente no operan directamente en lasentradas y salidas del PLC, sino sobre una imagen (copia de losvalores de la señal en la memoria interna). Las entradas se leen alprincipio del ciclo; al final del ciclo, la imagen de las salidas se emitefísicamente hacia las salidas.
Texto estructurado (ST)Un lenguaje textual de alto nivel de IEC 1131-3 para la creación deprogramas de control
Tiempo de cicloEl tiempo de ciclo de un PLC es el tiempo requerido por la unidadde control central para procesar una vez el programa desde el prin-cipio al final. Esto también tiene en cuenta el tiempo requerido paraleer y para emitir la tabla de imagen. La indicación del tiempo sehace generalmente en ms/K.
Tipo de datosLas variables de IEC 1131-3 pueden ser de diferentes tipos. Lasdeclaraciones correspondientes permiten la definición de tipos dedatos.
D-6 Glosario
TP301 • Festo Didactic
TransiciónEl elemento de un Diagrama de funciones secuencial, que evalúauna expresión booleana y habilita el paso el flujo del programa a lasiguiente etapa
Transmisión de datos en paraleloLa transmisión de cada bit individual se realiza por una línea apar-te. Para transmitir un byte, por lo tanto, se necesitan 8 líneas indivi-duales en paralelo que transmitan simultáneamente.
Transmisión de datos en serieForma de transmitir datos, en la que los datos se transmiten conse-cutivamente bit a bit. Para ello se necesita por lo menos una líneade datos.
Unidades de organización de programasIEC 1131-3 distingue entre diferentes partes de un programa decontrol y requiere estructuración en unidades de organización. Es-tos son los programas, funciones y bloques de función. Una unidadde mayor nivel de organización es la configuración.
Valor inicial, Valor de partidaA una varia se le puede asignar un valor inicial durante la genera-ción del programa, que es el que la variable asumirá al empezar elprograma.
Variable de realimentaciónLa memoria de realimentación es programada por el usuario e indi-ca el final o eventualmente una condición de error de la acciónordenada. La variable de realimentación se utiliza a menudo en lasiguiente condición de transición.
D-7Glosario
Festo Didactic • TP301
D-8 Glosario
TP301 • Festo Didactic