curso festo de plc.pdf

488
Libro de Trabajo - Nivel básico Sistema para Enseñar Automatización y Comunicaciones 94427 E Controles Lógicos Programables

Upload: julian-rene-chaux-cedeno

Post on 05-Dec-2014

2.330 views

Category:

Documents


45 download

TRANSCRIPT

Page 1: CURSO festo de PLC.pdf

Libro de Trabajo - Nivel básico

Sistema para Enseñar Automatización y Comunicaciones94

427

E

Controles LógicosProgramables

Page 2: CURSO festo de PLC.pdf

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.

Page 3: CURSO festo de PLC.pdf

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

Page 4: CURSO festo de PLC.pdf

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

Page 5: CURSO festo de PLC.pdf

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

Page 6: CURSO festo de PLC.pdf

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

Page 7: CURSO festo de PLC.pdf

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

Page 8: CURSO festo de PLC.pdf

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

Page 9: CURSO festo de PLC.pdf

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

Page 10: CURSO festo de PLC.pdf

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

Page 11: CURSO festo de PLC.pdf

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

Page 12: CURSO festo de PLC.pdf

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

Page 13: CURSO festo de PLC.pdf

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

Page 14: CURSO festo de PLC.pdf

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

Page 15: CURSO festo de PLC.pdf

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

Page 16: CURSO festo de PLC.pdf

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

Page 17: CURSO festo de PLC.pdf

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

Page 18: CURSO festo de PLC.pdf

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

Page 19: CURSO festo de PLC.pdf

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

Page 20: CURSO festo de PLC.pdf

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

Page 21: CURSO festo de PLC.pdf

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

Page 22: CURSO festo de PLC.pdf

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

Page 23: CURSO festo de PLC.pdf

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

Page 24: CURSO festo de PLC.pdf

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

Page 25: CURSO festo de PLC.pdf

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

Page 26: CURSO festo de PLC.pdf

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

Page 27: CURSO festo de PLC.pdf

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

Page 28: CURSO festo de PLC.pdf

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

Page 29: CURSO festo de PLC.pdf

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

Page 30: CURSO festo de PLC.pdf

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

Page 31: CURSO festo de PLC.pdf

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

Page 32: CURSO festo de PLC.pdf

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

Page 33: CURSO festo de PLC.pdf

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

Page 34: CURSO festo de PLC.pdf

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

Page 35: CURSO festo de PLC.pdf

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

Page 36: CURSO festo de PLC.pdf

A-20 Ejercicio 3

TP301 • Festo Didactic

Page 37: CURSO festo de PLC.pdf

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

Page 38: CURSO festo de PLC.pdf

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

Page 39: CURSO festo de PLC.pdf

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

Page 40: CURSO festo de PLC.pdf

A-24 Ejercicio 3

TP301 • Festo Didactic

Page 41: CURSO festo de PLC.pdf

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

Page 42: CURSO festo de PLC.pdf

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

Page 43: CURSO festo de PLC.pdf

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

Page 44: CURSO festo de PLC.pdf

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

Page 45: CURSO festo de PLC.pdf

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

Page 46: CURSO festo de PLC.pdf

A-30 Ejercicio 4

TP301 • Festo Didactic

Page 47: CURSO festo de PLC.pdf

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

Page 48: CURSO festo de PLC.pdf

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

Page 49: CURSO festo de PLC.pdf

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

Page 50: CURSO festo de PLC.pdf

A-34 Ejercicio 4

TP301 • Festo Didactic

Page 51: CURSO festo de PLC.pdf

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

Page 52: CURSO festo de PLC.pdf

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

Page 53: CURSO festo de PLC.pdf

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

Page 54: CURSO festo de PLC.pdf

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

Page 55: CURSO festo de PLC.pdf

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

Page 56: CURSO festo de PLC.pdf

A-40 Ejercicio 5

TP301 • Festo Didactic

Page 57: CURSO festo de PLC.pdf

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

Page 58: CURSO festo de PLC.pdf

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

Page 59: CURSO festo de PLC.pdf

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

Page 60: CURSO festo de PLC.pdf

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

Page 61: CURSO festo de PLC.pdf

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

Page 62: CURSO festo de PLC.pdf

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

Page 63: CURSO festo de PLC.pdf

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

Page 64: CURSO festo de PLC.pdf

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

Page 65: CURSO festo de PLC.pdf

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

Page 66: CURSO festo de PLC.pdf

A-50 Ejercicio 6

TP301 • Festo Didactic

Page 67: CURSO festo de PLC.pdf

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

Page 68: CURSO festo de PLC.pdf

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

Page 69: CURSO festo de PLC.pdf

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

Page 70: CURSO festo de PLC.pdf

A-54 Ejercicio 6

TP301 • Festo Didactic

Page 71: CURSO festo de PLC.pdf

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

Page 72: CURSO festo de PLC.pdf

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

Page 73: CURSO festo de PLC.pdf

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

Page 74: CURSO festo de PLC.pdf

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

Page 75: CURSO festo de PLC.pdf

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

Page 76: CURSO festo de PLC.pdf

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

Page 77: CURSO festo de PLC.pdf

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

Page 78: CURSO festo de PLC.pdf

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

Page 79: CURSO festo de PLC.pdf

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

Page 80: CURSO festo de PLC.pdf

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

Page 81: CURSO festo de PLC.pdf

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

Page 82: CURSO festo de PLC.pdf

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

Page 83: CURSO festo de PLC.pdf

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

Page 84: CURSO festo de PLC.pdf

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

Page 85: CURSO festo de PLC.pdf

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

Page 86: CURSO festo de PLC.pdf

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

Page 87: CURSO festo de PLC.pdf

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

Page 88: CURSO festo de PLC.pdf

A-72 Ejercicio 8

TP301 • Festo Didactic

Page 89: CURSO festo de PLC.pdf

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

Page 90: CURSO festo de PLC.pdf

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

Page 91: CURSO festo de PLC.pdf

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

Page 92: CURSO festo de PLC.pdf

⇒ 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

Page 93: CURSO festo de PLC.pdf

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

Page 94: CURSO festo de PLC.pdf

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

Page 95: CURSO festo de PLC.pdf

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

Page 96: CURSO festo de PLC.pdf

A-80 Ejercicio 9

TP301 • Festo Didactic

Page 97: CURSO festo de PLC.pdf

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

Page 98: CURSO festo de PLC.pdf

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

Page 99: CURSO festo de PLC.pdf

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

Page 100: CURSO festo de PLC.pdf

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

Page 101: CURSO festo de PLC.pdf

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

Page 102: CURSO festo de PLC.pdf

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

Page 103: CURSO festo de PLC.pdf

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

Page 104: CURSO festo de PLC.pdf

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

Page 105: CURSO festo de PLC.pdf

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

Page 106: CURSO festo de PLC.pdf

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

Page 107: CURSO festo de PLC.pdf

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

Page 108: CURSO festo de PLC.pdf

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

Page 109: CURSO festo de PLC.pdf

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

Page 110: CURSO festo de PLC.pdf

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

Page 111: CURSO festo de PLC.pdf

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

Page 112: CURSO festo de PLC.pdf

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

Page 113: CURSO festo de PLC.pdf

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

Page 114: CURSO festo de PLC.pdf

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

Page 115: CURSO festo de PLC.pdf

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

Page 116: CURSO festo de PLC.pdf

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

Page 117: CURSO festo de PLC.pdf

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

Page 118: CURSO festo de PLC.pdf

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

Page 119: CURSO festo de PLC.pdf

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

Page 120: CURSO festo de PLC.pdf

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

Page 121: CURSO festo de PLC.pdf

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

Page 122: CURSO festo de PLC.pdf

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

Page 123: CURSO festo de PLC.pdf

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

Page 124: CURSO festo de PLC.pdf

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

Page 125: CURSO festo de PLC.pdf

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

Page 126: CURSO festo de PLC.pdf

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

Page 127: CURSO festo de PLC.pdf

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

Page 128: CURSO festo de PLC.pdf

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

Page 129: CURSO festo de PLC.pdf

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

Page 130: CURSO festo de PLC.pdf

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

Page 131: CURSO festo de PLC.pdf

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

Page 132: CURSO festo de PLC.pdf

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

Page 133: CURSO festo de PLC.pdf

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

Page 134: CURSO festo de PLC.pdf

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

Page 135: CURSO festo de PLC.pdf

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

Page 136: CURSO festo de PLC.pdf

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

Page 137: CURSO festo de PLC.pdf

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

Page 138: CURSO festo de PLC.pdf

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

Page 139: CURSO festo de PLC.pdf

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

Page 140: CURSO festo de PLC.pdf

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

Page 141: CURSO festo de PLC.pdf

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

Page 142: CURSO festo de PLC.pdf

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

Page 143: CURSO festo de PLC.pdf

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

Page 144: CURSO festo de PLC.pdf

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

Page 145: CURSO festo de PLC.pdf

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

Page 146: CURSO festo de PLC.pdf

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

Page 147: CURSO festo de PLC.pdf

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

Page 148: CURSO festo de PLC.pdf

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

Page 149: CURSO festo de PLC.pdf

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

Page 150: CURSO festo de PLC.pdf

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

Page 151: CURSO festo de PLC.pdf

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

Page 152: CURSO festo de PLC.pdf

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

Page 153: CURSO festo de PLC.pdf

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

Page 154: CURSO festo de PLC.pdf

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

Page 155: CURSO festo de PLC.pdf

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

Page 156: CURSO festo de PLC.pdf

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

Page 157: CURSO festo de PLC.pdf

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

Page 158: CURSO festo de PLC.pdf

A-142 Ejercicio 15

TP301 • Festo Didactic

Page 159: CURSO festo de PLC.pdf

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

Page 160: CURSO festo de PLC.pdf

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

Page 161: CURSO festo de PLC.pdf

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

Page 162: CURSO festo de PLC.pdf

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

Page 163: CURSO festo de PLC.pdf

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

Page 164: CURSO festo de PLC.pdf

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

Page 165: CURSO festo de PLC.pdf

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

Page 166: CURSO festo de PLC.pdf

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

Page 167: CURSO festo de PLC.pdf

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

Page 168: CURSO festo de PLC.pdf

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

Page 169: CURSO festo de PLC.pdf

⇒ 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

Page 170: CURSO festo de PLC.pdf

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

Page 171: CURSO festo de PLC.pdf

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

Page 172: CURSO festo de PLC.pdf

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

Page 173: CURSO festo de PLC.pdf

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

Page 174: CURSO festo de PLC.pdf

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

Page 175: CURSO festo de PLC.pdf

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

Page 176: CURSO festo de PLC.pdf

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

Page 177: CURSO festo de PLC.pdf

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

Page 178: CURSO festo de PLC.pdf

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

Page 179: CURSO festo de PLC.pdf

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

Page 180: CURSO festo de PLC.pdf

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

Page 181: CURSO festo de PLC.pdf

⇒ 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

Page 182: CURSO festo de PLC.pdf

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

Page 183: CURSO festo de PLC.pdf

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

Page 184: CURSO festo de PLC.pdf

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

Page 185: CURSO festo de PLC.pdf

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

Page 186: CURSO festo de PLC.pdf

HOJA DE TRABAJO

4. Formulación del programa de PLC en diagrama de funciones se-cuencial

A-170 Ejercicio 17

TP301 • Festo Didactic

Page 187: CURSO festo de PLC.pdf

HOJA DE TRABAJO

Responder a la siguiente pregunta: Preguntas

1. ¿Cuándo cambia el estado del contador?

A-171Ejercicio 17

Festo Didactic • TP301

Page 188: CURSO festo de PLC.pdf

A-172 Ejercicio 17

TP301 • Festo Didactic

Page 189: CURSO festo de PLC.pdf

Sección B – Fundamentos

B-I

Festo Didactic • TP301

Page 190: CURSO festo de PLC.pdf

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

Page 191: CURSO festo de PLC.pdf

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

Page 192: CURSO festo de PLC.pdf

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

Page 193: CURSO festo de PLC.pdf

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

Page 194: CURSO festo de PLC.pdf

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

Page 195: CURSO festo de PLC.pdf

Capítulo 1

El PLC en latecnología de automatización

B-1Capítulo 1

Festo Didactic • TP301

Page 196: CURSO festo de PLC.pdf

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

Page 197: CURSO festo de PLC.pdf

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

Page 198: CURSO festo de PLC.pdf

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

Page 199: CURSO festo de PLC.pdf

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

Page 200: CURSO festo de PLC.pdf

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

Page 201: CURSO festo de PLC.pdf

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

Page 202: CURSO festo de PLC.pdf

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

Page 203: CURSO festo de PLC.pdf

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

Page 204: CURSO festo de PLC.pdf

B-10 Capítulo 1

TP301 • Festo Didactic

Page 205: CURSO festo de PLC.pdf

Capitulo 2

Fundamentos

B-11Capítulo 2

Festo Didactic • TP301

Page 206: CURSO festo de PLC.pdf

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

Page 207: CURSO festo de PLC.pdf

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

Page 208: CURSO festo de PLC.pdf

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

Page 209: CURSO festo de PLC.pdf

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

Page 210: CURSO festo de PLC.pdf

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

Page 211: CURSO festo de PLC.pdf

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

Page 212: CURSO festo de PLC.pdf

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

Page 213: CURSO festo de PLC.pdf

Capítulo 3

Operadores Booleanos

B-19Capítulo 3

Festo Didactic • TP301

Page 214: CURSO festo de PLC.pdf

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

Page 215: CURSO festo de PLC.pdf

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

Page 216: CURSO festo de PLC.pdf

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

Page 217: CURSO festo de PLC.pdf

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

Page 218: CURSO festo de PLC.pdf

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

Page 219: CURSO festo de PLC.pdf

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

Page 220: CURSO festo de PLC.pdf

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

Page 221: CURSO festo de PLC.pdf

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

Page 222: CURSO festo de PLC.pdf

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

Page 223: CURSO festo de PLC.pdf

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

Page 224: CURSO festo de PLC.pdf

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

Page 225: CURSO festo de PLC.pdf

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

Page 226: CURSO festo de PLC.pdf

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

Page 227: CURSO festo de PLC.pdf

Capítulo 4

Diseño y modo de funcionamientode un PLC

B-33Capítulo 4

Festo Didactic • TP301

Page 228: CURSO festo de PLC.pdf

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

Page 229: CURSO festo de PLC.pdf

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

Page 230: CURSO festo de PLC.pdf

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

Page 231: CURSO festo de PLC.pdf

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

Page 232: CURSO festo de PLC.pdf

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

Page 233: CURSO festo de PLC.pdf

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

Page 234: CURSO festo de PLC.pdf

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

Page 235: CURSO festo de PLC.pdf

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

Page 236: CURSO festo de PLC.pdf

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

Page 237: CURSO festo de PLC.pdf

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

Page 238: CURSO festo de PLC.pdf

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

Page 239: CURSO festo de PLC.pdf

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

Page 240: CURSO festo de PLC.pdf

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

Page 241: CURSO festo de PLC.pdf

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

Page 242: CURSO festo de PLC.pdf

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

Page 243: CURSO festo de PLC.pdf

Capítulo 5

Programación de un PLC

B-49Capítulo 5

Festo Didactic • TP301

Page 244: CURSO festo de PLC.pdf

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

Page 245: CURSO festo de PLC.pdf

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

Page 246: CURSO festo de PLC.pdf

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

Page 247: CURSO festo de PLC.pdf

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

Page 248: CURSO festo de PLC.pdf

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

Page 249: CURSO festo de PLC.pdf

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

Page 250: CURSO festo de PLC.pdf

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

Page 251: CURSO festo de PLC.pdf

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

Page 252: CURSO festo de PLC.pdf

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

Page 253: CURSO festo de PLC.pdf

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

Page 254: CURSO festo de PLC.pdf

B-60 Capítulo 5

TP301 • Festo Didactic

Page 255: CURSO festo de PLC.pdf

Capítulo 6

Elementos comunes de loslenguajes de programación

B-61Capítulo 6

Festo Didactic • TP301

Page 256: CURSO festo de PLC.pdf

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

Page 257: CURSO festo de PLC.pdf

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

Page 258: CURSO festo de PLC.pdf

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

Page 259: CURSO festo de PLC.pdf

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

Page 260: CURSO festo de PLC.pdf

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

Page 261: CURSO festo de PLC.pdf

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

Page 262: CURSO festo de PLC.pdf

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

Page 263: CURSO festo de PLC.pdf

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

Page 264: CURSO festo de PLC.pdf

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

Page 265: CURSO festo de PLC.pdf

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

Page 266: CURSO festo de PLC.pdf

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

Page 267: CURSO festo de PLC.pdf

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

Page 268: CURSO festo de PLC.pdf

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

Page 269: CURSO festo de PLC.pdf

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

Page 270: CURSO festo de PLC.pdf

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

Page 271: CURSO festo de PLC.pdf

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

Page 272: CURSO festo de PLC.pdf

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

Page 273: CURSO festo de PLC.pdf

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

Page 274: CURSO festo de PLC.pdf

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

Page 275: CURSO festo de PLC.pdf

. . .* * *

* * *

. . .

= 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

Page 276: CURSO festo de PLC.pdf

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

Page 277: CURSO festo de PLC.pdf

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

Page 278: CURSO festo de PLC.pdf

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

Page 279: CURSO festo de PLC.pdf

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

Page 280: CURSO festo de PLC.pdf

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

Page 281: CURSO festo de PLC.pdf

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

Page 282: CURSO festo de PLC.pdf

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

Page 283: CURSO festo de PLC.pdf

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

Page 284: CURSO festo de PLC.pdf

B-90 Capítulo 6

TP301 • Festo Didactic

Page 285: CURSO festo de PLC.pdf

Capítulo 7

Diagrama de bloques de función

B-91Capítulo 7

Festo Didactic • TP301

Page 286: CURSO festo de PLC.pdf

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

Page 287: CURSO festo de PLC.pdf

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

Page 288: CURSO festo de PLC.pdf

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

Page 289: CURSO festo de PLC.pdf

Capítulo 8

Diagrama de contactos

B-95Capítulo 8

Festo Didactic • TP301

Page 290: CURSO festo de PLC.pdf

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

Page 291: CURSO festo de PLC.pdf

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

Page 292: CURSO festo de PLC.pdf

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

Page 293: CURSO festo de PLC.pdf

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

Page 294: CURSO festo de PLC.pdf

B-100 Capítulo 8

TP301 • Festo Didactic

Page 295: CURSO festo de PLC.pdf

Capítulo 9

Lista de instrucciones

B-101Capítulo 9

Festo Didactic • TP301

Page 296: CURSO festo de PLC.pdf

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

Page 297: CURSO festo de PLC.pdf

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

Page 298: CURSO festo de PLC.pdf

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

Page 299: CURSO festo de PLC.pdf

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

Page 300: CURSO festo de PLC.pdf

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

Page 301: CURSO festo de PLC.pdf

Capítulo 10

Texto estructurado

B-107Capítulo 10

Festo Didactic • TP301

Page 302: CURSO festo de PLC.pdf

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

Page 303: CURSO festo de PLC.pdf

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

Page 304: CURSO festo de PLC.pdf

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

Page 305: CURSO festo de PLC.pdf

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

Page 306: CURSO festo de PLC.pdf

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

Page 307: CURSO festo de PLC.pdf

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

Page 308: CURSO festo de PLC.pdf

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

Page 309: CURSO festo de PLC.pdf

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

Page 310: CURSO festo de PLC.pdf

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

Page 311: CURSO festo de PLC.pdf

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

Page 312: CURSO festo de PLC.pdf

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

Page 313: CURSO festo de PLC.pdf

Capítulo 11

Diagrama de funciones secuencial

B-119Capítulo 11

Festo Didactic • TP301

Page 314: CURSO festo de PLC.pdf

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

Page 315: CURSO festo de PLC.pdf

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

Page 316: CURSO festo de PLC.pdf

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

Page 317: CURSO festo de PLC.pdf

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

Page 318: CURSO festo de PLC.pdf

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

Page 319: CURSO festo de PLC.pdf

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

Page 320: CURSO festo de PLC.pdf

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

Page 321: CURSO festo de PLC.pdf

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

Page 322: CURSO festo de PLC.pdf

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

Page 323: CURSO festo de PLC.pdf

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

Page 324: CURSO festo de PLC.pdf

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

Page 325: CURSO festo de PLC.pdf

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

Page 326: CURSO festo de PLC.pdf

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

Page 327: CURSO festo de PLC.pdf

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

Page 328: CURSO festo de PLC.pdf

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

Page 329: CURSO festo de PLC.pdf

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

Page 330: CURSO festo de PLC.pdf

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

Page 331: CURSO festo de PLC.pdf

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

Page 332: CURSO festo de PLC.pdf

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

Page 333: CURSO festo de PLC.pdf

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

Page 334: CURSO festo de PLC.pdf

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

Page 335: CURSO festo de PLC.pdf

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

Page 336: CURSO festo de PLC.pdf

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

Page 337: CURSO festo de PLC.pdf

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

Page 338: CURSO festo de PLC.pdf

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

Page 339: CURSO festo de PLC.pdf

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

Page 340: CURSO festo de PLC.pdf

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

Page 341: CURSO festo de PLC.pdf

Capítulo 12

Sistemas de control lógico

B-147Capítulo 12

Festo Didactic • TP301

Page 342: CURSO festo de PLC.pdf

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

Page 343: CURSO festo de PLC.pdf

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

Page 344: CURSO festo de PLC.pdf

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

Page 345: CURSO festo de PLC.pdf

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

Page 346: CURSO festo de PLC.pdf

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

Page 347: CURSO festo de PLC.pdf

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

Page 348: CURSO festo de PLC.pdf

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

Page 349: CURSO festo de PLC.pdf

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

Page 350: CURSO festo de PLC.pdf

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

Page 351: CURSO festo de PLC.pdf

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

Page 352: CURSO festo de PLC.pdf

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

Page 353: CURSO festo de PLC.pdf

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

Page 354: CURSO festo de PLC.pdf

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

Page 355: CURSO festo de PLC.pdf

Capítulo 13

Temporizadores

B-161Capítulo 13

Festo Didactic • TP301

Page 356: CURSO festo de PLC.pdf

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

Page 357: CURSO festo de PLC.pdf

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

Page 358: CURSO festo de PLC.pdf

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

Page 359: CURSO festo de PLC.pdf

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

Page 360: CURSO festo de PLC.pdf

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

Page 361: CURSO festo de PLC.pdf

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

Page 362: CURSO festo de PLC.pdf

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

Page 363: CURSO festo de PLC.pdf

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

Page 364: CURSO festo de PLC.pdf

B-170 Capítulo 13

TP301 • Festo Didactic

Page 365: CURSO festo de PLC.pdf

Capítulo 14

Contadores

B-171Capítulo 14

Festo Didactic • TP301

Page 366: CURSO festo de PLC.pdf

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

Page 367: CURSO festo de PLC.pdf

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

Page 368: CURSO festo de PLC.pdf

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

Page 369: CURSO festo de PLC.pdf

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

Page 370: CURSO festo de PLC.pdf

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

Page 371: CURSO festo de PLC.pdf

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

Page 372: CURSO festo de PLC.pdf

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

Page 373: CURSO festo de PLC.pdf

Capítulo 15

Sistemas de control secuencial

B-179Capítulo 15

Festo Didactic • TP301

Page 374: CURSO festo de PLC.pdf

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

Page 375: CURSO festo de PLC.pdf

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

Page 376: CURSO festo de PLC.pdf

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

Page 377: CURSO festo de PLC.pdf

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

Page 378: CURSO festo de PLC.pdf

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

Page 379: CURSO festo de PLC.pdf

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

Page 380: CURSO festo de PLC.pdf

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

Page 381: CURSO festo de PLC.pdf

Capítulo 16

Puesta a punto yseguridad funcional de un PLC

B-187Capítulo 16

Festo Didactic • TP301

Page 382: CURSO festo de PLC.pdf

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

Page 383: CURSO festo de PLC.pdf

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

Page 384: CURSO festo de PLC.pdf

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

Page 385: CURSO festo de PLC.pdf

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

Page 386: CURSO festo de PLC.pdf

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

Page 387: CURSO festo de PLC.pdf

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

Page 388: CURSO festo de PLC.pdf

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

Page 389: CURSO festo de PLC.pdf

Capítulo 17

Comunicaciones con PLC

B-195Capítulo 17

Festo Didactic • TP301

Page 390: CURSO festo de PLC.pdf

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

Page 391: CURSO festo de PLC.pdf

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

Page 392: CURSO festo de PLC.pdf

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

Page 393: CURSO festo de PLC.pdf

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

Page 394: CURSO festo de PLC.pdf

B-200 Capítulo 17

TP301 • Festo Didactic

Page 395: CURSO festo de PLC.pdf

Apéndice

B-201Apéndice

Festo Didactic • TP301

Page 396: CURSO festo de PLC.pdf

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

Page 397: CURSO festo de PLC.pdf

Índice

B-203Índice

Festo Didactic • TP301

Page 398: CURSO festo de PLC.pdf

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

Page 399: CURSO festo de PLC.pdf

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

Page 400: CURSO festo de PLC.pdf

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

Page 401: CURSO festo de PLC.pdf

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

Page 402: CURSO festo de PLC.pdf

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

Page 403: CURSO festo de PLC.pdf

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

Page 404: CURSO festo de PLC.pdf

B-210 Índice

TP301 • Festo Didactic

Page 405: CURSO festo de PLC.pdf

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

Page 406: CURSO festo de PLC.pdf

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

Page 407: CURSO festo de PLC.pdf

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

Page 408: CURSO festo de PLC.pdf

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

Page 409: CURSO festo de PLC.pdf

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

Page 410: CURSO festo de PLC.pdf

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

Page 411: CURSO festo de PLC.pdf

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

Page 412: CURSO festo de PLC.pdf

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

Page 413: CURSO festo de PLC.pdf

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

Page 414: CURSO festo de PLC.pdf

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

Page 415: CURSO festo de PLC.pdf

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

Page 416: CURSO festo de PLC.pdf

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

Page 417: CURSO festo de PLC.pdf

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

Page 418: CURSO festo de PLC.pdf

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

Page 419: CURSO festo de PLC.pdf

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

Page 420: CURSO festo de PLC.pdf

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

Page 421: CURSO festo de PLC.pdf

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

Page 422: CURSO festo de PLC.pdf

C-18 Solución 7

TP301 • Festo Didactic

Page 423: CURSO festo de PLC.pdf

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

Page 424: CURSO festo de PLC.pdf

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

Page 425: CURSO festo de PLC.pdf

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

Page 426: CURSO festo de PLC.pdf

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

Page 427: CURSO festo de PLC.pdf

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

Page 428: CURSO festo de PLC.pdf

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

Page 429: CURSO festo de PLC.pdf

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

Page 430: CURSO festo de PLC.pdf

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

Page 431: CURSO festo de PLC.pdf

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

Page 432: CURSO festo de PLC.pdf

C-28 Solución 11

TP301 • Festo Didactic

Page 433: CURSO festo de PLC.pdf

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

Page 434: CURSO festo de PLC.pdf

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

Page 435: CURSO festo de PLC.pdf

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

Page 436: CURSO festo de PLC.pdf

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

Page 437: CURSO festo de PLC.pdf

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

Page 438: CURSO festo de PLC.pdf

C-34 Solución 13

TP301 • Festo Didactic

Page 439: CURSO festo de PLC.pdf

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

Page 440: CURSO festo de PLC.pdf

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

Page 441: CURSO festo de PLC.pdf

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

Page 442: CURSO festo de PLC.pdf

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

Page 443: CURSO festo de PLC.pdf

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

Page 444: CURSO festo de PLC.pdf

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

Page 445: CURSO festo de PLC.pdf

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

Page 446: CURSO festo de PLC.pdf

C-42 Solución 15

TP301 • Festo Didactic

Page 447: CURSO festo de PLC.pdf

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

Page 448: CURSO festo de PLC.pdf

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

Page 449: CURSO festo de PLC.pdf

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

Page 450: CURSO festo de PLC.pdf

C-46 Solución 16

TP301 • Festo Didactic

Page 451: CURSO festo de PLC.pdf

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

Page 452: CURSO festo de PLC.pdf

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

Page 453: CURSO festo de PLC.pdf

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

Page 454: CURSO festo de PLC.pdf

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

Page 455: CURSO festo de PLC.pdf

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

Page 456: CURSO festo de PLC.pdf

D-2 Apéndice

TP301 • Festo Didactic

Page 457: CURSO festo de PLC.pdf

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

Page 458: CURSO festo de PLC.pdf

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

Page 459: CURSO festo de PLC.pdf

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

Page 460: CURSO festo de PLC.pdf

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

Page 461: CURSO festo de PLC.pdf

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

Page 462: CURSO festo de PLC.pdf

Festo Didactic

Page 463: CURSO festo de PLC.pdf

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

Page 464: CURSO festo de PLC.pdf

Festo Didactic

Page 465: CURSO festo de PLC.pdf

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

Page 466: CURSO festo de PLC.pdf

Festo Didactic

Page 467: CURSO festo de PLC.pdf

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

Page 468: CURSO festo de PLC.pdf

Festo Didactic

Page 469: CURSO festo de PLC.pdf

B

1 3 4 5

7

8 G

24V

0V

B

Sensor de proximidad inductivo 1529021/2

Festo Didactic

Page 470: CURSO festo de PLC.pdf

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

Page 471: CURSO festo de PLC.pdf

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

Page 472: CURSO festo de PLC.pdf

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

Page 473: CURSO festo de PLC.pdf

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

Page 474: CURSO festo de PLC.pdf

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

Page 475: CURSO festo de PLC.pdf

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

Page 476: CURSO festo de PLC.pdf

Festo Didactic

Page 477: CURSO festo de PLC.pdf

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

Page 478: CURSO festo de PLC.pdf

Festo Didactic

Page 479: CURSO festo de PLC.pdf

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

Page 480: CURSO festo de PLC.pdf

Festo Didactic

Page 481: CURSO festo de PLC.pdf

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

Page 482: CURSO festo de PLC.pdf

* 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

Page 483: CURSO festo de PLC.pdf

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

Page 484: CURSO festo de PLC.pdf

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

Page 485: CURSO festo de PLC.pdf

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

Page 486: CURSO festo de PLC.pdf

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

Page 487: CURSO festo de PLC.pdf

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

Page 488: CURSO festo de PLC.pdf

D-8 Glosario

TP301 • Festo Didactic