Está en la página 1de 488

Sistema para Enseñar Automatización y Comunicaciones

Controles Lógicos
Programables

Libro de Trabajo - Nivel básico


94427 E
Nº de artículo: 94427 E
Descripción: ARBB.SPS FPC GS
Denominación: D.S301-C-FPC-E
Edición: 03/1999
Composición: F. Ebel, M. Schwarz
Gráficos: D. Schwarzenberger
Autores: E. v. Terzi, H. Regber, C. Löffler, F. Ebel
Traducción: I. Sahun

© Copyright by Festo Didactic KG, D-73734 Esslingen, 1999

Sin nuestra expresa autorización, queda terminantemente prohibida la


reproducció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 se
exigirá el correspondiente resarcimiento de daños y perjuicios. Quedan
reservados todos los derechos inherentes, en especial los de patentes,
de modelos registrados y estéticos.
3

Prefacio
El Sistema para la Enseñanza de Automatización y Comunicaciones de
Festo 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 amplia
gama 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 que
van más allá de los límites de los equipos individuales. La utilización
de un PLC, por ejemplo, es posible en el campo de los actuadores
neumáticos, hidráulicos y eléctricos.
Todos los equipos de enseñanza tienen una estructura idéntica:
Hardware o parte física
Teachware o parte didáctica
Software o conjunto de programas
Cursos
El hardware está formado por componentes e instalaciones industriales
adaptados para fines didácticos.
El courseware se ajusta metodológica y didácticamente al hardware de
formación. El courseware comprende:
Libros de texto (con ejercicios y ejemplos)
Libros de trabajo (con ejercicios prácticos, hojas de trabajo, notas
suplementarias, soluciones y fichas técnicas
Transparencias 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 varios
idiomas. Han sido diseñados para su utilización en clase, pero también
pueden 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 y
avanzada se completa con una amplia selección de cursos ajustados
al contenido de los equipos de tecnología.

Festo Didactic • TP301


4

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 de
un 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 de
aplicación general para suplementar los contenidos de formación de
los ejercicios en la sección A. Se establecen enlaces teóricos con la
necesaria 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 glosario
que sirve como medio de referencia.

TP301 • Festo Didactic


5

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
programable
Componentes de un PLC . . . . . . . . . . . . . . . . . . . . . . A-3

Programación según IEC 1131


Ejercicio 2: Del problema a la solución –
teniendo en cuenta IEC 1131-3
Pasos prácticos para la programación de un PLC. . . A-9

Operaciones lógicas básicas


Ejercicio 3: Circuito de una lámpara
La función de asignación . . . . . . . . . . . . . . . . . . . . . A-15
Ejercicio 4: Alarma antirrobo
La función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25
Ejercicio 5: Prensa con barrera protectora
La función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35
Ejercicio 6: Sistema de timbre
La función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45

Sistemas lógicos sin funciones memorizantes


Ejercicio 7: Dispositivo estampador
Combinación de AND/OR/NOT . . . . . . . . . . . . . . . . A-55
Ejercicio 8: Control de un silo para dos materiales a granel
Circuito combinatorio con derivación . . . . . . . . . . . . A-65

Sistemas lógicos con funciones memorizantes


Ejercicio 9: Alarma de incendios
Activación de una salida . . . . . . . . . . . . . . . . . . . . . . A-73

Festo Didactic • TP301


6

Ejercicio 10: Supervisión de la rotura de una broca


Activación y desactivación de una salida . . . . . . . A-81
Ejercicio 11: Activación de un cilindro
Flancos de las señales . . . . . . . . . . . . . . . . . . . . . A-89

Sistemas lógicos con funciones temporales


Ejercicio 12: Encolado de componentes
Pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-101
Ejercicio 13: Dispositivo de marcado
Señal con retardo a la conexión . . . . . . . . . . . . . A-111
Ejercicio 14: Dispositivo de fijación
Señal con retardo a la desconexión . . . . . . . . . . A-121

Sistemas de control secuencial


Ejercicio 15: Dispositivo elevador para paquetes
Secuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . A-131
Ejercicio 16: Dispositivo elevador y clasificador para paquetes
Derivación alternativa. . . . . . . . . . . . . . . . . . . . . . A-147
Ejercicio 17: Dispositivo de estampación con contador
Ciclos 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

TP301 • Festo Didactic


7

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

Festo Didactic • TP301


8

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

TP301 • Festo Didactic


9

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

Festo Didactic • TP301


10

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

TP301 • Festo Didactic


11

Equipo de tecnología
TP301 "Controles Lógicos Programables"
El equipo de tecnología TP301 "Controles Lógicos Programables" es
parte integrante del Sistema para la Enseñanza de Automatización y
Comunicaciones de Festo Didactic y forma parte del nivel básico del
TP300.
Los objetivos didácticos del TP301 son aprender cómo se programan
los controles lógicos programables y enseñar los fundamentos de la
creación de programas en los lenguajes ’Diagrama de Contactos’ (lad-
der diagram o LD), ’diagrama de bloques de función’ (function block
diagram 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 controles
ló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 cualquiera
de los dos diferentes equipos, es decir, con la placa perforada o la
versión con placa perfilada. Se recomienda tener conocimientos bási-
cos de electroneumática para trabajar con el equipo de tecnología
TP301.
Los ejercicios del TP301 tratan con los siguientes temas principales:
Componentes de un control lógico programable
Programación de PLC según IEC 1131
Operaciones lógicas básicas
Sistemas de control lógico
Sistemas de control secuencial
La asignación de componentes y ejercicios puede verse en la siguiente
tabla de asignaciones componentes/ejercicios.

Festo Didactic • TP301


12

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 indicador
eléctrico 1 1 1 1 1

Sensor de proximidad, óptico


1 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 con


brida para cilindro 1 4 4 4 4

Electroválvula de 5/2 vías


de una bobina 1 1 2 1 1 1 1 2 2 2

Electroválvula de 5/2 vías


de doble bobina 1 1 1

Cilindro de doble efecto 2


1 1 1 2 2 2
Cilindro de simple efecto
1 1 1 1 1 1
Válvula de paro/marcha con
filtro y regulador 1 1 1 1 1 1 1 1 1 1

Distribuidor
1 1 1 1 1 1 1 1 1 1

TP301 • Festo Didactic


13

Equipo TP310, Placa de montaje perfilada,


Nº de artículo 080 261

Descripción Nº de Cantidad
artículo

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

Festo Didactic • TP301


14

Equipo TP301, Placa de montaje perforada,


Nº de artículo 080 260

Descripción Nº de Cantidad
artículo

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

TP301 • Festo Didactic


15

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 evita
accidentes.
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 VDE
0100.
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.

Festo Didactic • TP301


16

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.

4(A) 2(B)

5(R) 3(S)
1(P)

Tapón para la salida 2


de la válvula de 5/2 vías

Las señales de entrada, que se producirían durante un proceso real


de producción, se reproducen en parte por señales emitidas por pul-
sadores o interruptores.

TP301 • Festo Didactic


A-I

Sección A – Curso
Componentes de un control lógico programable
Ejercicio 1: Diseño y funcionamiento de un control lógico
programable
Componentes de un PLC . . . . . . . . . . . . . . . . . . . . . . A-3

Programación según IEC 1131


Ejercicio 2: Del problema a la solución –
teniendo en cuenta IEC 1131-3
Pasos prácticos para la programación de un PLC. . . A-9

Operaciones lógicas básicas


Ejercicio 3: Circuito de una lámpara
La función de asignación . . . . . . . . . . . . . . . . . . . . . A-15
Ejercicio 4: Alarma antirrobo
La función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-25
Ejercicio 5: Prensa con barrera protectora
La función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-35
Ejercicio 6: Sistema de timbre
La función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-45

Sistemas lógicos sin funciones memorizantes


Ejercicio 7: Dispositivo estampador
Combinación de AND/OR/NOT . . . . . . . . . . . . . . . . A-55
Ejercicio 8: Control de un silo para dos materiales a granel
Circuito combinatorio con derivación . . . . . . . . . . . . A-65

Sistemas lógicos con funciones memorizantes


Ejercicio 9: Alarma de incendios
Activación de una salida . . . . . . . . . . . . . . . . . . . . . . A-73

Festo Didactic • TP301


A-II

Ejercicio 10: Supervisión de la rotura de una broca


Activación y desactivación de una salida . . . . . . . A-81
Ejercicio 11: Activación de un cilindro
Flancos de las señales . . . . . . . . . . . . . . . . . . . . . A-89

Sistemas lógicos con funciones temporales


Ejercicio 12: Encolado de componentes
Pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-101
Ejercicio 13: Dispositivo de marcado
Señal con retardo a la conexión . . . . . . . . . . . . . A-111
Ejercicio 14: Dispositivo de fijación
Señal con retardo a la desconexión . . . . . . . . . . A-121

Sistemas de control secuencial


Ejercicio 15: Dispositivo elevador para paquetes
Secuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . A-131
Ejercicio 16: Dispositivo elevador y clasificador para paquetes
Derivación alternativa. . . . . . . . . . . . . . . . . . . . . . A-147
Ejercicio 17: Dispositivo de estampación con contador
Ciclos de recuento . . . . . . . . . . . . . . . . . . . . . . . . A-159

TP301 • Festo Didactic


A-3
Ejercicio 1

Controles lógicos programables Tema

Diseño y funcionamiento de un control lógico Título


programable
Componentes de un PLC
Ser capaz de explicar el diseño básico y el modo de funcionamiento de Objetivo didáctico
un PLC
Ser capaz de configurar y poner a punto un PLC
Actualmente los Controles Lógicos Programables forman parte de cual- Conocimientos
quier proceso de automatización. La Fig. A1.1 muestra una configura- técnicos
ción típica de una solución de automatización realizada por medio de
un PLC. El sistema de control mostrado representa los componentes
más elementales de una aplicación con PLC.
B 16

PC /
Aparato programador Display /
Unidad de Control

PLC

Sensores

Actuadores

Fig. A1.1:
Automatización con PLC

Festo Didactic • TP301


A-4
Ejercicio 1

Los componentes básicos de un sistema de control son:


Control Lógico Programable (PLC), también denominado Autómata
Programable (AP).
Bajo este nombre se incluyen los módulos electrónicos a través de
los cuales todas las funciones de la máquina o sistema a controlar
son direccionadas y activadas en una secuencia lógica
Sensores
Estos componentes están situados directamente en el sistema o la
máquina a controlar, y a través de ellos el PLC interroga el estado o
posición de la máquina.
Actuadores
Estos componentes están situados directamente en el sistema o
máquina a controlar y a través de ellos, el PLC es capaz de cambiar
o influir en estados y con ello en el proceso técnico.
PC o dispositivo programador
Se utiliza para crear el programa que contiene la lógica del sistema
o maquinaria a controlar y transferirla a la memoria del PLC. Al
mismo tiempo, estas herramientas de programación también propor-
cionan funciones de apoyo para la verificación del programa de PLC
y la puesta a punto del control.
Unidades de indicación y control
Esto les permite supervisar e influir en el funcionamiento del sistema
o la máquina.
Control Lógico programable
El componente más importante de un sistema de control es el PLC y
su programa. La Fig. A1.2, ilustra los componentes de un sistema PLC

Programa PLC

Módulo de entrada UPP Módulo de salida


Unidad Principal
de Proceso

Fig. A1.2:
Componentes de un Sensores Actuadores
sistema PLC

TP301 • Festo Didactic


A-5
Ejercicio 1

Un PLC se conecta con el sistema a controlar a través de módulos de


entra y de salida. El sistema a controlar proporciona señales de entra- B4
da (generalmente binarias) a través de los sensores, a los módulos de
entrada. 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 define
en el programa del PLC. El resultado del procesamiento es emitido a
los 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 PLC
Un 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 transferirse
a una memoria de sólo lectura, es decir una EPROM. En cualquier
caso, cuando se ejecuta el programa se procesa en ciclos continuos.
Señales
Las señales de entrada llegan al PLC a través de los sensores. Estas B4
señ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. Por
esta razón, las señales no-eléctricas deben convertirse en señales
elé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ñales
pueden emitirse en forma binaria, digital o analógica. Las señales de
salida 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.

Festo Didactic • TP301


A-6
Ejercicio 1

Descripción del Debe resolverse una tarea de control por medio de un control lógico
problema programable (PLC). El alumno deberá familiarizarse con el diseño bási-
co de un PLC.

Croquis de situación

Definición del ejercicio 1. Componentes de un PLC


2. Diseño y puesta a punto del PLC que haya seleccionado

Realización Para llevar a cabo el ejercicio utilizando las hojas de trabajo, véase la
sección B del libro de trabajo y la ficha técnica o el manual del PLC
que se utilice

TP301 • Festo Didactic


A-7
Ejercicio 1

HOJA DE TRABAJO

1. Componentes de un PLC
Pregunta 1
¿Cuáles son los componentes básicos de un PLC?

B 4.1

Pregunta 2
¿Cuáles con los módulos básicos que forma la unidad central de
control en un control lógico programable?

B 4.2

Pregunta 3
¿Cómo se consigue el aislamiento eléctrico entre las señales de un
sensor/actuador y el PLC?

B 4.5

Festo Didactic • TP301


A-8
Ejercicio 1

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.

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 salida
Datos técnicos

Configurar el PLC según las notas destacadas en la ficha técnica o el


manual.

TP301 • Festo Didactic


A-9
Ejercicio 2

Controles lógicos programables Tema

Del problema a la solución – teniendo en cuenta IEC 1131-3 Título


Pasos prácticos para la programación de un PLC
Familiarizarse con los recursos básicos del lenguaje para la configura- Objetivo didáctico
ción y estructuración de un programa de PLC según IEC 1131-3
Se capaz de declarar variables para su uso en un programa de
PLC.
Ser capaz de aplicar un procedimiento sistemático para la realiza-
ción de los ejercicios con PLC.
Creación de un programa de PLC Conocimientos
Los pasos prácticos para la creación de un programa de PLC se mues- técnicos
tran en la fig. A2.1

Descripción de la tarea de control B5


– Descripción verbal
– Croquis de situación

Programa del PLC Instalación/proceso

Trazado de la solución
– Representación como tabla de funciones Planificación de la
(sistema de control lógico) instalación
– Representación en forma de FCH según – Trazado del esquema
IEC 848 (sistema de control secuencial) del circuito

Realización de la solución
– Configuración del PLC
– Declaración de variables del programa PLC Montaje de la
– Formulación de la lógica del programa PLC instalación
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 Fig. A2.1:
– Inclusión de los esquemas del circuito Procedimiento para la
creación de un programa
de PLC

Festo Didactic • TP301


A-10
Ejercicio 2

Descripción de una tarea de control


Los requerimientos básicos para describir una tarea de control incluyen
una descripción verbal, un croquis de situación y la definición de los
sensores y actuadores a utilizar. Esta información es necesaria para el
B 6.1
desarrollo de esquemas de circuitos. Además, es necesario definir la
asignación de sensores a las salidas del PLC. Un ejemplo de lista de
asignaciones de este tipo se muestra en la tabla A2.1.

Designación del recurso Direcciones de Comentario


Entrada/salida en el PLC

Tabla A2.1: S1 I1.5 Pulsador de MARCHA


Ejemplo de lista
Y5 Q2.7 Avance del cilindro C
de asignaciones

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ón
La solución diseñada es dar una clara representación de la función y
comportamiento del control, independientemente de la tecnología. La
tabla 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ón
La 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 de
control sencilla:
Ejemplo Debe sonar un timbre tanto si se presiona el pulsador de la puerta del
jardín como si se presiona el pulsador de la puerta de la casa.
Cuando se empieza la creación de un programa de PLC, los recursos
deben declararse con la sintaxis definida por IEC 1131-3. Las entradas
y salidas del PLC declaradas en la fig. A2.2a son variables locales
dentro del programa "Timbre". La utilización de variables globales se
necesita normalmente en tareas de control algo más complejas.

TP301 • Festo Didactic


A-11
Ejercicio 2

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 crear B 6.1 - 6.3
una programa con una distribución clara. El ejemplo se programa en
diagrama de bloques de función utilizando la función lógica OR.

PROGRAM Timbre CONFIGURATION ejemplo


VAR
Pulsador_FD AT %IX1: BOOL;
RESOURCE Instalación
Pulsador_AD AT %IX2: BOOL;
Timbre AT %QX1: BOOL;
END_VAR
TASK
T_cíclica

Pulsador_FD >=1 Timbre


PROGRAM Timbre
Pulsador_AD

END_PROGRAM

a) Ejemplo de un programa de PLC b) Ejemplo de la instalación de un programa


en un PLC o en un sistema PLC Fig. A2.2:
Realización de la solución
Para ejecutar un programa en el PLC, es necesario saber cómo se
procesa el programa: cíclicamente o en relación con determinados
acontecimientos. IEC 1131-3 facilita sus propios recursos de lenguaje
para la asignación de tales características secuenciales y para la incor-
poración del programa al PLC. Estos con los recursos de lenguaje de
configuració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.

Festo Didactic • TP301


A-12
Ejercicio 2

Verificación y puesta a punto del control


El programa se carga desde el PC o aparato programador al PLC para
su 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 control
La 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.

Descripción del Las entradas y salidas del PLC, así como las variables adicionales
problema para almacenamiento de información deben incorporarse al programa
de PLC. Para ello, deberá familiarizarse con el procedimiento básico
requerido para la generación de programas de PLC.

Definición del ejercicio 1. Procedimientos para crear un programa de PLC


2. Recursos de un PLC según IEC 1131-3
3. Declaración de variables según IEC 1131-3

Realización Para llevar a cabo el ejercicio necesitará la información de la sección B


del libro de trabajo: Capítulo 6, página B-65.

TP301 • Festo Didactic


A-13
Ejercicio 2

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 programa
de 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

Festo Didactic • TP301


A-14
Ejercicio 2

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 entradas
temperatura TEMP, aplicada a la palabra de salidas nº 1
memoria VALVULA_ABIERTA
memoria booleana con el identificador PIEZA_PRESENTE, prea-
signada al valor inicial 0
memoria booleana con el identificador INIC_ROBOT, preasignada
con el valor inicial 1
almacenamiento de un número (entero - INT) bajo el nombre NU-
MERO, con el valor 0 preasignado

TP301 • Festo Didactic


A-15
Ejercicio 3

Controles lógicos programables Tema

Circuito de una lámpara Título


La función de asignación
Comprender la actuación de una salida de PLC Objetivo didáctico
Ser capaz de realizar la función de asignación lógica con un PLC
Se capaz de crear un programa de PLC según IEC 1131-3
Todo control lógico programable tiene un cierto número de entradas y Conocimientos
salidas, a través de las cuales se conectan los sensores y actuadores. técnicos
El programa transferido al control contiene las órdenes que interconectan
las entradas individuales y las asignan a las correspondientes salidas.
La función de asignación
La 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. El
comportamiento 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.
B3

%IX1 %QX2

0 0 Tabla A3.1:
Tabla de funciones para la
1 1
función de asignación

Festo Didactic • TP301


A-16
Ejercicio 3

Para realizar la función de asignación en cada uno de los lenguajes de


programación, necesitará las órdenes mostradas en la tabla A3.2.

LD
B8

%IX1 %QX2
Renglón con un contacto abierto
y bobina no-memorizante.

FBD
B7

%IX1 %QX2 Conexión directa de la entrada


y la salida especificadas

IL
B9

Leer el valor de la entrada especificada


LD %IX1
y cargarlo al acumulador

Carga el contenido del acumulador


ST %QX2 a la salida especificada

B 10 ST

Asignación del valor de la entrada


%QX2 := %IX1;
especificada a la derecha de ":="
a la salida especificada a la
Tabla A3.2: izquierda de ":="
La función de asignación

TP301 • Festo Didactic


A-17
Ejercicio 3

El accionamiento de un pulsador (S1) hace que se encienda la lámpa- Descripción del


ra (H1). La lámpara debe permanecer iluminada mientras el pulsador problema
se halle accionado.

S1
H1

Croquis de situación

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 lenguajes
de programación
5. Verificación y puesta a punto del programa de PLC y del sistema.

Festo Didactic • TP301


A-18
Ejercicio 3

Realización 1. Trazado del esquema del circuito y montaje del equipo


⇒ 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

Lista de componentes 1 Dispositivo indicador

Antes de cablear:
¡Desconectar la alimentación!

⇒ 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 funciones
y la ecuación booleana asociada.

3. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

TP301 • Festo Didactic


A-19
Ejercicio 3

4. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

5. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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

Festo Didactic • TP301


A-20
Ejercicio 3

TP301 • Festo Didactic


A-21
Ejercicio 3

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del circuito
eléctrico

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 H1

1
Tabla de funciones

Deducir la ecuación booleana a partir de la tabla:

Ecuación booleana

Festo Didactic • TP301


A-22
Ejercicio 3

HOJA DE TRABAJO

3. 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

4. Formulación del programa de PLC en uno de los lenguajes de


programació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

TP301 • Festo Didactic


A-23
Ejercicio 3

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.

Festo Didactic • TP301


A-24
Ejercicio 3

TP301 • Festo Didactic


A-25
Ejercicio 4

Controles lógicos programables Tema

Alarma antirrobo Título


La función NOT
Poder realizar la función not con un PLC Objetivo didáctico
La función NOT Conocimientos
La función NOT se utiliza para convertir señales binarias a su valor técnicos
opuesto:
Si la señal es 0, se evalúa como 1
Si la señal es 1, se evalúa como 0
La Tabla A4.1 ilustra un ejemplo del comportamiento de la función B3
NOT para la entrada %IX1 y una salida %QX2.

%IX1 %QX2

0 1 Tabla A4.1:
Tabla de funciones para la
1 0 función NOT

Festo Didactic • TP301


A-26
Ejercicio 4

La tabla A4.2 contiene las órdenes para la realización de la función


NOT en cada uno de los lenguajes de programación.

B8 LD

%IX1 %QX2
/ Renglón con contacto normalmente
cerrado y bobina no-memorizante.

B7
FBD

%IX1 Usar la función NOT en


NOT %QX2
la entrada especificada

B9 IL

LDN %IX1 Cargar el valor inverso de la


entrada en el acumulador.

Cargar el contenido del acumulador


ST %QX2 a la salida especificada.

B 10 ST

%QX2 := NOT %IX1; Asignar el valor inverso de la


entrada especificadaa la salida
indicada a la izquierda de ":=".
Tabla A4.2:
La función NOT

TP301 • Festo Didactic


A-27
Ejercicio 4

Se ha dispuesto un fino hilo tensado tras una ventana, que se rompe si Descripción del
hay un intento de robo. Como resultado de la rotura se interrumpe un problema
circuito cerrado y debe sonar un zumbador.

H1

S1

Croquis de situación

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

Festo Didactic • TP301


A-28
Ejercicio 4

Realización 1. Trazado el esquema del circuito y montaje del equipo


⇒ Completar el esquema del circuito eléctrico 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

Antes de cablear:
¡Desconectar la alimentación!

⇒ 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 locales
del programa del PLC
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

TP301 • Festo Didactic


A-29
Ejercicio 4

4. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

5. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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.

Festo Didactic • TP301


A-30
Ejercicio 4

TP301 • Festo Didactic


A-31
Ejercicio 4

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del circuito
eléctrico

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 H1

1
Tabla de funciones

Deducir la ecuación booleana a partir de la tabla:

Ecuación booleana

Festo Didactic • TP301


A-32
Ejercicio 4

HOJA DE TRABAJO

3. 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

4. Formulación del programa de PLC en uno de los lenguajes de


programació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

TP301 • Festo Didactic


A-33
Ejercicio 4

HOJA DE TRABAJO

Responder a la siguiente preguntas: Pregunta


1. La salida se activa como no-memorizante. ¿Cuál es el efecto en la
señal de salida, si el hilo se rompe y debe ser reparado?

Festo Didactic • TP301


A-34
Ejercicio 4

TP301 • Festo Didactic


A-35
Ejercicio 5

Controles lógicos programables Tema

Prensa con barrera protectora Título


La función AND
Se capaz de realizar una función AND con un PLC Objetivo didáctico
Comprender el término ’función’ según IEC 1131-3
Poder utilizar funciones estándar según IEC 1311-3
Las funciones son parte de las unidades de organización del programa Conocimientos
y por lo tanto representan un medio para configurar programas de técnicos
PLC. IEC 1311-3 proporciona funciones estandarizadas para la solu-
ción de tareas básicas de tecnología de control.
La función AND
Solamente 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ón B3
para las dos entradas %IX1 y %IX2, así como para la salida %QX3.

%IX1 %IX2 %QX3

0 0 0

0 1 0

1 0 0 Tabla A5.1:
Tabla de funciones para la
1 1 1
función AND

Festo Didactic • TP301


A-36
Ejercicio 5

La tabla A5.2 contiene las órdenes para la realización de la función


AND en cada uno de los lenguajes de programación.

LD
B8

%IX1 %IX2 %QX3


Renglón con dos contactos en serie
normalmente abiertos

B7 FBD

%IX1 & %QX3


%IX2
Las entradas y salidas de la función
o bien AND se conectan con los
parámetros especificados
%IX1 AND %QX3
%IX2

B9 IL

Cargar al acumulador el valor de la


LD %IX1 entrada especificada.
AND %IX2 Conexión en AND del resultado
actual con la segunda entrada.
ST %QX3 Cargar el contenido del acumulador
a la salida especificada

B 10 ST

%QX3 := %IX1 & %IX2; Las dos entradas especificadas


se conectan con el operador "&".
El resultado se asigna a la salida
o bien especificada.

%QX3 := AND(%IX1, %IX2); Invocación de una función AND con


entradas especificadas como
parámetros transferidos.
Tabla A5.2:
La función AND

TP301 • Festo Didactic


A-37
Ejercicio 5

Una prensa de estampación 1.0 debe avanzar solamente si se presio- Descripción del
na el pulsador S1 y (and) la barrera protectora se halla cerrada. Si una problema
de estas condiciones no se cumple, la prensa debe retroceder inmedia-
tamente.
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 retrocede
por medio de una electroválvula con retorno por muelle (bobina Y1).

1.0

S1

B1

Croquis de situación

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 lenguajes
de programación
5. Verificación y puesta a punto del programa de PLC y del sistema.

Festo Didactic • TP301


A-38
Ejercicio 5

Realización 1. Trazado de los esquemas neumático y eléctrico y montaje del


equipo
⇒ Completar los esquemas neumático y eléctrico 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 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ástico
Lista de componentes

Antes de cablear y de conectar los tubos:


¡Desconectar la alimentación eléctrica!

⇒ 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 la
ecuación booleana asociada.

TP301 • Festo Didactic


A-39
Ejercicio 5

3. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

4. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

5. Verificación y puesta a punto de un programa y un sistema PLC

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 hasta
la 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!

⇒ 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.

Festo Didactic • TP301


A-40
Ejercicio 5

TP301 • Festo Didactic


A-41
Ejercicio 5

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

1.1 4(A) 2(B)

Y1
5(R) 3(S)
1(P)

Esquema del circuito


electroneumático

Festo Didactic • TP301


A-42
Ejercicio 5

HOJA DE TRABAJO

Completar el esquema del circuito eléctrico e introducir las direcciones


disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

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 B1 Y1

Tabla de funciones

Deducir la ecuación booleana a partir de la tabla:

Ecuación booleana

TP301 • Festo Didactic


A-43
Ejercicio 5

HOJA DE TRABAJO

3. 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

4. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-44
Ejercicio 5

HOJA DE TRABAJO

Pregunta Responder a la siguiente pregunta:


1. La salida Y1 ¿debe activarse como memorizante o como no-memori-
zante?

TP301 • Festo Didactic


A-45
Ejercicio 6

Controles lógicos programables Tema

Sistema de timbre Título


La función OR
Realización de la función lógica OR con un PLC. Objetivo didáctico
La función OR Conocimientos
Si por lo menos una de las señales conectadas se halla en 1, el resul- técnicos
tado es también 1. Solamente si todas las señales conectadas se ha-
llan en 0 el resultado es también 0.
La Tabla A6.1 contiene la tabla de funciones para la conexión OR de
las señales de las entradas %IX1 y %IX2. El resultado se refleja en la
salida %QX3. B3

%IX1 %IX2 %QX3

0 0 0

0 1 1

1 0 1 Tabla A6.1:
Tabla de funciones
1 1 1 para la función OR

Festo Didactic • TP301


A-46
Ejercicio 6

La Tabla A6.2 contiene las órdenes para la realización de la función


OR en los diferentes lenguajes de programación.

B8
LD

%IX1 %QX3
Renglón con dos contactos en
paralelo normalmente abiertos
%IX2

B7 FBD

%IX1 >=1 %QX3


%IX2
Las entradas y la salida de la
o bien función OR están conectadas con
los parámetros especificados.
%IX1 OR %QX3
%IX2

B9 IL

Cargar al acumulador el valor de


LD %IX1 la entrada especificada.
OR %IX2 Conexión en OR del resultado actual
con la segunda entrada.
ST %QX3 Cargar el contenido del acumulador
a la salida especificada.

B 10 ST

%QX3 := %IX1 OR %IX2; Las dos entradas especificadas


están conectadas con el operador
"OR". El resultado es asignado a
la salida especificada.

Tabla A6.2:
La función OR

TP301 • Festo Didactic


A-47
Ejercicio 6

El timbre de un apartamento debe sonar tanto si se presiona el pulsa- Descripción del


dor S1 en la puerta del jardín como si se presiona el pulsador S2 en la problema
puerta del apartamento.

S2
H1
S1

Croquis de situación

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 lenguajes
de programación
5. Verificación y puesta a punto del programa de PLC y del sistema

Festo Didactic • TP301


A-48
Ejercicio 6

Realización 1. Trazado del esquema del circuito y montaje del equipo


⇒ 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

Antes de cablear la instalación:


¡Desconectar la alimentación!

⇒ 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 la
ecuación booleana asociada.

3. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

TP301 • Festo Didactic


A-49
Ejercicio 6

4. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

5. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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.

Festo Didactic • TP301


A-50
Ejercicio 6

TP301 • Festo Didactic


A-51
Ejercicio 6

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del circuito
eléctrico

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

Festo Didactic • TP301


A-52
Ejercicio 6

HOJA DE TRABAJO

Deducir la ecuación booleana a partir de la tabla:

Ecuación booleana

3. 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
4. Formulación del programa de PLC en uno de los lenguajes de
programació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

TP301 • Festo Didactic


A-53
Ejercicio 6

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 menos
una 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

Festo Didactic • TP301


A-54
Ejercicio 6

TP301 • Festo Didactic


A-55
Ejercicio 7

Controles lógicos programables Tema

Dispositivo estampador Título


Combinaciones de AND/OR/NOT
Ser capaz de combinaciones de conexiones lógicas con un PLC Objetivo didáctico
Comprender las prioridades de los operadores elementales en cada
uno de los lenguajes de programación
Combinación de conexiones lógicas Conocimientos
Casi todas las tareas de control requieren la programación de una técnicos
combinación de conexiones lógicas. Para diseñar una solución es
esencial lo siguiente:
Establecer una ecuación booleana que describa la lógica de la tarea
de control
Tener en consideración las prioridades de los operadores utilizados
para la programación
El ejemplo que sigue trata con una combinación de las funciones AND, B3
OR y NOT:
Un piloto H1 debe lucir si se acciona el interruptor S1, y además uno
sólo de los interruptores S2 ó S3.
La correspondiente tabla de funciones es como sigue:

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
La forma normal disyuntiva puede deducirse de esta tabla. La forma
normal 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.

Festo Didactic • TP301


A-56
Ejercicio 7

El método para solucionarlo en la forma normal disyuntiva está basado


en 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 a
la ecuación booleana:
H1 = (S1 S2 S3) ∨ (S1 S2 S3)
La realización de la tarea de control en cada uno de los lenguajes de
programación se relaciona en la tabla A7.2.

B8 LD

S1 S2 S3 H1

/
S1 S2 S3
/

B7
FBD

S1 &
S2
>=1 H1
S3

S1 &
S2
S3

B9 IL

LD S1
ANDN S2
AND S3
OR( S1
AND S2
ANDN S3
)
ST H1

B 10 ST

H1 := S1 & NOT S2 & S3 OR S1 & S2 & NOT S3;


or
Tabla A7.2:
Combinación de H1 := (S1 & NOT S2 & S3) OR (S1 & S2 & NOT S3);
operaciones lógicas

TP301 • Festo Didactic


A-57
Ejercicio 7

Dado que el procesamiento de la función OR es una acción posterior


en la lista de instrucciones, se abre un paréntesis a continuación de la
instrucción OR. El hecho de cerrar el paréntesis en la penúltima línea
hace que el resultado de la expresión entre paréntesis sea enlazada
en OR con el resultado actual (en el acumulador).
La solución en Texto Estructurado no requiere ningún paréntesis dado
que en este caso los propios operadores establecen las prioridades.
Sin embargo, para conseguir una mejor legibilidad es una buena idea
utilizar paréntesis en las expresiones más complejas.

Prioridades con los enlaces lógicos básicos


En los lenguajes de programación gráficos LD y FBD, el orden de
procesamiento está implícitamente especificado por el símbolo gráfico
del 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 una
red 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ón
booleana OR. Al igual que en las operaciones matemáticas, se aplica
la regla de la multiplicación antes que la suma o la resta.

Festo Didactic • TP301


A-58
Ejercicio 7

Descripción del Un dispositivo estampador puede hacerse funcionar desde tres luga-
problema res. Se inserta una pieza a través de una guía, con lo que se activan
dos 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 corta
un rebaje en la pieza. El ciclo de estampado sólo debe dispararse si
existen dos de las señales. Por razones de seguridad, debe evitarse que
el cilindro avance si están activados los tres sensores de proximidad.

1.0

B3

B1

B2

Fig. A7.1:
Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito


2. Montaje del equipo con la ayuda de los esquemas de los circuitos
electroneumá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 lenguajes
de programación
6. Verificación y puesta a punto del programa de PLC y del sistema

TP301 • Festo Didactic


A-59
Ejercicio 7

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:

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!

⇒ 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 la
ecuación booleana asociada.

Festo Didactic • TP301


A-60
Ejercicio 7

4. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.
5. Formulación del programa de PLC en uno de los lenguajes de
programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

6. Verificación y puesta a punto de un programa y un sistema PLC

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 hasta
la 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!

⇒ 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.

TP301 • Festo Didactic


A-61
Ejercicio 7

HOJA DE TRABAJO

1. Trazado del esquema del circuito eléctrico


Completar el esquema del circuito eléctrico e introducir las direcciones
de entrada y salida disponibles en el PLC.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-62
Ejercicio 7

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

1.0

1.1 4(A) 2(B)

Y1
5(R) 3(S)

Esquema del circuito 1(P)


electroneumático

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:

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

Tabla de funciones 1 1 1

Determinar la ecuación booleana asociada.

Ecuación booleana

TP301 • Festo Didactic


A-63
Ejercicio 7

HOJA DE TRABAJO

4. 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

5. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-64
Ejercicio 7

HOJA DE TRABAJO

Pregunta Responder a la siguiente pregunta:


1. ¿Por qué el elemento negado tiene que intervenir en cada paréntesis?

TP301 • Festo Didactic


A-65
Ejercicio 8

Controles lógicos programables Tema

Control de un silo para dos materiales a granel Título


Sistema 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 un Conocimientos
elemento final de control. técnicos
Esto requiere que el PLC actúe sobre varias salidas. En los lenguajes
gráficos esto lleva a programar varios renglones i líneas de contactos.
Estas líneas puede ser opcionalmente dotadas de un identificador. Es
necesario utilizar un identificador si hay que realizar un salto a este B 12
renglón dentro del programa.

Festo Didactic • TP301


A-66
Ejercicio 8

Descripción del Una planta de mezclado permite una selección entre dos materiales a
problema granel, según un interruptor selector (S2). En posición de conmutación
1 (S2 = señal 0), es el material A el que llega al contenedor, si se
presiona el pulsador S1.
De forma similar, el material a granel B es conducido si el interruptor
selector S2 se halla en posición 2 (S2 = señal 1) y se acciona el
pulsador S1. El silo A se abre a través del cilindro 1.0 (electroválvula
Y1) y el silo B a través del cilindro 2.0 (electroválvula Y2).

2.0

1.0

S2
S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
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 lenguajes
de programación
5. Verificación y puesta a punto del programa de PLC y del sistema

TP301 • Festo Didactic


A-67
Ejercicio 8

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:

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ástico
Lista de componentes

Antes de cablear y de conectar los tubos:


¡Desconectar la alimentación eléctrica!

⇒ 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 la
ecuación booleana asociada.

Festo Didactic • TP301


A-68
Ejercicio 8

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 la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.
5. Formulación del programa de PLC en uno de los lenguajes de
programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

6. Verificación y puesta a punto de un programa y un sistema PLC

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 hasta
la 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

⇒ 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.

TP301 • Festo Didactic


A-69
Ejercicio 8

HOJA DE TRABAJO

1. Trazado del esquema del circuito eléctrico


Completar el esquema del circuito eléctrico e introducir las direcciones
de entrada y salida disponibles en el PLC.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-70
Ejercicio 8

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

1.0 2.0

1.1 4(A) 2(B) 2.1 4(A) 2(B)

Y1 Y2
5(R) 3(S) 5(R) 3(S)
1(P) 1(P)
Esquema del circuito
electroneumático

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:

S1 S2 Y1 Y2

0 0

0 1

1 0

1 1
Tabla de funciones

Determinar la ecuación booleana asociada.

Ecuación booleana

TP301 • Festo Didactic


A-71
Ejercicio 8

HOJA DE TRABAJO

4. 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

5. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-72
Ejercicio 8

TP301 • Festo Didactic


A-73
Ejercicio 9

Controles lógicos programables Tema

Alarma de incendio Título


Activación de una salida
Conocer cómo activar y memorizar una salida de un PLC Objetivo didáctico
Ser capaz de entender los bloques de función según IEC 1131-3
Se capaz de utilizar los bloques de función estándar flip-flop SR y
flip-flop RS
Las operaciones memorizantes forman parte de las operaciones ele- Conocimientos
mentales de un PLC y se aplican en caso de que deba memorizarse el técnicos
estado 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 dispone
de los bloques de función SR y RS.
Bloque de función SR, flip-flop de activación prioritaria
El bloque de función SR (fig. A9.1) contiene un flip-flop de activación
prioritaria,
B 12

El comportamiento típico de un bloque de función SR es como sigue:

SR
BOOL S1 Q1 BOOL
BOOL R
Fig. A9.1:
Bloque de función SR
Una señal 1 en la entrada S1 activa el flip-flop, es decir, el valor Q1
pasa a 1.
Una señal 1 en la entrada de desactivación R sitúa el valor de Q1 a
0, siempre que haya en este momento una señal 0 en la entrada
S1.
Si se aplica una señal 1 a ambas entradas S1 y R, la salida Q1 se
activa (activación prioritaria).

Realización de una función "Set/Activación" en cada uno de los


lenguajes de programación
Las soluciones de los siguientes ejemplos se indican en la tabla A9.1.

Festo Didactic • TP301


A-74
Ejercicio 9

Ejemplo La lámpara H2 debe iluminarse por medio de la acción de un pulsador S2.

VAR
S2 AT %IX3 : BOOL; (* Pulsador S2 a entrada IX3 *)
H2 AT %QX4 : BOOL; (* Piloto H2 a salida QX4 *)
SR_H2 : SR; (* SR-flip-flop SR_H2 *)
(* Para memorización del *)
(* estado de H2 *)
END_VAR

B7 FBD

SR_H2
SR flip-flop SR_H2 para memoriza-
SR ción del estado de la variable H2.
S2 S1 Q1 H2 Asignación directa del valor de Q1
R a la variable H2.

B8 LD

S2 H2
Renglón con contacto normalmente
S
abierto y bobina de activación.

B9 IL

LD S2 Lectura del valor de S2


S H2 Activación de la variable H2
o bien
CAL SR_H2 (S1 := S2) Invocación del flip-flop SR_H2 con
transferencia del parámetro S2.
LD SR_H2.Q1 Lectura del valor de salida Q1 del
flip-flop SR_H2.
ST H2 Asignación del valor leído a la
variable H2.

B 10 ST

SR_H2 (S1 := S2); Invocación del flip-flop SR_H2 usando


un parámetro de transferencia.
Tabla A9.1: H2 := SR_H2.Q1; Asignación del valor de la salida Q1
La función de de SR_H2 a la variable H2.
memorización ’Activar’

TP301 • Festo Didactic


A-75
Ejercicio 9

El zumbador H1 debe activarse al presionar el pulsador S1. Descripción del


problema

H1
S1

Croquis de situación

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 lenguajes
de 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

Festo Didactic • TP301


A-76
Ejercicio 9

Antes de cablear la instalación:


¡Desconectar la alimentación!

⇒ 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 la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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.

TP301 • Festo Didactic


A-77
Ejercicio 9

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

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

Festo Didactic • TP301


A-78
Ejercicio 9

HOJA DE TRABAJO

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

TP301 • Festo Didactic


A-79
Ejercicio 9

HOJA DE TRABAJO

Marcar las características aplicables a una función o a un bloque de función.

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 la
sí no sí no
declaración de variables

Información de estado sí no sí no

Responder a la siguiente pregunta: Pregunta

1. ¿Qué información se memoriza en un bloque SR?

Festo Didactic • TP301


A-80
Ejercicio 9

TP301 • Festo Didactic


A-81
Ejercicio 10

Controles lógicos programables Tema

Supervisión de la rotura de una broca Título


Activació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 prioritaria Conocimientos
El bloque de función RS contiene un flip-flop con desactivación prioritaria técnicos

RS
BOOL S Q1 BOOL
BOOL R1
Fig. A10.1:
Bloque de función RS
El comportamiento del bloque representado en la fig. A10.1 es como
sigue:
Una señal 1 en la entrada de desactivación R1 sitúa el valor de Q1
a 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,
B 12
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.

Festo Didactic • TP301


A-82
Ejercicio 10

Realización de la función memorizante ’Reset/Desactivación" en


los diferentes lenguajes de programación
Las soluciones para el ejemplo indicado abajo, están relacionadas en
la tabla A10.1.
Ejemplo La actuación sobre el pulsador S2 hace que el piloto H2 se apague.

VAR
S2 AT %IX5 : BOOL; (* Interruptor S2 a entrada IX5 *)
H2 AT %QX6 : BOOL; (* Piloto H2 a salida QX6 *)
RS_H2 : RS; (* flip-flop RS denominado RS_H2 *)
(* Para memorización del estado *)
(* de H2 *)
END_VAR

B7 FBS

RS_H2
RS flip-flop RS_H2 para almacena-
RS miento del estado de la variable H2.
S Q1 H2 Asignación directa del valor de Q1
S2 R1 a la variable H2.

LD
B8

S2 H2
R Renglón con contacto normalmente
Tabla A10.1:
La función de
abierto y desactivación de bobina.
memorización ’Desactivar’

TP301 • Festo Didactic


A-83
Ejercicio 10

AWL
B9

LD S2 Lectura del valor de S2


R H2 Desactivación de la variable H2
oder
CAL RS_H2 (R1 := S2) Invocación del flip-flop RS_H2 con
transferencia de parámetro S2.
LD RS_H2.Q1 Lectura del valor de salida Q1
en el flip-flop RS_H2
ST H2 Asignación del valor leído a la
variable H2.

ST
B 10

RS_H2 (R1 := S2); Invocación del Flip-flop RS_H2 con


transferencia de parámetro.
Tabla A10.1:
H2 := RS_H2.Q1; Asignación del valor de salida Q1 La función de
de RS_H2 a la variable H2. memorización ’desactivar’
(continuación)

Festo Didactic • TP301


A-84
Ejercicio 10

Descripción del La broca de una unidad de taladrado está supervisada por medio de
problema un sensor de rotura de broca (B1).
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.

B1
H1
S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación
4. Verificación y puesta a punto del programa de PLC y del sistema.

TP301 • Festo Didactic


A-85
Ejercicio 10

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 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 óptico


Lista de componentes

Antes de cablear la instalación:


¡Desconectar la alimentación!

⇒ Establecer las conexiones eléctricas.

2. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

Festo Didactic • TP301


A-86
Ejercicio 10

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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.

TP301 • Festo Didactic


A-87
Ejercicio 10

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

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

Festo Didactic • TP301


A-88
Ejercicio 10

HOJA DE TRABAJO

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

Pregunta Responder a la siguiente 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?

TP301 • Festo Didactic


A-89
Ejercicio 11

Controles lógicos programables Tema

Activación de un cilindro Título


Flancos de las señales
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 el
reconocimiento del flanco ascendente de una señal
Las aplicaciones de PLC a menudo requieren al detección y evalua- Conocimientos
ción, no de la propia señal, sino del momento que la señal cambia de técnicos
estado. Estos cambios de estado de denominan flancos.

flanco flanco
ascendente ascendente
1

0
flanco flanco
descendente descendente
Fig. A11.1:
Flancos
El flanco ascendente (positivo) marca el instante durante el cual una
señal cambia de 0 a 1.
El flanco descendente (negativo) marca el instante en el que una señal
cambia de 1 a 0.

Bloque de función R_TRIG para la detección del flanco ascendente


Este bloque de función estándar se utiliza para el flanco ascendente.
B 12

R_TRIG
BOOL CLK Q BOOL
Fig. A11.2:
Bloque de función R_TRIG
Si se produce un cambio de señal de 0 a 1 en la entrada CLK, la
salida Q asume el valor 1 durante un ciclo de programa.

Festo Didactic • TP301


A-90
Ejercicio 11

Bloque de función F_TRIG para la detección del flanco descendente


Este bloque de función estándar se utiliza para la detección del flanco
descendente.

F_TRIG
BOOL CLK Q BOOL
Fig. A11.3:
Bloque de función F_TRIG
Si se produce un cambio de señal de 1 a 0 en la entrada CLK, la
salida Q asume el valor 1 durante un ciclo de programa.

Realización de la evaluación de flancos en los distintos lenguajes


de programación
Para el ejemplo que sigue, se ha programado la evaluación de flancos
en los lenguajes FBD, LD IL y ST.
Ejemplo El accionamiento del pulsador S1 hace que se encienda el piloto H1.
El siguiente accionamiento del pulsador S1 apaga de nuevo el piloto.

VAR
S1 AT %IX1 : BOOL; (* Pulsador S1 *)
H1 AT %QX1 : BOOL; (* Piloto H1 *)
R_TRIG_S1 : R_TRIG (* Flanco ascendente de S1 *)
RS_H1 : RS; (* Flip-flop para H1 *)
END_VAR

FBD
B7
RS_H1
R_TRIG_S1 H1 & RS
R_TRIG S Q1 H1
S1 CLK Q R1
&
H1

Examinar el flanco ascendente de la


señal S1 con el bloque de función
R_TRIG_S1.
Según el estado del piloto H1, un
Tabla A11.1: flanco positivo hace que se active
Evaluación de un flanco o se desactive.
ascendente

TP301 • Festo Didactic


A-91
Ejercicio 11

LD
B8

S1 H1 H1
Detección de un flanco positivo
P / S por medio de un contacto especial
de flanco.
Según el estado del piloto, puede
S1 H1 H1 activarse en el primer renglón o
desactivarse en el segundo renglón.
P R

IL
B9

CAL R_TRIG_S1 (CLK := S1) Invocación del bloque de función


R_TRIG_S1.
LD R_TRIG_S1.Q
Según el resultado de la evaluación
ANDN H1 del flanco, el piloto se enciende...
S H1

LD R_TRIG_S1.Q
AND H1
R H1 o se apaga.

ST B 10

R_TRIG_S1 (CLK := S1); Invocación del bloque de función


R_TRIG_S1.

RS_H1 ( S := R_TRIG_S1.Q & NOT H1, Invocación del flip-flop


R1 := R_TRIG_S1.Q & H1); RS_H1.

H1 := RS_H1.Q1; El estado del flip-flop RS_H1


se copia a H1. Tabla A11.1:
(Continuación)

Dado que las condiciones de encender y apagar el piloto son mutua- Comentario
mente exclusivas, también puede utilizarse un flip-flop de activación
prioritaria en lugar de uno de desactivación prioritaria.

Festo Didactic • TP301


A-92
Ejercicio 11

Realización de la evaluación de flancos sin bloques de función de


flanco 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. Para
detectar un cambio de señal es necesario comprobar si el estado de
una señal ha cambiado de un ciclo de procesamiento al siguiente. Para
ello, debe memorizarse el anterior estado de la señal y compararse
con el estado actual.
La Fig. A11.4 ilustra el método utilizado para detectar un flanco ascen-
dente.

VAR
Signal AT %IX1 : BOOL; (* señal de entrada actual *)
S_Edge AT %MX1 : BOOL; (* detecta el flanco de la *)
(* señal de entrada *)
S_old AT %MX2 : BOOL := 0; (* memoriza el estado ant. *)
(* de la señal de entrada *)
RS_S_old : RS; (* flip-flop para memorizar *)
(* S_old *)

END_VAR

Signal & S_Edge


S_old

RS_S_old
RS
S_Edge S Q1 S_old
Fig. A11.4: Signal R1
Detección de un flanco
ascendente

La señal a examinar es representada por la variable "signal". El estado


anterior 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 al
inicio del programa (en el primer ciclo).

TP301 • Festo Didactic


A-93
Ejercicio 11

Las partes del programa mostradas han sido formuladas en el lenguaje


FBD como ejemplo.
La evaluación de un flanco descendente puede realizarse como se
ilustra abajo.

VAR
Signal AT %IX1 : BOOL; (* señal de entrada actual *)
S_Edge AT %MX1 : BOOL; (* detecta el flanco de la *)
(* señal de entrada *)
S_old AT %MX2 : BOOL := 0; (* memoriza el estado ant.*)
(* de la señal de entrada *)
SR_S_old : SR; (* flip-flop para memorizar *)
(* S_old *)

END_VAR

Signal & S_Edge


S_old

SR_S_old
RS
Signal S1 Q1 S_old
S_Edge R Fig. A11.5:
Detección de un flanco
descendente

Festo Didactic • TP301


A-94
Ejercicio 11

Descripción del Un cilindro es accionado por medio de una electroválvula con retroceso
problema por muelle (bobina Y1). Dos sensores de proximidad indican las posi-
ciones "extendida" (B2) y "retraída" (B1). El pulsador (S1) se utiliza
para accionar el cilindro de tal forma que avance desde la posición
retraída a la extendida y viceversa. El cilindro debe avanzar una sola
vez por accionamiento de pulsador. Para disparar un segundo movi-
miento del cilindro, el pulsador debe soltarse y accionarse de nuevo.

B1

B2
1.0

S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación
4. Verificación y puesta a punto del programa de PLC y del sistema

TP301 • Festo Didactic


A-95
Ejercicio 11

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 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 tubos:


¡Desconectar la alimentación!
¡Desconectar la alimentación del aire!

⇒ Establecer las conexiones eléctricas y neumáticas.

Festo Didactic • TP301


A-96
Ejercicio 11

2. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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!

⇒ 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.

TP301 • Festo Didactic


A-97
Ejercicio 11

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-98
Ejercicio 11

HOJA DE TRABAJO

Configurar el sistema de control

B1 B2
1.0

1.1 4(A) 2(B)

Y1
5(R) 3(S)

Esquema del circuito 1(P)


electroneumático

2. Declaración de las variables del programa del PLC


Declarar las variables requeridas en el programa del PLC:

Designación Tipo de dato Dirección Comentario

Declaración de variables

TP301 • Festo Didactic


A-99
Ejercicio 11

HOJA DE TRABAJO

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-100
Ejercicio 11

HOJA DE TRABAJO

Preguntas Responder a las siguientes 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?

TP301 • Festo Didactic


A-101
Ejercicio 12

Controles lógicos programables Tema

Encolado de componentes Título


Pulso
Ser capaz de utilizar el bloque de función estándar TP para generar un Objetivo didáctico
pulso de tiempo.
Un gran número de tareas de control requieran la programación de Conocimientos
tiempos. A través de IEC 1311-3, se dispone de bloques de función técnicos
estándar para temporizadores con diferentes tipos de respuesta.
Los temporizadores están disponibles para la realización de un pulso
temporal, un retardo a la conexión y un retardo a la desconexión.
Bloque de función TP, temporizador de pulso
El bloque de función estándar TP (fig. A12.1) es un temporizador de
pulso B 13

TP
BOOL IN Q BOOL
TIME PT ET TIME
Fig. A12.1:
Bloque de función R_TRIG

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 o
larga en la entrada IN.
Una vez que el temporizador ha arrancado, aparece una señal 1 en
la salida Q, por el tiempo especificado en la entrada PT.
El valor actual de tiempo (el tiempo que ha transcurrido desde el
inicio) está disponible en la salida ET.
El temporizador sólo puede arrancar de nuevo una vez que haya
expirado.

Festo Didactic • TP301


A-102
Ejercicio 12

Programación de un temporizador de pulso en los diferentes


lenguajes
La utilización del temporizador de pulso en los diferentes lenguajes de
programación se muestra con la ayuda del ejemplo dado abajo.
Ejemplo Unas piezas deben sujetarse de forma segura durante un período de
12 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.

VAR
S1 AT %IX1 : BOOL; (* Pulsador S1 *)
Y1 AT %QX1 : BOOL; (* Bobina Y1 para el cilindro *)
TP_Y1 : TP; (* Temporizador de pulso TP_Y1*)
(* para el proceso de sujeción *)
END_VAR

B7
FBD

TP_Y1
TP Bloque temporizador TP_Y1,
conectado con los parámetros
S1 IN Q Y1
indicados.
T#12s PT ET

B8
LD

TP_Y1
S1 Y1
TP
Interconexión del bloque
IN Q
temporizador TP_Y1 en el renglón.
Tabla A12.1: T#12s PT ET
Utilización de un
temporizador de pulso

TP301 • Festo Didactic


A-103
Ejercicio 12

IL
B9

CAL TP_Y1 (IN := S1, PT := T#12s) Invocación del bloque de


función TP_Y1.
LD TP_Y1.Q Lectura de la salida Q de
TP_Y1.
ST Y1 Almacenamiento del
resultado actual en Y1.

ST
B 10

TP_Y1 (IN := S1, PT := T#12s); Invocación del bloque de


función TP_Y1.

Y1 := TP_Y1.Q; Asignación de la salida Q Tabla A12.1:


de TP_Y1 a Y1. Utilización de un
temporizador de pulso
(contiuación)

Festo Didactic • TP301


A-104
Ejercicio 12

Descripción del Dos componentes deben ser encolados con la ayuda de un cilindro
problema neumático 1.0. Para ello, las superficies a encolar se presionan entre
sí 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 final
retraída (sensor B1). Una vez transcurridos los 5 segundos, el cilindro
regresa a su posición inicial. El proceso de encolado se inicia por me-
dio del pulsador S1.

1.0

S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación
4. Verificación y puesta a punto del programa de PLC y del sistema.

TP301 • Festo Didactic


A-105
Ejercicio 12

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:

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ástico
Lista de componentes

Antes de cablear y conectar los tubos:


¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!

⇒ Establecer las conexiones eléctricas y neumáticas.

Festo Didactic • TP301


A-106
Ejercicio 12

2. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

TP301 • Festo Didactic


A-107
Ejercicio 12

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del circuito
eléctrico

Festo Didactic • TP301


A-108
Ejercicio 12

HOJA DE TRABAJO

Configurar el sistema de control

B1
1.0

1.1 4(A) 2(B)

Y1
5(R) 3(S)

Esquema del circuito 1(P)


electroneumático

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

TP301 • Festo Didactic


A-109
Ejercicio 12

HOJA DE TRABAJO

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-110
Ejercicio 12

HOJA DE TRABAJO

Preguntas Responder a las siguientes 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ñal


de marcha antes de que expire el tiempo?
Completar el diagrama.

IN 1
0
t0 t1 t2 t3

1
Q
0
t0 t0 + PT
Fig. A12.2: 5s
Tiempo de respuesta del
temporizador de pulso

TP301 • Festo Didactic


A-111
Ejercicio 13

Controles lógicos programables Tema

Dispositivo de marcado Título


Señal con retardo a la conexión
Ser capaz de realizar un retardo a la conexión de una señal utilizando Objetivo didáctico
el bloque de función estándar TON
Bloque de función TON, Retardo a la conexión Conocimientos
El bloque de función estándar TON se utiliza para generar un retardo a técnicos
la conexión.

TON
BOOL IN Q BOOL
TIME PT ET TIME
Fig. A13.1:
Bloque de función TON
El comportamiento del bloque de función TON es como sigue:
El bloque de función TON se pone en marcha por medio de una
señal 1 en la entrada IN.
Una vez que ha expirado el tiempo especificado en la entrada PT, B 13
en la salida Q aparece una señal 1. La señal 1 en la salida Q
permanece 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 tiempo
especificado 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.

Festo Didactic • TP301


A-112
Ejercicio 13

Programación de un señal con retardo a la conexión en los


distintos lenguajes
En el siguiente ejemplo se demuestra la utilización de un retardo a la
conexión de una señal:
Ejemplo La puerta de un autobús se cierra cuando la zona de embarque ha
permanecido despejada durante un tiempo especificado (5 segundos).
Esto se supervisa por medio de una barrera fotoeléctrica.

VAR
B1 AT %IX1 : BOOL; (* Barrera fotoeléctrica *)
Y1 AT %QX1 : BOOL; (* Bobina Y1 del cilindro de *)
(* cerrar la puerta *)
TON_Y1 : TON; (* Señal temporizada a la conexión *)
(* TON_Y1 para cerrar la puerta *)
END_VAR

FBD
B7

TON_Y1
TON Conexión de entradas y salidas
del bloque de función TON_Y1
B1 IN Q Y1
con los parámetros actuales.
T#5s PT ET

LD
B8

TON_Y1
B1 Y1
TON
Interconexión del bloque de función
IN Q
TON_Y1 en el renglón.
Tabla A13.1: T#5s PT ET
Utilización de un
temporizador a la conexión

TP301 • Festo Didactic


A-113
Ejercicio 13

IL
B9

CAL TON_Y1 (IN := B1, PT := T#5s) Invocación del bloque de


función TON_Y1.
LD TON_Y1.Q Lectura de la salida Q de
TON_Y1.
ST Y1 Almacenamiento del resultado
actual en Y1.

ST B 10

TON_Y1 (IN := B1, PT := T#5s); Invocación del bloque de


función TON_Y1.
Tabla A13.1:
Y1 := TON_Y1.Q; Asignación de la salida Q Utilización de un
de TON_Y1 a Y1. temporizador a la conexión
(continuación)

Festo Didactic • TP301


A-114
Ejercicio 13

Descripción del Una pieza debe marcarse accionando un pulsador (S1). Para asegurar
problema que 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).

1.0

S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación
4. Verificación y puesta a punto del programa de PLC y del sistema

TP301 • Festo Didactic


A-115
Ejercicio 13

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 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!

⇒ Establecer las conexiones eléctricas y neumáticas.

Festo Didactic • TP301


A-116
Ejercicio 13

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 la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

TP301 • Festo Didactic


A-117
Ejercicio 13

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-118
Ejercicio 13

Configurar el sistema de control.

B1 B2
1.0

1.1 4(A) 2(B)

Y1
5(R) 3(S)

Esquema del circuito, 1(P)


electro-neumático

2. 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

TP301 • Festo Didactic


A-119
Ejercicio 13

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-120
Ejercicio 13

HOJA DE TRABAJO

Pregunta Responder a la siguiente 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?

TP301 • Festo Didactic


A-121
Ejercicio 14

Controles lógicos programables Tema

Dispositivo de fijación Título


Señal con retardo a la desconexión
Ser capaz de realizar una temporización a la desconexión utilizando el Objetivo didáctico
bloque de función estándar TOF
Bloque de función TOF, retardo a la desconexión Conocimientos
El bloque de función estándar TOF (fig. A14.1) se utiliza para generar técnicos
retardos de señales a la desconexión.

TOF
BOOL IN Q BOOL
TIME PT ET TIME
Fig. A14.1:
Bloque de función TOF
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 la
entrada IN. Inmediatamente la salida Q adopta el valor 1. B 13
Una vez que la señal IN ha pasado de nuevo al valor 0, la salida Q
sigue teniendo señal 1 durante el tiempo especificado en la entrada
PT, transcurrido el cual vuelve a adoptar el valor 0.

Festo Didactic • TP301


A-122
Ejercicio 14

Programación de un temporizador con retardo a la desconexión


en los diferentes lenguajes
A continuación se muestra un ejemplo de utilización de un temporiza-
dor a la desconexión:
Ejemplo La puerta de un horno incluye un bloqueo de forma que no debe poder
abrirse instantáneamente durante el proceso. Si se emite una señal de
apertura del horno, la puerta solamente se desbloqueará una vez
transcurridos 10 minutos.

VAR
Door_closed AT %MX1: BOOL; (* Memoria para enclavamien- *)
(* to de la puerta del horno *)
Y1 AT %QX1: BOOL; (* Bobina Y1 para el cil. de *)
(* apertura de la puerta. *)
TOF_Door : TOF; (* Señal de desconexión re- *)
(* tardada TOF_Door *)
END_VAR

B7 FBD

TOF__Door
Conexión de entradas y
TOF salidas del bloque de función
Door_closed IN Q Y1 TOF_Door con los parámetros
T#10m PT ET actuales.

LD
B8

TOF_Door
Door_closed Y1
TOF Interconexión del bloque de
IN Q función TOF_Door
Tabla A14.1: en el renglón.
T#10m PT ET
Utilización de un retardo a
la desconexión

TP301 • Festo Didactic


A-123
Ejercicio 14

IL
B9

CAL TOF_Door (IN := Door_closed, PT := T#10m) Invocación del bloque


de función TOF_Door.
LD TOF_Door.Q Lectura de la salida
Q de TOF_Door.
ST Y1 Almacenamiento de
resultado actual de Y1

ST
B 10

TOF_Door (IN := Door_closed, PT := T#10m); Invocación del bloque


de función TOF_Door.
Tabla A14.1:
Y1 := TOF_Door.Q; Asignación de la salida Utilización de un retardo a
Q de TOF_Door a Y1. la desconexión
(continuación)

Festo Didactic • TP301


A-124
Ejercicio 14

Descripción del Una pieza debe sujetarse activando el pulsador de marcha S1. Cuando
problema la pieza es sujeta por el cilindro 1.0, el cilindro 2.0 avanza y marca la
pieza. Dado que la pieza necesita un tiempo para enfriarse, permanece
sujeta durante 3 segundos. Este tiempo empieza con el avance del
cilindro 1.0.

1.0

2.0

S1

Croquis de situación

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
2. Declaración de las variables del programa PLC
3. Formulación del programa de PLC en uno de los diversos lenguajes
de programación
4. Verificación y puesta a punto del programa de PLC y del sistema

TP301 • Festo Didactic


A-125
Ejercicio 14

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 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


Tabla A14.1:
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!

⇒ Establecer las conexiones eléctricas y neumáticas.

Festo Didactic • TP301


A-126
Ejercicio 14

2. Declaración de las variables del programa del PLC


⇒ Todas variables deben ser declaradas como variables locales del
programa
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de variables depende del sistema utilizado.

3. Formulación del programa de PLC en uno de los lenguajes de


programación
⇒ Seleccionar uno de los lenguajes de programación soportados por el
sistema PLC que se utilice. Los lenguajes adecuados para la formula-
ción de sistemas de control lógico son el diagrama de contactos, el
diagrama de funciones, la lista de instrucciones y el texto estructurado.

4. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

TP301 • Festo Didactic


A-127
Ejercicio 14

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-128
Ejercicio 14

HOJA DE TRABAJO

Configurar el sistema de control

B1 B2 B3 B4
1.0 2.0

1.1 4(A) 2(B) 2.1 4(A) 2(B)

Y1 Y2 Y3
5(R) 3(S) 5(R) 3(S)
1(P) 1(P)
Esquema del circuito
electroneumático

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

TP301 • Festo Didactic


A-129
Ejercicio 14

HOJA DE TRABAJO

3. Formulación del programa de PLC en uno de los lenguajes de


programació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

Festo Didactic • TP301


A-130
Ejercicio 14

HOJA DE TRABAJO

Pregunta Responder a la siguiente pregunta:


1. ¿A través de qué señal empieza a contar el temporizador con retar-
do a la desconexión?

TP301 • Festo Didactic


A-131
Ejercicio 15

Controles lógicos programables Tema

Dispositivo elevador para paquetes Título


Secuencia lineal
Ser capaz de diseñar y representar sistemas secuenciales de control Objetivo didáctico
simples según IEC 848.
Ser capaz de programar un sistema de control secuencial consisten-
te en una secuencia lineal
Ser capaz de utilizar el lenguaje de programación Diagrama de Fun-
ciones Secuencial
Sistemas de control secuenciales Conocimientos
Los sistemas de control secuencial describen procesos que suceden técnicos
en varias etapas claramente separadas.
La transición de una etapa a la siguiente depende del estado del pro-
ceso. El proceso puede derivarse en procesos parciales en relación
con el estado del proceso establecido. B 15

Por lo tanto, el programa de un sistema de control secuencial debe


cumplir con tres funciones básicas:

• Activación y desacti-
Acciones ejecutivas:
vación de salidas
• Activación y desacti-
Etapa
vación de memorias.
• Activación y arranque
de temporizadores y
contadores

Acciones interrogativas: • Interrogación de en-


tradas y memorias
Condiciones de tran- • Interrogación de
sición (condiciones de temporizadores
habilitación de la etapa) • Interrogación de
contadores

Establecimiento de
• Selección del
recorrido para la con- recorrido
tinuación del programa • Seguimiento de reco-
ridos en paralelo
Derivaciones
Fig. A15.1:
Funciones de un
programa de control

Festo Didactic • TP301


A-132
Ejercicio 15

Representación general de un sistema de control secuencial


El diagrama de funciones secuencial según IEC 848 es adecuado para
la 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.

1 Establecer posición inicial

Pieza en almacén, cilindro 1.0 y cilindro 2.0


en posición retraída

2 S Cilindro 1.0 avanza 1

2.1: Cilindro 1.0 avanzado y


pieza expulsada

3 S Cilindro 2.0 avanza 1

3.1: Cilindro 2.0 avanzado

4 S Cilindro 2..0 retrocede 1

4.1: Cilindro 2.0 ha retrocedido

5 S Cilindro 1.0 retrocede 1

5.1: Cilindro 1.0 ha retrocedido


Fig. A15.2:
Ejemplo 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 y
transferida hacia una cinta transportadora por una rampa por medio de
un segundo cilindro 2.0.

TP301 • Festo Didactic


A-133
Ejercicio 15

Programación de un sistema de control secuencial por medio del


Diagrama de Funciones Secuencial
Los sistemas de control secuencial pueden programarse de forma fácil
y sencilla utilizando el diagrama de funciones secuencial. El diagrama de
funciones secuencial procede del diagrama de funciones según IEC 848.
El ejemplo mostrado en la fig. A15.3 ilustra la utilización del diagrama
de funciones secuencial para el control de la tarea mencionada arriba.
Etapa => Clasificación en acciones
Transición => Descripción por medio de condiciones de transición
Derivación alternativa y unión
Derivación en paralelo y unión

Cuando se pone en marcha el programa del PLC, la etapa designada


como inicial S1 se activa automáticamente. A menudo, en esta etapa
inicial 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.0
están retraídos y el almacén contiene piezas – se activa la etapa S2 y
se desactiva la S1. Hay que observar que los nombres de las etapas
representan nombres en el sentido de IEC 1131-3. Por lo tanto deben
empezar 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 campo
se especifica la variable que se verá afectada al final de la acción
indicada.
En la etapa S2, el cilindro 1.0 ha avanzado por la activación de la
bobina de la electroválvula Y1. Al llegar a su posición final delantera y
estando la pieza en posición correcta (B2 = 1), se desactiva la etapa
S2 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 la
pieza a una rampa. El cilindro 2.0 retrocede de nuevo una vez que ha
alcanzado su posición final delantera. Si el sensor B5 señala que se ha
alcanzado 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 el
programa regresa al principio. Toda la secuencia de las etapas se repi-
te de nuevo.

Festo Didactic • TP301


A-134
Ejercicio 15

VAR
Y1 AT %QX1 : BOOL; (* Bobina Y1, Cilindro 1.0 *)
Y2 AT %QX2 : BOOL; (* Bobina Y2, Cilindro 2.0 *)
B1 AT %IX1 : BOOL; (* Pieza en almacén *)
B2 AT %IX2 : BOOL; (* Pieza expulsada *)
B3 AT %IX3 : BOOL; (* Cilindro 1.0 retraído *)
B4 AT %IX4 : BOOL; (* Cilindro 1.0 extendido *)
B5 AT %IX5 : BOOL; (* Cilindro 2.0 retraído *)
B6 AT %IX6 : BOOL; (* Cilindro 2.0 extendido *)

END_VAR

S1

B1 &
B3
B5 S2 S Y1 B4

B2 &
B4
S3 S Y2 B6

B6

S4 R Y2 B5

B5

S5 R Y1 B3

B3
Fig. A15.3:
Ejemplo de un diagrama
de funciones secuencial

TP301 • Festo Didactic


A-135
Ejercicio 15

Generación de una secuencia de etapas por medio de elementos


memorizantes RS
La 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.

Etapa n-1 &


S Q Etapa n
Condiciones de habilitación
para la etapa n
Etapa n+1 R Fig. A15.4:
Representación de una
etapa
Cada etapa es asignada a un flip-flop RS. Este memoriza el estado de
cada etapa. El flip-flop correspondiente está activado, si la etapa en
proceso se está ejecutando; si la etapa está inactiva, el flip-flop se
desactiva.

Como se muestra en la fig. A15.4, las condiciones de partida para


cualquier etapa n (dentro de la secuencia de una etapa) son:
La etapa precedente n-1 está activa
Se 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 se
procesan consecutivamente.
La estructura de una secuencia de etapas se establece en detalle en la
fig. 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 como
aciones booleanas.

Festo Didactic • TP301


A-136
Ejercicio 15

VAR
Y1 AT %QX1 : BOOL; (* Bobina Y1, Cilindro 1.0 *)
Y2 AT %QX2 : BOOL; (* Bobina Y2, Cilindro 2.0 *)
B1 AT %IX1 : BOOL; (* Pieza en almacén *)
B2 AT %IX2 : BOOL; (* Pieza expulsada *)
B3 AT %IX3 : BOOL; (* Cilindro 1.0 retraído *)
B4 AT %IX4 : BOOL; (* Cilindro 1.0 extendido *)
B5 AT %IX5 : BOOL; (* Cilindro 2.0 retraído *)
B6 AT %IX6 : BOOL; (* Cilindro 2.0 extendido *)
RS_S1 : RS; (* Flip-flop para Etapa S1 *)
RS_S2 : RS; (* Flip-flop para Etapa S2 *)
RS_S3 : RS; (* Flip-flop para Etapa S3 *)
RS_S4 : RS; (* Flip-flop para Etapa S4 *)
RS_S5 : RS; (* Flip-flop para Etapa S5 *)
RS_Y1 : RS; (* Flip-flop para bobina Y1 *)
RS_Y2 : RS; (* Flip-flop para bobina Y2 *)

END_VAR

(* Programación de la secuencia de etapas *)

RS_S1
B3 &
B5 RS (* Activación del *)
S Q1 (* flip-flop para *)
RS_S2.Q1 R1 (* Etapa S1 *)

RS_S1.Q1 &
B3 RS_S2
B5
B1 RS (* Activación del *)
S Q1 (* flip-flop para *)
Fig. A15.5: RS_S3.Q1 (* Etapa S2 *)
R1
Ejemplo de una secuencia
de etapas con elementos
memorizantes RS

TP301 • Festo Didactic


A-137
Ejercicio 15

RS_S2.Q1 &
RS_S3
B4
B2 RS (* Activación del *)
S Q1 (* flip-flop para *)
RS_S4.Q1 R1 (* Etapa S3 *)

RS_S4
RS_S3.Q1 &
B6 RS (* Activación del *)
S Q1 (* flip-flop para *)
RS_S5.Q1 R1 (* Etapa S4 *)

RS_S5
RS_S4.Q1 &
RS
B5 (* Activación del *)
S Q1 (* flip-flop para *)
RS_S1.Q1 R1 (* Etapa S5 *)

(* Programación de la sección de potencia *)

RS_Y1
RS
(* Bobina Y1 para *)
RS_S2.Q1 S Q1 Y1
(* Cilindro 1.0 *)
RS_S5.Q1 R1

RS_Y2
RS
(* Bobina Y2 para *)
RS_S3.Q1 S Q1 Y2 Fig. A15.5:
(* Cilindro 2.0 *)
RS_S4.Q1 R1 Ejemplo de una secuencia
de etapas con elementos
memorizantes RS
(continuación)

La programación de la secuencia de etapas requiere una ampliación


de 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 de
flip-flops.
El programa consiste en
Secuencia de etapas
Sección de potencia (para la activación de las salidas)

Festo Didactic • TP301


A-138
Ejercicio 15

Descripción del Un transportador de rodillos es supervisado por un sensor de proximi-


problema dad B1, para comprobar si hay un paquete presente. Si es este el
caso, 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).
El cilindro 1.0 debe retroceder primero, seguido del cilindro 2.0. Los
cilindros avanzan y retroceden por medio de electroválvulas (bobinas
Y1 e Y2). Las posiciones del cilindro se supervisan por medio de los
interruptores 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

TP301 • Festo Didactic


A-139
Ejercicio 15

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 en
uno de los lenguajes FBD, LD o ST
Especificació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:

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!

⇒ Establecer las conexiones eléctricas y neumáticas.

Festo Didactic • TP301


A-140
Ejercicio 15

2. Descripción de la tarea de control por medio del diagrama de


funciones 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 del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de 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 los
lenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas directamente como
acciones booleanas.
⇒ Crear la estructura de etapas copiando los pasos en los elementos
memorizantes si el diagrama de funciones secuencial no está direc-
tamente soportado por el PLC que se utilice.

TP301 • Festo Didactic


A-141
Ejercicio 15

5. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

Festo Didactic • TP301


A-142
Ejercicio 15

TP301 • Festo Didactic


A-143
Ejercicio 15

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-144
Ejercicio 15

HOJA DE TRABAJO

Configurar el sistema de control

B2 B3 B4 B5
1.0 2.0

1.1 4(A) 2(B) 2.1 4(A) 2(B)

Y1 Y2
5(R) 3(S) 5(R) 3(S)
1(P) 1(P)
Esquema del circuito
electroneumático

2. Descripción de la tarea de control por medio del diagrama de


funciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.

TP301 • Festo Didactic


A-145
Ejercicio 15

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

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


cuencial

Festo Didactic • TP301


A-146
Ejercicio 15

HOJA DE TRABAJO

Preguntas Responder a las siguientes 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?

TP301 • Festo Didactic


A-147
Ejercicio 16

Controles lógicos programables Tema

Dispositivo elevador y clasificador para paquetes Título


Secuencia con desvío alternativo
Ser capaz de programar un sistema de control secuencial con una de- Objetivo didáctico
rivación alternativa
Sistema de control, secuencial con derivación alternativa Conocimientos
Hay sistemas de control secuencial, en los que deben preverse dife- técnicos
rentes secuencias. Una secuencia es seleccionada dependiendo de las
señales originadas por el proceso. B 15

1 Verificar posicion inicial

Pieza pequeña Pieza grande

2 S Fijar pieza 1 4 S Fijar pieza 1

2.1: Pieza fijada 4.1: Pieza fijada

3 N Estampar pieza 1 5 N Estampar pieza 1

3.1: Pieza estampada 5.1: Pieza estampada

6 S Liberar pieza 1

6.1: Pieza liberada

7 N Expulsar pieza 1

7.1: Pieza expulsada Fig. A16.1:


Ejemplo de sistema de
control secuencial con
derivación alternativa

Festo Didactic • TP301


A-148
Ejercicio 16

Un ejemplo de una secuencia de control así, puede representarse por


una herramienta de estampación que estampa piezas pequeñas o
grandes por medio de dos cilindros diferentes.
La fig. A16.1 ilustra el diagrama de funciones según IEC 848 para el
ejemplo 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 deben
excluirse 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 las
etapas 4, 5 6, y 7 después de la etapa 1.

Programación de un control secuencial con derivación alternativa


Los sistemas secuenciales representados en diagrama de funciones
según IEC 848 son fáciles de programar con el diagrama de funciones
secuenciales. 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 es
una 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 a
continuació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 con
la etapa S1.

TP301 • Festo Didactic


A-149
Ejercicio 16

VAR
B1 AT %IX1.0 : BOOL; (* pieza grande o pequeña *)
B2 AT %IX1.1 : BOOL; (* sólo para pieza grande *)
B3 AT %IX2.0 : BOOL; (* cilindro 1.0 retraído *)
B4 AT %IX2.1 : BOOL; (* cilindro 1.0 extendido *)
B5 AT %IX2.2 : BOOL; (* cilindro 2.0 retraído *)
B6 AT %IX2.3 : BOOL; (* cilindro 2.0 extendido *)
B7 AT %IX2.4 : BOOL; (* cilindro 3.0 retraído *)
B8 AT %IX2.5 : BOOL; (* cilindro 3.0 extendido *)
B9 AT %IX2.6 : BOOL; (* cilindro 4.0 retraído *)
B10 AT %IX2.7 : BOOL; (* cilindro 4.0 extendido *)
Y1 AT %QX1.0 : BOOL; (* cilindro 1.0: fijación *)
Y2 AT %QX1.1 : BOOL; (* cilindro 2.0: estampar pequ. *)
Y3 AT %QX1.2 : BOOL; (* cilindro 3.0: estampar grande *)
Y4 AT %QX1.3 : BOOL; (* cilindro 4.0: explusor *)

END_VAR

S1

B1 & NOT B2 & B3 & B1 & B2 & B3 &


B5 & B7 & B9 B5 & B7 & B9

S2 S Y1 B4 S4 S Y1 B4

B4 B4

S3 N Y2 B6 S5 N Y3 B8

B6 B8

S6 R Y1 B3

B3

S7 N Y4 B10
Fig. A16.2:
B10 Ejemplo de diagrama de
funciones secuencial con
derivación alternativa

Festo Didactic • TP301


A-150
Ejercicio 16

En el ejemplo anterior, las acciones de las etapas S3, S5 y S7 son


programadas como no-memorizantes. Esto se indica por el calificador
N. 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 directamente
en diagrama de funciones secuencial, la secuencia de etapas puede
generarse en este caso utilizando elementos memorizantes.

TP301 • Festo Didactic


A-151
Ejercicio 16

Unos paquetes son transportados hacia un dispositivo de medida en Descripción del


un transportador de rodillos para establecer su tamaño. Hay dos tama- problema
ños de paquetes diferentes: Paquetes largos y cortos. El dispositivo de
medición lineal suministra señal 0 para los paquetes cortos y señal 1
para paquetes largos.
A continuación, el paquete llega a una plataforma elevadora. La se-
cuencia empieza con el pulsador de MARCHA S1. Los paquetes son
elevados por un dispositivo elevador 1.0. A continuación los paquetes
son clasificados: los paquetes cortos se transfieren a un segundo
transportador 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 debe
retroceder 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 una
electroválvula de dos bobinas Y1 e Y2. Los cilindros 2.0 y 3.0 avanzan y
retroceden por medio de las electroválvulas de una sola bobina (bobinas
Y3 e Y4).

2.0 3.0

S1
1.0

Croquis de situación

Festo Didactic • TP301


A-152
Ejercicio 16

Definición del ejercicio Trazado del esquema del circuito y montaje del equipo
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 en
uno de los lenguajes FBD, LD o ST
Especificación de las acciones como acciones booleanas
5. Verificación y puesta a punto del programa de PLC y del sistema.

Realización 1. Trazado del esquema del circuito y montaje del equipo


⇒ 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ástico
Lista de componentes

TP301 • Festo Didactic


A-153
Ejercicio 16

Antes de cablear y conectar los tubos:


¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!

⇒ Establecer las conexiones eléctricas y neumáticas.

2. Descripción de la tarea de control por medio del diagrama de


funciones 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 del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de 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 los
lenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas directamente como
acciones booleanas.
⇒ Crear la estructura de etapas copiando los pasos en los elementos
memorizantes si el diagrama de funciones secuencial no está direc-
tamente soportado por el PLC que se utilice.

Festo Didactic • TP301


A-154
Ejercicio 16

5. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

TP301 • Festo Didactic


A-155
Ejercicio 16

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-156
Ejercicio 16

HOJA DE TRABAJO

Configurar el sistema de control

B1 B2 B3 B4 B5 B6
1.0 2.0 3.0

1.1 4(A) 2(B) 2.1 4(A) 2(B) 3.1 4(A) 2(B)

Y1 Y2 Y3 Y4
5(R) 3(S) 5(R) 3(S) 5(R) 3(S)
1(P) 1(P) 1(P)

Esquema del circuito


electroneumático

2. Descripción de la tarea de control por medio del diagrama de


funciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.
Preguntas Responder a las siguientes 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 etapas


durante la ejecución del programa?

TP301 • Festo Didactic


A-157
Ejercicio 16

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

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


cuencial

Festo Didactic • TP301


A-158
Ejercicio 16

HOJA DE TRABAJO

Pregunta Responder a la siguiente pregunta:


3. Especificar cuáles son las condiciones de transición que siempre
son ciertas. ¿Por qué se formulan estas condiciones de transición?

TP301 • Festo Didactic


A-159
Ejercicio 17

Controles lógicos programables Tema

Dispositivo de estampación con contador Título


Ciclos de conteo
Poder realizar ciclos de conteo por medio de la utilización de los módu- Objetivo didáctico
los de función estándar CTU o CTD
Los ciclos de conteo forma parte de las operaciones básicas de un Conocimientos
PLC. IED 1131-3 define tres bloques de función estándar: CTU (conta- técnicos
dor incremental), CTD (contador decremental) y CTUD (contador incre-
mental/decremental) para la realización de estas operaciones.
Bloque de función CTU, contador incremental B 14
El bloque de función CTU (fig. A17.1) realiza un contador incremental.
Su interface está definido por medio de tres parámetros de entrada y
dos de salida.

CTU
BOOL CU Q BOOL
BOOL R
INT PV CV INT
Fig. A17.1:
Bloque de función CTU

El comportamiento característico de un contador incremental es como


sigue:
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 cada
flanco ascendente en la entrada CU.
Aparece una señal 1 en la salida Q en el momento en que el valor
actual CV es igual o mayor que el valor preseleccionado PV. La
salida Q tiene valor 0 mientras el estado actual CV del contador sea
inferior al valor preseleccionado PV.

Festo Didactic • TP301


A-160
Ejercicio 17

Bloque de función CTD, contador decremental


Bloque de función CTD (fig. A17.2) siendo un contador decremental
funciona de forma opuesta al bloque de función CTU.

CTD
BOOL CD Q BOOL
BOOL LD
INT PV CV INT
Fig. A17.2:
Bloque de función CTD

El comportamiento de un contador decremental es como sigue:


Una señal 1 en la entrada LD establece el estado del contador CV
al valor preseleccionado PV.
Cada flanco ascendente en la entrada CD decrementa el estado del
contador CV en 1.
La salida Q muestra señal 0 mientras el estado actual del contador
CV sea mayor de 0. Solamente cuando el valor actual es menor o
igual a 0, aparece una señal 1 en la salida Q.

TP301 • Festo Didactic


A-161
Ejercicio 17

Uso del bloque de función CTU en cada uno de los lenguajes de


programación
La utilización del bloque de función se demuestra con un ejemplo de
una pequeña tarea de envasado.
En una caja hay que poner 12 unidades de una determinada pieza. Ejemplo
Una vez llena una caja, aparece otra. Cada ciclo de envasado se dis-
para con una memoria (flag) M_init. Las piezas son detectadas por
medio de un sensor B1. El estado del contador es copiado a una me-
moria M_new.

VAR
B1 AT %IX1.0 : BOOL; (* detecta pieza para envasar *)
M_init AT %MX1.0 : BOOL; (* detecta si el contador tiene *)
(* que ser inicializado *)
M_new AT %MX1.1 : BOOL; (* detecta si se requiere una *)
(* nueva caja *)
CTU_1 : CTU; (* Contador incremental *)
(* CTU_1 para el recuento *)

END_VAR

FBD

CTU_1
CTU Bloque de función CTU_1,
conectado con los
B1 CU Q M_new
parámetros actuales.
M_init R
12 PV CV

LD

CTU_1
B1 M_new
CTU
CU Q
M_init Interconexión del bloque de
R función CTU_1 en el renglón.

12 PV CV Tabla A17.1:
Aplicación de un
contador incremental

Festo Didactic • TP301


A-162
Ejercicio 17

IL

CAL CTU_1 (CU := B1, R := M_init, PV := 12) Invocación del bloque


de función CTU_1

LD CTU_1.Q Lectura de la salida


Q de CTU_1
ST M_new Almacenamiento del resultado
actual en M_new

ST

CTU_1 (CU := B1, R := M_init, PV := 12); Invocación del bloque


de función CTU_1

M_new := CTU_1.Q; Asignación de la salida Q


de CTU_1 a M_new
Tabla A17.1:
(Continuación)

TP301 • Festo Didactic


A-163
Ejercicio 17

En una máquina se estampan 10 piezas cada vez. El ciclo del progra- Descripción del
ma se inicia por medio de un pulsador S1. El interruptor de proximidad problema
B7 indica "Pieza en almacén". Cada pieza se alimenta hacia la máquina
por medio de un cilindro 1.0 y se sujeta. A continuación se estampa a
través del cilindro 2.0 y después se expulsa por medio del cilindro 3.0.
El cilindro de sujeción 1.0 funciona por medio de una electroválvula de
doble bobina Y1 (sujeción) e Y2 (liberación). Los cilindros 2.0 y 3.0 son
controlados por electroválvulas con retorno por muelle con las bobinas
Y3 e Y4. Las posiciones de los cilindros son detectadas por los inte-
rruptores de proximidad B1 a B6.

2.0

3.0
1.0

S1

Croquis de situación

Festo Didactic • TP301


A-164
Ejercicio 17

Definición del ejercicio 1. Trazado del esquema del circuito y montaje del equipo
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 en
uno de los lenguajes FBD, LD o ST
Especificación de las acciones
5. Verificación y puesta a punto del programa de PLC y del sistema.

Realización 1. Trazado del esquema del circuito y montaje del equipo


⇒ 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ástico
Lista de componentes

TP301 • Festo Didactic


A-165
Ejercicio 17

Antes de cablear y conectar los tubos:


¡Desconectar la alimentación!
¡Cortar el aire comprimido en la unidad de mantenimiento!

⇒ Establecer las conexiones eléctricas y neumáticas.

2. Descripción de la tarea de control por medio del diagrama de


funciones 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 del
programa.
⇒ Especificar sólo aquellas partes de la declaración requeridas por la
aplicació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ón
del ejercicio están representadas en forma tabular. Si se utilizan siste-
mas de PLC reales, las entradas y la representación de la declaración
de 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 los
lenguajes FBD, LD o ST.
⇒ Formular las acciones asociadas con las etapas. Para las acciones
consistentes 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 elementos
memorizantes si el diagrama de funciones secuencial no está direc-
tamente soportado por el PLC que se utilice.

Festo Didactic • TP301


A-166
Ejercicio 17

5. Verificación y puesta a punto de un programa y un sistema PLC

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

⇒ 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.

TP301 • Festo Didactic


A-167
Ejercicio 17

HOJA DE TRABAJO

1. Trazado del esquema del circuito y montaje del equipo


Completar el esquema eléctrico del circuito e introducir las direcciones
disponibles de entrada y salida en el PLC que se utilice.

+24V
0V

I
24V
PLC
0V
Q

0V
Esquema del
circuito eléctrico

Festo Didactic • TP301


A-168
Ejercicio 17

HOJA DE TRABAJO

Configurar el sistema de control.

B1 B2 B3 B4 B5 B6
1.0 2.0 3.0

1.1 4(A) 2(B) 2.1 4(A) 2(B) 3.1 4(A) 2(B)

Y1 Y2 Y3 Y4
5(R) 3(S) 5(R) 3(S) 5(R) 3(S)
1(P) 1(P) 1(P)

Esquema del circuito


electroneumático

2. Descripción de la tarea de control por medio del diagrama de


funciones según IEC 848
⇒ Creación del programa en diagrama de funciones según IEC 848.

TP301 • Festo Didactic


A-169
Ejercicio 17

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

Festo Didactic • TP301


A-170
Ejercicio 17

HOJA DE TRABAJO

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


cuencial

TP301 • Festo Didactic


A-171
Ejercicio 17

HOJA DE TRABAJO

Responder a la siguiente pregunta: Preguntas


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

Festo Didactic • TP301


A-172
Ejercicio 17

TP301 • Festo Didactic


B-I

Sección B – Fundamentos

Festo Didactic • TP301


B-II

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

TP301 • Festo Didactic


B-III

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

Festo Didactic • TP301


B-IV

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

TP301 • Festo Didactic


B-V

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

Festo Didactic • TP301


B-VI

Prefacio
Los Controles Lógicos Programables1) representan un factor clave en
la automatización industrial. Su utilización permite una adaptación flexi-
ble a los procesos cambiantes, así como una rápida localización de
averías y eliminación de errores.
Este libro de texto explica los principios de un control programable y su
interacción con sus periféricos.
Uno de los puntos centrales de este libro de texto trata del nuevo
estándar internacional para programación de PLCs, el IEC-1131, Parte 3.
Este estándar tiene en cuenta las ampliaciones y desarrollos, para los
cuales no existían elementos de lenguaje estandarizado hasta ahora.
El objetivo de IEC-1131-3 es estandarizar el diseño, la funcionalidad y
la programación de un PLC de tal forma que el usuario pueda manejar
con facilidad los diferentes sistemas.
En interés de la posterior mejora de este libro, se invita a los lectores a
contribuir 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 los
medios 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ógico
Programable, con su acrónimo Inglés PLC.

TP301 • Festo Didactic


B-1
Capítulo 1

Capítulo 1

El PLC en la
tecnología de automatización

Festo Didactic • TP301


B-2
Capítulo 1

1.1 Introducción El primer Control Lógico Programable (Programmable Logic Control o


PLC) fue desarrollado por un grupo de ingenieros en la General Motors
en 1968, cuando la empresa estaba buscando una alternativa para
reemplazar los complejos sistemas de control por relés.
El nuevo sistema de control tenía que cumplir con los siguientes reque-
rimientos:
Programación sencilla
Cambios de programa sin intervención en el sistema (sin tener que
rehacer el cableado interno)
Más pequeño, más económico y más fiable que los correspondien-
tes sistemas de control por relés
Sencillo y con bajo coste de mantenimiento
Los sucesivos desarrollos llevaron a un sistema que permitía la conexión
sencilla de señales binarias. Los requerimientos de cómo estaban conec-
tadas estas señales se especificaba en el programa de control. Con los
nuevos sistemas, fue posible por primera vez mostrar las señales en una
pantalla 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 han
favorecido la proliferación de los controles lógicos programables. Por
ejemplo, 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 actualidad
esto 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 son
parte 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 aplicaciones
más importantes actualmente.
1.2 Áreas de Todas las máquinas o sistemas automáticos tienen un control. Dependien-
aplicación do del tipo de tecnología utilizada, los controles pueden dividirse en neumá-
de un PLC ticos, hidráulicos, eléctricos y electrónicos. Con frecuencia se utiliza una
combinación de las diferentes tecnologías. Además, debe distinguirse entre
controles con programa cableado (es decir, conexionado físico de compo-
nentes electromecánicos (relés, etc) o componentes electrónicos (circuitos
integrados)) y controles lógicos programables. Los primeros se utilizan prin-
cipalmente en casos en los que la reprogramación por el usuario está fuera
de toda duda y el alcance de la tarea justifica el desarrollo de un sistema
de control especial. Las aplicaciones típicas de tales controles pueden ha-
llarse en los electrodomésticos, vídeo cámaras, vehículos, etc.

TP301 • Festo Didactic


B-3
Capítulo 1

Sin embargo, si la tarea de control no justifica el desarrollo de un control


especial, o si el usuario debe tener la posibilidad de hacer cambios senci-
llos, o de modificar tiempos o valores de contadores, entonces el uso de
un control universal, en el que el programa se escribe en una memoria
electrónica, es la opción preferida. El PLC representa un control universal.
Puede utilizarse para diferentes aplicaciones y, dado que el programa se
halla escrito en su memoria electrónica, el usuario puede modificar, am-
pliar y optimizar con cierta sencillez sus procesos de control.

Fig. B1.1:
Ejemplo de aplicación
de un PLC

La tarea original de un PLC es la interconexión de señales de entrada, de


acuerdo con un determinado programa y, si el resultado de esta interco-
nexión es "cierta", activar la correspondiente salida. El álgebra de Boole
forma 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éase
también el capítulo 3). Consecuentemente, una salida sólo asume estos
dos estados. Por ejemplo, una electroválvula conectada a la salida puede
estar activada o desactivada, es decir, controlada.

Festo Didactic • TP301


B-4
Capítulo 1

Esta función ha acuñado el nombre de PLC: Programmable Logic


Control o Control Lógico Programable. En él, el comportamiento de
las entradas/salidas es similar al de los controles realizados con relés
electromagné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 de
automatizació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 el
control directo, es decir, la facilidad de intervenir en los procesos de
control o, alternativamente, impedir tal intervención a las personas no
autorizadas. También se ha visto la necesidad de interconectar y armo-
nizar sistemas individuales controlados por PLC, por medio de redes o
buses de campo. Aquí, un ordenador master permite la generación de
órdenes de mayor nivel para el procesamiento de programas en los
diversos sistemas PLC interconectados.
La conexión en red de varios PLCs, así como la de un PLC con el
ordenador master se realiza por medio de interfaces de comunicación
especiales. 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 y
capacidad 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ón
de señales analógicas permite la comparación de valores reales con
los de consigna y, como consecuencia, la realización de funciones de
regulación automática; una tarea que va más allá del ámbito que su-
giere el nombre de control lógico programable.

TP301 • Festo Didactic


B-5
Capítulo 1

Los PLCs que existen actualmente el mercado han sido adaptados a los
requerimientos de los clientes hasta tal punto que ya es posible adquirir
un 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 de
entradas/salidas, módulos analógicos y de comunicación. Hay PLCs
disponibles 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 otros
componentes de automatización, creando así áreas considerablemente
amplias de aplicación.

Fig. B1.2:
Ejemplo de un PLC:
AEG Modicon A120

El término ’Control Lógico Programable’ se define en IEC 1131, Parte 1, 1.3 Definición básica
como sigue: de un PLC
"Un sistema electrónico de funcionamiento digital, diseñado para ser
utilizado en un entorno industrial, que utiliza una memoria programable
para 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, a
través de entradas y salidas digitales o analógicas, diversos tipos de
máquinas o procesos. Tanto el PLC como sus periféricos asociados
está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."

Festo Didactic • TP301


B-6
Capítulo 1

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

Programa PLC

Módulo de entrada Unidad Central Módulo de salida

Fig. B1.3:
Componentes de un Sensores Actuadores
sistema PLC

La función de un módulo de entrada es la de convertir señales de


entrada en señales que puedan ser procesadas por el PLC y pasarlas
a la unidad de control central. La tarea inversa es realizada por el
mó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 unidad
central 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 de
instrucciones parecidas al lenguaje ensamblador (assembler) en ’lista
de instrucciones’, en lenguajes de alto nivel orientados al problema,
tales como el texto estructurado, o en forma de diagrama de flujo como
se representa en el diagrama de funciones secuencial. En Europa, la
utilizació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 por
los 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.

TP301 • Festo Didactic


B-7
Capítulo 1

La Fig. B1.4 muestra el control FX0 de Mitsubishi, representando un


ejemplo de un PLC compacto.

Fig. B1.4:
PLC compacto
(Mitsubishi FX0),
PLC Modular
(Siemens S7-300),
PLC con tarjetas
(Festo FPC 405)

Los PLCs modulares pueden configurarse individualmente. Los módu-


los requeridos por la aplicación práctica – aparte de los módulos de
entradas/salidas digitales que pueden, por ejemplo, incluir módulos
analógicos , de posicionamiento y comunicación – se insertan en un
rack, en el que todos los módulos están enlazados por un sistema de
bus. Este diseño se conoce también como tecnología modular. Dos
ejemplos de PLCs modulares se muestran en la Figs. B1.2 y B1.4.
Estos representan la familia modular de PLC de AEG Modicon y el
S7-300 de Siemens.
Existe una amplia gama de variantes, particularmente en el caso de las
PLCs más recientes. Esto incluyen tanto las características compactas
como las modulares y características importantes tales como el ahorro
de 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).

Festo Didactic • TP301


B-8
Capítulo 1

El diseño del hardware de un control lógico programable está hecho de


forma que pueda soportar los entornos típicos industriales en cuanto a
los niveles de las señales, calor, humedad, fluctuaciones en la alimen-
tación de corriente e impactos mecánicos.

1.4 El nuevo estándar A finales de los setenta, se plantearon en Europa algunos estándares
para PLC, válidos para la programación de PLCs, enfocados principalmente al es-
IEC-1311 tado de la tecnología en aquel momento. Tenían en cuenta sistemas
de PLC no interconectados, que realizaban operaciones lógicas con
señales binarias. DIN 19 239, por ejemplo, especifica un lenguaje de
programación que posee las correspondientes instrucciones para estas
aplicaciones.
Anteriormente, no existían elementos de lenguaje estandarizados ni
equivalentes para el desarrollo de programas de PLC. Los desarrollos
aparecidos en los años ochenta, tales como el procesamiento de seña-
les analógicas, interconexión de módulos inteligentes, sistemas de PLC
en red, etc. agravaron el problema. Consecuentemente, los sistemas
PLC de diferentes fabricantes requerían técnicas de programación
completamente diferentes.
Desde 1992, existe un estándar internacional para controles lógicos
programables y dispositivos periféricos asociados (herramientas de
programación y diagnosis, equipos de verificación, interfaces hombre-
máquina, etc.). En este contexto, un dispositivo configurado por el
usuario 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 general
Parte 2: Requerimientos y verificaciones del equipo
Parte 3: Lenguajes de programación
Parte 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 el
estándar Europeo EN 61 131, Partes 1 a 3.
La finalidad del nuevo estándar era definir y estandarizar el diseño y
funcionalidad de un PLC y los lenguajes requeridos para la programa-
ción hasta un grado en el que los usuarios pudieran hacer funcionar
sin ninguna dificultad los diferentes sistemas de PLC de los distintos
fabricantes.

TP301 • Festo Didactic


B-9
Capítulo 1

Los siguientes capítulos tratarán con detalle sobre este estándar. Por
el momento, será suficiente la siguiente información:
El nuevo estándar tiene en cuenta la mayoría de aspectos posibles
en relación con el diseño, aplicación y utilización de sistemas PLC.
Las amplias especificaciones sirven para definir sistemas de PLC
abiertos y estandarizados.
Los fabricantes deben ajustarse a las especificaciones de este es-
tándar, tanto en el aspecto puramente técnico de los requerimientos
de un PLC como en lo que se refiere a la programación de tales
controles.
Todas las variaciones deben ser completamente documentadas
para el usuario
Tras unas reticencias iniciales, se ha formado un grupo relativamente
grande de personas interesadas (PLCopen) para apoyar este estándar.
La mayoría de los principales proveedores de PLC son miembros de la
asociación, es decir, Allen Bradley, Klöcker-Moeller, Philips, para men-
cionar algunos. Otros fabricantes de PLC como Siemens o Mitsubishi
también ofrecen controles y sistemas de programación conformes con
IEC-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 tiene
una buena oportunidad de aceptación y de éxito. Esperamos que este
libro de texto contribuirá, en cierto modo, al desarrollo de este estándar.

Festo Didactic • TP301


B-10
Capítulo 1

TP301 • Festo Didactic


B-11
Capítulo 2

Capitulo 2

Fundamentos

Festo Didactic • TP301


B-12
Capítulo 2

2.1 El sistema de La característica del sistema de numeración decimal, comunmente utili-


numeración zado, es la disposición lineal de los dígitos y su emplazamiento signifi-
decimal cativo. El número 4344, por ejemplo, puede representarse como sigue:
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 significado
diferente del número 4 situado en el extremo derecho.
La base del sistema de numeración decimal es la disponibilidad de 10
dígitos diferentes (decimal: originario del latín ’decem’ = 10). Estos diez
diferentes dígitos permiten contar de 0 a 9. Si la cuenta sobrepasa el
número 9, esto constituye un arrastre para el dígito de la siguiente
posició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:

107 106 105 104 103 102 101 100

7 1 7 1 8 7 1 1
Ejemplo

Como puede verse arriba, el significado del "7" en el extremo izquierdo


es 70 000 000 = 70 millones, mientras que el significado del "7" en la
tercera 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 en
este ejemplo, cuya estructura fundamental puede aplicarse a sistemas
de numeración de cualquier cantidad de dígitos. Consecuentemente,
cualquier operación de cálculo y método de computación que utilice el
sistema de numeración decimal puede ser utilizado con otros sistemas
de numeración.

2.2 El sistema de Fue Leibnitz quien aplicó por primera vez las estructuras del sistema
numeración de numeración decimal al cálculo con dos dígitos. Allá por el año 1679,
binario esto creó las premisas esenciales para el desarrollo de los actuales
ordenadores, ya que la tensión eléctrica o la corriente eléctrica, sólo
permite un cálculo utilizando dos valores: es decir "circula corriente" o
"no circula corriente". Estos dos valores se representan en forma de
dígitos "1" y "0".

TP301 • Festo Didactic


B-13
Capítulo 2

Si en un número estuviéramos limitados a exactamente 2 dígitos por


posición, el sistema de numeración quedaría configurado como sigue:

27=128 26=64 25=32 24=16 23=8 22=4 21=2 20=1

1 0 1 1 0 0 0 1
Ejemplo

El principio es exactamente el mismo que el del método utilizado para


crear 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 extremo
derecho es 20 = 1, y para la siguiente posición 21 = 2, etc. Dado el uso
exclusivo de dos dígitos, este sistema de numeración se conoce como
sistema 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 del
sistema binario es de 1 bit.
En el ejemplo citado arriba, se ha configurado un número consistente
en 8 bits, es decir, un byte (en un ordenador que utilice 8 señales
eléctricas representando "tensión disponible" o "tensión no disponible").
El número considerado, 1011 00012, corresponde al valor decimal
17710.

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

= 177
Ejemplo

Festo Didactic • TP301


B-14
Capítulo 2

2.3 El código BCD Para las personas acostumbradas a tratar con el sistema decimal, los
números binarios son difíciles de leer. Por esta razón, se introdujo una
representación numérica de más fácil lectura, es decir, una notación
decimal codificada de un número binario: el denominado BCD (binary
coded decimal). Con este código BCD, cada dígito del sistema de nu-
meración decimal representa a su correspondiente número binario.

010 0000BCD

110 0001BCD

210 0010BCD

310 0011BCD

410 0100BCD

510 0101BCD

610 0110BCD

710 0111BCD
Tabla B2.1: 810 1000BCD
Representación de
números decimales en 910 1001BCD
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 4
dí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 decimal
de cuatro dígitos en código BCD. La codificación en BCD se utiliza a
menudo para visualizadores de siete segmentos y para interruptores
rotativos de introducción de valores.

2.4 El sistema de La utilización de números binarios es difícil y la utilización del código


numeración BCD ocupa bastante espacio de memoria. Por esta razón se desarro-
hexadecimal llaron los sistemas octal y hexadecimal. En el caso del sistema octal se
utilizan grupos de tres dígitos. Esto permite contar de 0 hasta 7, es
decir, contar con "ochos".

TP301 • Festo Didactic


B-15
Capítulo 2

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 al
15, es decir, contar en "dieciseises". Para representar estos números
se 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ón
significativa de cada dígito se evalúa con las potencias de 16.

163=4096 162=256 161=16 160=1

8 7 B C
Ejemplo

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- 2.5 Números binarios
vos, sin tener en cuenta los números negativos. Para poder trabajar con signo
con 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 el
signo: así "0" corresponde al "+" y "1" al "–".
Así, 1111 11112 = -12710 y 0111 11112 = +12810
Cuando se utiliza el bit más significativo para el signo, se dispone de
un bit menos para la representación de un número con signo. Para la
representación de un número binario de 16 dígitos, se obtiene el si-
guiente margen de valores:

Entero Margen de valores

sin signo 0 a 65535 Tabla B2.2:


Margen de valores para
con signo -32768 a +32767 los números binarios

Aunque ahora ya es posible representar con 0 y 1 números enteros 2.6 Números reales
positivos con signo, aún hay la necesidad de poder representar los
decimales o números reales.
Para representar un número real en notación binaria de ordenador, el
número se descompone en dos grupos, una potencia de 10 y un factor
de multiplicación. Esto se conoce también como notación científica de
números.

Festo Didactic • TP301


B-16
Capítulo 2

El número 27,334 se convierte así en 273 341 x 10-4. Por lo tanto se


necesitan dos números enteros con signo para representar un número
real en un ordenador.

2.7 Generación de Como ya parece haber quedado claro en la sección anterior, todos los
señales ordenadores, y por lo tanto todos los PLCs, funcionan utilizando seña-
digitales y les digitales o binarias. Por binario, entendemos una señal que sólo
binarias reconoce dos valores definidos.

0
Fig. B2.1: t
Señal binaria

Estos valores se les llama "0" o "1", aunque también se utilizan los
términos "bajo" y "alto". Las señales pueden realizarse muy fácilmente
con componentes de contactos. Un contacto activado corresponde a
una señal de lógica 1 y uno sin activar a una de lógica 0. Cuando se
trabaja con elementos sin contacto, esto puede forzar unos ciertos
má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.

V
30

margen señal-1

11

5
margen señal-0
0
-3 t

Fig. B2.2:
Márgenes de tensión

TP301 • Festo Didactic


B-17
Capítulo 2

IEC 1131-2 define un margen de valores de -3 V a 5 V como señal de


lógica 0, y de 11 V a 30 V como señal de lógica 1. Esto es de obligado
cumplimiento para PLCs cuya tecnología deba seguir la norma IEC
1131-2. En la práctica existen tensiones muy parecidas para lógica 0 y
lógica 1: Ampliamente usadas son: -30 V a +5V para lógica 0 y +13 V
a +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ón
muestra tres posibles métodos de convertir una señal analógica en una
señal digital.

V
6 Señal digital
Señal analógica en base de 0,5 V

5
Señal digital
en base de 1 V
4

2
Señal digital
en base de 3 V
1
Fig. B2.3:
0 Conversión de una
t señal analógica en
una señ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 a
través de un PLC. Consecuentemente, una señal de entrada analógica
en 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 digital
será 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ño
para poder reproducir la señal analógica con la mayor precisión posible.

Festo Didactic • TP301


B-18
Capítulo 2

Un ejemplo simple de una señal analógica es la presión, que se mide y


se 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 diferencia
de 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, las
señales analógicas de tensión se evalúan y se convierten.
Por otra parte, las señales digitales pueden formarse reuniendo un
cierto número de señales binarias. De esta forma, de nuevo como se
ha descrito en el párrafo anterior, con ocho señales binarias es posible
generar una señal digital con 256 valores.

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 Ejemplo 3 0 0 0 0 0 0 0 0 0

Este proceso se utiliza, por ejemplo, para la realización de temporiza-


dores o de contadores.

TP301 • Festo Didactic


B-19
Capítulo 3

Capítulo 3

Operadores Booleanos

Festo Didactic • TP301


B-20
Capítulo 3

Funciones lógicas Como se ha descrito en el capítulo anterior, cualquier ordenador e


básicas igualmente cualquier PLC, funcionan utilizando el sistema de numera-
ción de base 2. Esto se aplica también a los sistemas octal (23) y
hexadecimal (24). Por ello, las variables individuales pueden asumir
sólo dos valores, "0" o "1". Se utilizan unas matemáticas especiales
para 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.
Función NOT, negación
El pulsador mostrado representa un contacto normalmente cerrado.
Cuando no está físicamente accionado, el piloto H1 luce, mientras que
en estado accionado, el piloto H1 se apaga.

24V

S1
(I)

H1
(O)
0V
Fig. B3.1:
Esquema del circuito

El pulsador S1 actúa como una señal de entrada, el piloto constituye la


salida. El estado actual puede ser registrado en una Tabla de la verdad:

I O

0 1

1 0
Tabla de la verdad

Por lo tanto, la Ecuación Booleana es como sigue:


I = O (léase: No-I igual a O)

TP301 • Festo Didactic


B-21
Capítulo 3

El símbolo lógico es:

I 1 O

Fig. B3.2:
Función NOT

Dos negaciones consecutivas se cancelan entre sí.

I=I

I 1 I 1 I
Fig. B3.3:
Dos funciones
l’ógicas NOT

Función AND, conjunción


Si dos contactos abiertos se conectan en serie, el piloto conectado
sólo lucirá si ambos pulsadores están físicamente accionados.

24V

S1
(I1)

S2
(I2)

H1
(O)
0V
Fig. B3.4:
Esquema del circuito

Festo Didactic • TP301


B-22
Capítulo 3

I1 I2 O

0 0 0

0 1 0

1 0 0

1 1 1
Tabla de la verdad

La tabla de la verdad asigna la conjunción. La salida asume el valor 1


sólo si ambas entradas 1 y 2 se hallan con señal 1. Esto se conoce
como una operación AND (operación Y), que se representa con la si-
guiente ecuación:
I1 ∧ I2 = O

I1 &
O
I2

Fig. B3.5:
Función AND
Además, valen las siguientes ecuaciones para la conjunción
a∧0=0
a∧1=a
a∧a=0
a∧a=a

TP301 • Festo Didactic


B-23
Capítulo 3

Función OR, disyunción


Otra 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 que
por menos uno de los pulsadores se halle físicamente accionado.

24V

S1 S2
(I1) (I2)

H1
(O)
0V
Fig. B3.6:
Esquema del circuito

I1 I2 O

0 0 0

0 1 1

1 0 1

1 1 1
Tabla de la verdad

I1 >=1
O
I2
Fig. B3.7:
Función OR

La operación lógica se escribe en forma de la siguiente ecuación:


I1 ∨ I2 = O

Festo Didactic • TP301


B-24
Capítulo 3

Valen también las siguientes ecuaciones para la disyunción:


b∨0=b
b∨1=1
b∨b=b
b∨b=1

3.2 Otras operaciones En la sección B3.1 se ha descrito la realización eléctrica de las opera-
lógicas ciones NOT-/AND-/OR. Naturalmente, cada una de estas funciones
puede 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.

Tabla B3.1:
Conexiones lógicas

Nombre Ecuación Tabla verd. Símbolo lógico Realización neumática Realiz. eléctrica Realiz. electrónica
+

I
I O I O
I
Identidad I=A 0 0 I 1 O O
1 1
R
O

I
I O I O R

Negación I=O 0 1 I 1 O
1 0 O
I

O
I1
I1 I2 O R

I1 0 0 0 I1
Conjunción I2 = O & O I2
>

0 1 0 I2
I1 I2 I1 O
1 0 0
1 1 1
O I2

I1 O
O
I1 I2 I2
I1 I2 O
0 0 0 I1 >=1
Disyunción I1 I2 = O O
>

0 1 1 I2
1 0 1 I1 I2
R
1 1 1
O

TP301 • Festo Didactic


B-25
Capítulo 3

Tabla B3.1:
Conexiones lógicas
(continuación)

Nombre Ecuación Tabla verd. Símbolo lógico Realización neumática Realiz. eléctrica Realiz. electrónica
O

I1 I1
I1 I2 O
I1 0 0 0 I1
Antivalencia I2 = O 1 O I1 I2
> >

0 1 1 I2 I2
( OR I1 I2 = O I2 O
1 0 1
exclusiva) 1 1 0
I1 I2 O

I1
I1 I2 O I1
0 0 1 I1
Equivalencia I1 I2 = O I1 I2 I2
> >
>

0 1 0 I2
I1 I2 = O 1 0 0 I2 O
1 1 1
I1 I2 O

O R R
I1 K1
I1 I2 O
I1 O
I1 0 0 1 I1
NAND I2 = O & O I2
>

0 1 1 I2
1 0 1 I1 I2 I2
1 1 0 K1 O

O I1 I2 K1 R
I1 I2 O
I1 O
I1 I2 = O 0 0 1 >=1 I1
NOR O
>

0 1 0 I2
1 0 0 I1 I2
I2
1 1 0 K1 O
R

Festo Didactic • TP301


B-26
Capítulo 3

3.3 Establecimiento Derivación de ecuaciones booleanas de la tabla de la verdad


de funciones de A menudo, las operaciones lógicas mostradas en la sección anterior no
conmutación son suficientes para describir adecuadamente un estado en la tecnolo-
gía de control.
A menudo, hay combinaciones de diferentes operaciones lógicas. La
conexió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ón
Diversas piezas para cocinas prefabricadas son mecanizadas en un
sistema de producción (máquina de taladrar y fresar). A los laterales y
a las puertas de ciertos tipos de cocina se les han hecho diferentes
disposiciones de agujeros. Los sensores B1 a B4 están previstos para
la detección de estos agujeros.

1.0
B4
B3
B1
B2

Fig. B3.8:
estación de clasificación

Las piezas con la siguiente distribución de agujeros son para el tipo de


cocina ’Estándar’. Estas piezas deben extraerse de la cinta transporta-
dora por medio del cilindro de doble efecto 1.0.

TP301 • Festo Didactic


B-27
Capítulo 3

d b d d

a c a a c

d b d b d Fig. 3.9:
Distribución de los
agujeros en las piezas

Asumiendo que un taladro realizado se lee como señal-1, se obtiene la


siguiente 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 1
Tabla de la verdad

Festo Didactic • TP301


B-28
Capítulo 3

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 las
mismas circunstancias.
Forma estándar disyuntiva
En la forma estándar disyuntiva, se agrupan todas las conjunciones
(operaciones AND) de las variables de entrada que producen la señal
de salida 1, en una operación disyuntiva (operación OR). El estado 0
de la señal de entrada se toma como valor negado, y el estado 1 de la
señal de entrada, como no-negada (directa).
Por lo tanto, en el caso del ejemplo dado, la operación lógica es la
siguiente:
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 conjuntiva


En la forma estándar conjuntiva, se agrupan todas las disyunciones
(operaciones OR) de las variables de entrada que producen la señal
de salida 0, en una operación conjuntiva (operación AND). A diferencia
de la forma estándar disyuntiva, en este caso la variable de entrada es
negada 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)

3.4 Simplifiación de Ambas ecuaciones para el ejemplo dado son bastante amplias, si bien
funciones lógicas má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 la
ecuación. En este caso la forma estándar disyuntiva.
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 propiedades
del álgebra de Boole,

TP301 • Festo Didactic


B-29
Capítulo 3

Las propiedades más importantes del álgebra de Boole se muestran a


continuación:
a ∨ 0 = a a ∧ 0 = 0
a ∨ 1 = 1 a ∧ 1 = a
a ∨ a = a a ∧ a = a
a ∨ a = 1 a ∧ a = 0

Propiedad conmutativa
a∨b=b∨a a∧b=b∧a

Propiedad asociativa
a ∨ b ∨ c = a ∨ (b ∨ c) = (a ∨ b) ∨ c
a ∧ b ∧ c = a ∧ (b ∧ c) = (a ∧ b) ∧ c

Propiedad distributiva
a ∧ (b ∨ c) = (a ∧ b) ∨ (a ∧ c)
a ∨ (b ∧ c) = (a ∨ b) ∧ (a ∨ c)

Ley de De Morgan
a∨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 sido
expresamente omitido en las ecuaciones indicadas.
El principio básico de la simplificación es sacar el factor común de las
variables y reducir las expresiones definidas. Sin embargo, este méto-
do requiere un buen conocimiento de las propiedades del álgebra de
Boole y un cierto grado de práctica. Otra opción para la simplificación
se presenta en la siguiente sección.

Festo Didactic • TP301


B-30
Capítulo 3

3.5 Diagrama de En el caso de los diagramas de Karnaugh-Veitch (KV) la tabla de la


Karnaugh-Veitch verdad de transforma en una tabla de valores.

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 16
Tabla de valores

Para el ejemplo se dispone de un total de 16 posiciones, con lo que la


tabla de valores debe tener también 16 cuadrados.

cd cd cd cd

ab 1 2 3 4

ab 5 6 7 8

ab 9 10 11 12

ab 13 14 15 16
Fig. B3.1:
Tabla de valores

TP301 • Festo Didactic


B-31
Capítulo 3

El resultado de la tabla de la verdad se transfiere al diagrama KV tal


como 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.

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

El siguiente paso consiste en la combinación de los estados para los


cuales se ha introducido un "1" en la tabla de valores. Esto se hace en
bloques, observando las siguientes reglas:
La combinación de estados en el diagrama KV debe ser en forma
de rectángulo o de cuadrado
La cantidad de estados combinados debe ser el resultado de una
funció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

y1 y2 Fig. B3.12:
Tabla de valores

Festo Didactic • TP301


B-32
Capítulo 3

Los valores de las variables, se seleccionan para el bloque establecido


y 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 5


variables, por ejemplo, se producirían 32 casillas (25) y con 6 variables
64 casillas (26).

TP301 • Festo Didactic


B-33
Capítulo 4

Capítulo 4

Diseño y modo de funcionamiento


de un PLC

Festo Didactic • TP301


B-34
Capítulo 4

4.1 Estructura de En los ordenadores, generalmente se distingue entre hardware, firmwa-


un PLC re y software. Los mismo se aplica a los PLCs, ya que esencialmente
también están basados en un microprocesador.
El Hardware se refiere a las partes físicas del dispositivo, el decir, los
circuitos impresos, los circuitos integrados, el cableado, la batería, el
chasis, etc.
El firmware los constituyen aquellos programas (software) que se ha-
llan permanentemente instalados en el hardware del ordenador y que
son suministrados por el fabricante del PLC. Esto incluye las rutinas
fundamentales del sistema, utilizadas para poner en marcha el proce-
sador al aplicar la tensión. Adicionalmente, hay el sistema operativo
que, en el caso de los controles lógicos programables, generalmente
se halla almacenado en una memoria ROM de sólo lectura o en una
EPROM.
Finalmente, hay el software, que es el programa escrito por el usuario
del PLC. Los programas de usuario se instalan generalmente en la
memoria RAM, una memoria de acceso aleatorio, en donde pueden
ser fácilmente modificados.

Bus de datos

Micro- ROM RAM Módulos Módulos


procesador de entradas de salidas
(CPU) Sistema Programas
operativo y Datos
Bus de
direcciones

Fig. B4.1: Bus de control


Diseño fundamental de
un microordenador

La Fig. B4.1 ilustra el diseño fundamental de un microordenador. El


hardware 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 divididas
en líneas de direcciones, de datos y de control. La línea de direcciones
se utiliza para seleccionar la dirección de un elemento conectado al
bus y la línea de datos para transmitir la información requerida. Las
líneas de control son necesarias para habilitar el dispositivo conectado
el bus como emisor o como receptor..

TP301 • Festo Didactic


B-35
Capítulo 4

Los principales elementos conectados al sistema de bus son el micro-


procesador y la memoria. La memoria puede dividirse en memoria para
el firmware y memoria para el programa y los datos del usuario.
Según la estructura del PLC, los módulos de entradas y salidas se
conectan a un simple bus común o – con la ayuda de un interface de
bus – a un bus externo de E/S. Especialmente en el caso de grandes
sistemas modulares de PLC, es más usual un bus externo de E/S.
Finalmente, se necesita una conexión para el aparato programador o
un PC, actualmente y en la mayoría de los casos en forma de un
interface serie.
La Fig. B4.2 ilustra el FPC 101 de Festo como ejemplo.

Fig. B4.2:
Control Lógico Programable
Festo FPC 101

Festo Didactic • TP301


B-36
Capítulo 4

4.2 Unidad Central En esencia, la unidad central de un PLC consiste en un microordena-


de un PLC dor. El sistema operativo del fabricante del PLC hace que el ordenador
que hay en el PLC esté optimizado específicamente para tareas de
tecnología de control.
Diseño de la unidad central
La Fig. B4.3 muestra una versión simplificada de un microprocesador,
que representa el corazón de un microordenador.

Bus de datos

ALU Registro de instrucciones


Bus de control Bus de control

Acumulador Contador de programa

Unidad aritmética Unidad de control

Bus de
Fig. B4.3: direcciones
Diseño de un
microprocesador

Un microprocesador consiste principalmente en una unidad aritmética y


lógica, una unidad de control y un pequeño número de unidades de
memoria internas, denominadas registros.
La tarea de la unidad aritmética y lógica – la ALU (arithmetic logic
unit) – es ejecutar las operaciones lógicas y aritméticas con los datos
transmitidos.
El acumulador, AC para abreviar, es un registro especial asignado
directamente 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 y
ejecutada.
Una orden o instrucción (command) tiene una parte de ejecución y una
parte de dirección. La parte de ejecución indica qué operación debe
realizarse. 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.

TP301 • Festo Didactic


B-37
Capítulo 4

El contador de programa es un registro, que contiene la dirección de


la 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 central


Los sistemas microordenadores convencionales de hoy en día funcio-
nan según el denominado "principio de von-Neumann". Según este
principio, el ordenado procesa el programa línea a línea. En términos
sencillos, podríamos decir que cada línea del programa de usuario del
PLC es procesada secuencialmente.
Esto es válido independientemente del lenguaje de programación en el
que haya sido escrito el programa de PLC, sea en forma textual (lista
de instrucciones) o en forma gráfica (diagrama de contactos, diagrama
de funciones secuencial). Dado que estas diversas formas de repre-
sentación siempre resultan en una serie de líneas de programa dentro
del ordenador, se procesan consecuentemente una tras otra.
En principio, una línea de programa, es decir, generalmente una orden
se procesa en dos etapas:
recogida de la orden desde la memoria de programa
ejecución de la orden

Bus de datos
Microprocesador Memoria

Instrucción Registro de
instrucciones

Señales de control Instrucción

Contador de
programa
+1
Direcciones

Bus de direcciones Fig. B4.4:


Secuencia de instrucciones

Festo Didactic • TP301


B-38
Capítulo 4

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 en
la dirección especificada de la memoria del programa, sea depositada
en 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 permita
esta secuencia. Esta tarea se realiza por un simple incrementador, es
decir, un elemento de habilitación de pasos en el contador de programa.

4.3 Modo de Los programas para el procesamiento convencional de datos, general-


funcionamiento mente se procesan una sola vez, de arriba a abajo y terminan. A dife-
de un PLC rencia de estos, el programa de un PLC se procesado continua y cícli-
camente.

Tabla de imagen
Entradas Entradas

Programa PLC

Tabla de imagen
Salidas Salidas

Fig. B4.5:
Procesamiento cíclico
de un programa de PLC

TP301 • Festo Didactic


B-39
Capítulo 4

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, al
inicio del ciclo, el estado de las entradas es almacenado en la tabla
de imagen de entradas. La imagen del proceso es una zona de
memoria aparte a la que se accede durante un ciclo. Así, el estado
ló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 inmediatamente
activadas o desactivadas durante un ciclo, sino que su estado es
almacenado temporalmente en la tabla imagen de salidas. Solamen-
te al final del ciclo se activan o desactivan físicamente las salidas
segú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 la
instrucció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ás
largo sea el programa y cuanto más tiempo necesite el PLC respectivo
para procesar cada línea del programa, tanto más largo será el tiempo
de ciclo. Los tiempos reales de ciclo varían aproximadamente entre 1 y
100 milisegundos.
Las consecuencias del procesamiento cíclico de un programa de PLC
que 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 la
presencia de una señal de entrada y la deseada reacción de una
salida ante esta señal.
Dado que las instrucciones se procesan secuencialmente, el com-
portamiento específico de la secuencia de un programa de PLC
puede 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 es
posible en algunos sistemas PLC.

Festo Didactic • TP301


B-40
Capítulo 4

4.4 Memoria de Los programas específicamente desarrollados para determinadas apli-


programas de caciones requieren una memoria de programa, de la cual puedan ser
aplicación leídos por la unidad central. Los requerimientos para tal memoria de
programa son relativamente simples de formular:
Debería ser lo muy sencilla de modificar o de crear y almacenar
nuevos programas con la ayuda de un dispositivo programador o un PC.
Debe haber mecanismos que aseguren que el programa no pueda
perderse – incluso ante un fallo de tensión o por tensiones de inter-
ferencia
La memoria de programa debe ser económica
La memoria de programa debería ser suficientemente rápida para
no retardar el funcionamiento de la unidad central.
Actualmente, se utilizan tres tipos de memoria en la práctica:
RAM
EPROM
EEPROM

RAM
La memoria RAM (random acceso memory/memoria de acceso aleato-
rio) es una memoria muy rápida y económica. Dado que la memoria
principal de los ordenadores (y también de los PLCs) consiste en me-
morias RAM, se producen en grandes cantidades, lo que le permite
disponer de tales memorias a costes relativamente bajos.
Las RAMs son memorias de lectura/escritura y pueden programarse y
modificarse fácilmente.
La desventaja de una RAM es que es volátil, es decir, el programa
almacenado 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 una
batería, acumulador o pila. Dado que la vida útil y la capacidad de las
modernas pilas les permiten durar varios años, el respaldo de una
RAM por pila es relativamente simple. A pesar de que se utilizan pilas
o baterías de altas prestaciones, es esencial sustituirlas en las fechas
indicadas por el fabricante del PLC.

TP301 • Festo Didactic


B-41
Capítulo 4

EPROM
La EPROM (erasable programmable read-only memory /memoria de
sólo lectura, programable y borrable) también es una memoria rápida y
de bajo coste y, en comparación con la RAM tiene la ventaja añadida
de que no es volátil, es decir, es remanente. Por ello, el contenido de
la memoria permanece inalterable incluso ante un fallo de tensión.

Fig. B4.6:
Ejemplo de una EPROM

Sin embargo, a efectos de modificar un programa, debe borrarse pri-


mero toda la memoria y, tras un tiempo de enfriamiento, reprogramarse
completamente. El borrado requiere generalmente un dispositivo borra-
dor y para su programación se utiliza un dispositivo especial (grabador
de EPROMs).
A pesar de su relativamente complejo proceso de borrado, – enfriado –
reprogramación, las EPROMs se utilizan con bastante frecuencia en
los PLCs ya que poseen una gran fiabilidad y un bajo coste. En la
prá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 en
marcha, el programa se transfiere a una EPROM.

EEPROM
La 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 utilizadas
desde hace algún tiempo. La EEPROM es especial, es ampliamente
utilizada como memoria de aplicación en PLCs. La EEPROM es una
memoria borrable eléctricamente, que puede reescribirse.

Festo Didactic • TP301


B-42
Capítulo 4

4.5 Módulo de El módulo de entradas de un PLC es el módulo al cual están conecta-


entradas 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 de
entradas (para la aplicación) es como sigue:
Detección fiable de la señal
Ajuste de la tensión, desde la tensión de control a la tensión lógica
Protección de la electrónica sensible de las tensiones externas
Filtrado de las entradas

Detección Optoacoplador Señal a la


Señal de Retardo de
entrada de error de unidad de
tensión la señal control
Fig. B4.7:
Diagrama de bloques
de un módulo de entradas

El principal componente de los actuales módulos de entradas, que


cumple con estos requerimientos es el optoacoplador.
El optoacoplador transmite la información del sensor por medio de la
luz, creando así un aislamiento eléctrico entre el control y los circuitos
lógicos, protegiendo con ello a la sensible electrónica de las tensiones
espú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 corriente
de una tensión de mando de 24 V, puede realizarse con la ayuda de
un circuito diodo/resistencia. En el caso de 220 V AC, se conecta un
rectificador en serie.
Dependiendo del fabricante del PLC, se asegura una detección fiable
de la señal por medio un detector de umbral adicional o los correspon-
dientes de diodos y optoacopladores. Los datos precisos en relación
con las señales a detectar se especifican en DIN 19240.

TP301 • Festo Didactic


B-43
Capítulo 4

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 las
señales pueden protegerse con apantallamientos, canaletas metálicas
o, alternativamente, el módulo de entrada del PLC realiza un filtrado
por 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ñal
de entrada. Dado que, debido a su naturaleza inductiva, los impulsos
de interferencia son principalmente señales transitorias, es suficiente
un retardo de la señal de entrada relativamente corto, del orden de
milisegundos, 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. Sin
embargo, en casos aislados, también es posible producir un retardo de
la señal por software.
La duración de un retardo de entrada es de aproximadamente entre 1
y 20 milisegundos – dependiendo del fabricante y del tipo. Muchos
fabricantes ofrecen entradas especialmente rápidas para aquellas ta-
reas en las que el retardo de la señal de entrada es demasiado larga
para 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 principalmente
las conexiones de conmutación positiva, ya que ello permite la utiliza-
ción de un tierra de protección. Conmutación positiva significa que la
entrada del PLC representa un drenaje de corriente. El sensor suminis-
tra la tensión de funcionamiento o tensión de control a la entrada en
forma de señal-1.
Si se utiliza tierra de protección, la tensión de salida del sensor es
cortocircuitada hacia los 0 voltios o se funde el fusible en caso de
cortocircuito en la línea de señal. Esto significa que se aplica una lógi-
ca 0 en la entrada del PLC.

Festo Didactic • TP301


B-44
Capítulo 4

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 para
evitar que se aplique una señal 1 a la entrada del PLC en el caso de
un 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.

4.6 Módulo de salida Los módulos de salida llevan las señales de la unidad central a los
elementos finales de control, que son activados según la tarea. Princi-
palmente, la función de una salida – vista desde la aplicación del PLC
incluye lo siguiente:
Ajuste de la tensión desde la tensión lógica a la de control
Protección de la electrónica sensible de tensiones espúreas hacia el
control
Amplificación de potencia suficiente para el accionamiento de ele-
mentos finales de control
Protecció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 o
de electrónica de potencia.

Señal de Optoacoplador
Supervisión de Señal de
la unidad Amplificador cortocircuito salida
Fig. B4.8:
central
Diagrama de bloques
de un módulo de salida

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 el
ajuste 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.

TP301 • Festo Didactic


B-45
Capítulo 4

Actualmente, la protección ante cortocircuito, protección ante so-


brecargas y amplificación de potencia, se ofrecen a menudo como
mó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; una
etapa de Darlington o una etapa de transistor de potencia proporcionan
la potencia necesaria.
La potencia admisible de salida se utiliza específicamente de forma
que permita una distinción entre la potencia admisible de una salida y
la potencia acumulada admisible de un módulo de salidas. La potencia
acumulada 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 asumir
prácticamente todas las funciones de un módulo de salida: El contacto
del 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, en
la práctica se conectan optoacopladores en serie con el relé, ya que
ello 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 para
diferentes tensiones de salida. En contraste, las salidas electrónicas
tienen velocidades de conmutación considerablemente más elevadas y
una 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 de
las 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 fuente
de 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, la
salida se cortocircuita si se utilizan medidas normales de puesta a tie-
rra de protección. La electrónica conmuta a protección de cortocircuito
o se funde el fusible, es decir, el dispositivo consumidor no puede dre-
nar corriente por lo que se desconecta y queda en estado seguro. (De
acuerdo con DIN 0113, el estado de seguridad debe ser siempre el
estado sin energía.)

Festo Didactic • TP301


B-46
Capítulo 4

Si se utilizan salidas de conmutación negativa, es decir, la salida repre-


senta un drenaje de corriente, deben adoptarse medidas de protección
del tal forma que el dispositivo consumidor quede en un estado seguro
en el caso de cortocircuito en la línea de señal. De nuevo, un tierra de
protecció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.

4.7 Dispositivo Cada PLC tiene una herramienta de diagnosis y programación para
programador / soportar la aplicación del PLC
Ordenador
personal
Programación
Verificación
Puesta punto
Localización de averías
Documentación del programa
Almacenamiento 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 son
casi exclusivamente las variantes preferidas, ya que la enorme capaci-
dad de los modernos PCs, combinada con su comparativamente bajo
coste inicial y alta flexibilidad, representan ventajas cruciales.
También se han desarrollado los denominados programadores de
mano 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.

TP301 • Festo Didactic


B-47
Capítulo 4

Las funciones esenciales del sistema de software forman parte de la


herramienta de programación y diagnosis
Cualquier 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 programas
Creación y modificación de programas en uno de los lenguajes de
programación del un PLC
Verificación de la sintaxis
Comprobación de la sintaxis del programa y los datos, minimizando
así la introducción de programas defectuosos.
Traductor
Traducción del programa introducido en un programa que puede ser
leido y procesado por el PLC, es decir, la generación del código
máquina del correspondiente PC.
Conexión entre PLC y PC
A través de este enlace se realiza la carga de los programas al PLC
y la ejecución de funciones de verificación
Funciones de verificación
Ayuda al usuario durante la escritura y en la eliminación de fallos y
verificació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 control
Emisió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 salida
Registro/indicación de cambios de estado en señales externas y
datos internos
Supervisión de los tiempos de ejecución
Formato en tiempo real de la ejecución del programa

Festo Didactic • TP301


B-48
Capítulo 4

Documentación
Creación de una descripción del sistema PLC y el programa del
usuario. Esto consiste en:
Descripción de la configuración del hardware
Impresión del programa de usuario con los correspondientes da-
tos e identificadores para las señales y comentarios
Lista de referencias cruzadas para todos los datos procesados
tales como entradas, salidas, temporizadores, etc.
Descripción de las modificaciones
Archivado del programa de usuario
Protección del programa de usuario en memorias no volátiles tales
como EPROM, etc.

TP301 • Festo Didactic


B-49
Capítulo 5

Capítulo 5

Programación de un PLC

Festo Didactic • TP301


B-50
Capítulo 5

5.1 Búsqueda de Los programas de control representan un componente importante en


una solución un sistema de automatización.
sistemática
Los programas de control deben ser diseñados sistemáticamente, bien
estructurados y completamente documentados, para que sean:
libres de errores,
fáciles de mantener y
económicos
Modelo de fases para la generación de software para PLC
El procedimiento para el desarrollo de un programa de PLC que se
muestra en la fig. B5.1 ha sido probado y verificado. La división en
secciones definidas conduce a un funcionamiento sistemático y objeti-
vado, y proporciona una disposición de resultados clara, que puede
verificarse en relación con la tarea.
El modelo de fases consiste en las siguientes secciones:
Especificación: Descripción de la tarea
Diseño: Descripción de la solución
Realización: Puesta en práctica de la solución
Integració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. Se
producen diferencias en los métodos y herramientas utilizados en las
fases individuales.

1. Especificación - Descripción verbal de la tarea de control


- Tecnología, croquis de situación
- Macroestructura de los programas de
control

2. 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

3. Realización - Programación en LD, FBD, IL,


ST y/o SFC
- Simulación de subprogramas y del
conjunto de programas

4. Puesta a punto - Construcción del sistema


Fig. B5.1: - Verificación de los subprogramas
Modelo de fases para - Verificación del conjunto de programas
la generación de
software de PLC

TP301 • Festo Didactic


B-51
Capítulo 5

El modelo de fases puede aplicarse a programas de control de comple-


jidad diversa; para tareas de control complejas, es absolutamente
esencial 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 de
control, 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 control
Estructura/distribución
Macroestructuración del sistema o proceso y con ello un esbozo de
la 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 definiciones
establecidas en la fase 1. El método utilizado para describir la solución
debe proporcionar un gráfico y una descripción orientada al proceso, a
la 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 una
representació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 hasta
que 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, o
incluso etapas de trabajo recurrentes permanentemente.
El diagrama desplazamiento-fase, representa otra forma estándar para
la descripción de sistemas de control aparte del diagrama de funciones
según DIN 40 719, Parte 6.

Festo Didactic • TP301


B-52
Capítulo 5

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 control
se realiza a través de los lenguajes de programación definidos en IEC
1131-3. Estos son: diagrama de funciones secuencial, diagrama de
bloques 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 y
están disponibles en FCH según DIN 40 719, P.6, pueden ser clara y
fácilmente programados en diagrama de funciones secuencial. Un dia-
grama de funciones secuencial, en la medida de los posible, utiliza los
mismos componentes para la programación que los utilizados para la
descripció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 la
planta conectada. En casos de tareas complejas, es aconsejable poner
a punto el conjunto de forma sistemática, paso a paso. Los fallos, tanto
en el sistema como en el programa de control, pueden hallarse y elimi-
narse fácilmente utilizando este método.

TP301 • Festo Didactic


B-53
Capítulo 5

Documentación
Un 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 programas
de control, debería estar disponible tanto en papel como en un soporte
de almacenamiento de datos. La documentación consiste en la infor-
mación sobre las fases individuales, listados del programa de control y
de cualquier información adicional posible concerniente al programa de
control. Individualmente estos son:
Descripción del problema
Croquis de situación
Esquema del circuito
Esquema técnico
Listados 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 PLC 5.2 Recursos de


individual, sino también para sistemas de automatización complejos. estructuración
Los programas de control para grandes aplicaciones deben ser clara- IEC 1131-3
mente estructurados para ser inteligibles, fáciles de mantener y si es
posible también portátiles, es decir, transferibles a otros sistema de PLC.
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.

RECURSO DE Estructuración
CONFIGURACIÓN del nivel de
TAREA
– Configuración de
VAR_GLOBAL un sistema de configuración
RUTA_ACCESO automatización

Diagrama de funciones – Representación


secuencial
de la secuencia
– Refinamiento Estructuración
PROGRAMA del nivel de
BLOQUE-FUNCIÓN programa
FUNCIÓN
– Modularización
TIPO-DATOS

Fig. B5.2:
IEC 1131-3
método de estructuración

Festo Didactic • TP301


B-54
Capítulo 5

Recursos de estructuración del programa


Los recursos de estructuración – programa, bloque de funciones y fun-
ción – contienen la verdadera lógica de control (reglas) del programa
de control. Estos se conocen también como unidades de organización
del programa. Estos recursos de estructuración están disponibles para
cualquier lenguaje de programación. Se utilizan para la modularización
de programas de control y del programa de usuario – esto concierne
principalmente a programas y bloques de función – o también suminis-
trados por el fabricante – en lo que se refiere a programas y bloques
de función.
IEC 1131-3 define un amplio juego que funciones y bloques de función
estandarizados. Estos pueden ser ampliados por funciones propias del
usuario, 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 cualquier
momento.
Los programas representan la capa más exterior de la organización del
programa y pueden diferenciarse del bloque de función principalmente
por el hecho de que no pueden ser invocados por ninguna otra unidad
de organización del programa.
El diagrama de funciones secuencial representa otro recurso para la
estructuración de un programa. Los contenidos de los programas re-
ales y los bloques de función pueden de nuevo representarse clara e
inteligiblemente por medio de un diagrama de funciones secuencial.

Recursos de estructuración a nivel de configuración


Los elementos de lenguaje para configuración describen la incorpora-
ción de programas de control en el sistema de automatización y su
control en relación con el tiempo.
El sistema de automatización representa una configuración (elemento
del lenguaje CONFIGURACION). Dentro de la configuración hay las
variables globales (elemento de lenguaje VAR_GLOBAL).

TP301 • Festo Didactic


B-55
Capítulo 5

Un recurso (elemento de lenguaje RECURSO) corresponde al procesa-


dor de un sistema multiprocesador, al cual se asignan uno o varios
programas. Además, comprende elementos de control, que incluyen el
control 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ólo
una vez, disparado por un evento específico. Los programas que no
están específicamente enlazados a una tarea son procesados cíclica-
mente en segundo plano y con la prioridad más baja.

Configuración de la fabricación de válvulas

Recurso Recurso Recurso


montaje de válvulas control transportador control de calidad

Tarea_ Tarea_
Tarea_1 Tarea_2 cíclica unica

Programa Programa Programa


montaje transportador envasado

Programa
Programa Programa estadísticas
posición_inicial transp_vacío

Programa
Guarda_datos

Variables globales y directamente representadas Fig. B5.3:


Ejemplo gráfico de
una configuraciòn

Los recursos de estructuración para la configuración se muestran en


un resumen combinado en la fig. B5.3. A continuación se explica el
ejemplo 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 procesador
para 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.

Festo Didactic • TP301


B-56
Capítulo 5

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 calidad
a intervalos regulares. La prioridad de este programa es baja. Se pone
en marcha regularmente, p. ej. cada 20 minutos, por la tarea Tarea_cí-
clica. En el caso de un PARO DE EMERGENCIA, el programa
Guarda_datos transmite todos los datos disponibles a un ordenador de
cé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ás
alta 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 se
requiere información específica, tal como la lectura de una variable, en
diferentes unidades de organización de programas, esta variable es
designada 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 definen
en IEC 1131-5 y se utilizan en IEC 1131-3. Otra posibilidad es la
definición de rutas de acceso (recurso de lenguaje RUTA_ACCESO)
para variables específicas. Estas también pueden ser leídas o escritas
desde otras posiciones.

5.3 Lenguajes de IEC 1131-3 define cinco lenguajes de programación. Aunque la funcio-
programación nalidad y estructura de estos lenguajes es muy diferente, son tratados
como una sola familia de lenguajes por IEC 1131-3, con elementos de
estructura solapados (declaración de variables, partes de organización
tales como funciones y bloques de función, etc.) y elementos de confi-
guració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, regionales
y específicos de cada sector. Se ha previsto la futura expansión (tal
como 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.)

TP301 • Festo Didactic


B-57
Capítulo 5

Los elementos del lenguaje son explicados con la ayuda de un proceso


de mecanizado involucrado en la producción de válvulas. Se utilizan
dos sensores para establecer si una pieza con los talados correcta-
mente realizados está disponible en la posición de mecanizado. Si la
válvula a mecanizar es del tipo A o el tipo B – esto se establece con
dos interruptores selectores – el cilindro avanza y mete la funda en el
taladro realizado.

El Diagrama de contactos o Diagrama en escalera (Ladder diagram) LD


El 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 (normalmente
abiertos y normalmente cerrados) y de elementos de bobina.

Pieza_TipoA Pieza_presente Taladro_ok Mete_funda

Pieza_TipoB

Fig. B5.4:
Ejemplo del lenguaje en
diagrama de contactos

Diagrama de bloques de función (Function block diagram) FBD


En el diagrama de bloques de función, las funciones y los bloques de
funció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 OR AND Mete_funda


Pieza_TipoB

Pieza_presente
Taladro_ok
Fig. B5.5:
Ejemplo del lenguaje en
bloques de funciones

Festo Didactic • TP301


B-58
Capítulo 5

Lista de Instrucciones (Statement list o Instruction List) IL


La 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 de
control consistentes en un operador y un operando.

LD Pieza_TipoA
OR Pieza_TipoB
AND Pieza_presente
Fig. B5.6: AND Taladro_ok
Ejemplo de lenguaje en ST Mete_funda
lista de instrucciones

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 sido
definidos en la forma en que son utilizados en la actual tecnología de
PLC. Sin embargo, están limitados a las funciones básicas en lo que
concierne a sus elementos. Esto los aparta esencialmente de los dia-
lectos que las empresas utilizan en la actualidad. La competitividad de
estos lenguajes es mantenida debido al uso de bloques y bloques de
función.
Texto estructurado (Structured text) ST
El texto estructurado es un lenguaje de alto nivel basado en Pascal,
que consiste en expresiones e instrucciones. Las instrucciones pueden
definirse principalmente como: Instrucciones de selección, tales como
IF...THEN...ELSE, etc, instrucciones de repetición tales como FOR,
WHILE etc. y llamadas a bloques de función.

Fig. B5.7: Mete_funda := (Pieza_TipoA OR Pieza_TipoB) AND Pieza_presente AND Taladro_OK;


Ejemplo de lenguaje en
texto estructurado

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.)

TP301 • Festo Didactic


B-59
Capítulo 5

Diagrama de funciones secuencial (Sequential function chart) SFC


El diagrama de funciones secuencial (casi idéntico al GRAFCET fran-
cés) es un recurso de lenguaje para la estructuración de los programas
de 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 acciones
que, al igual que las transiciones, están formuladas en los lenguajes
IEC 1131-3. Las propias acciones pueden contener de nuevo estructu-
ras secuenciales. Esta característica permite la estructura jerárquica de
un programa de control. Por lo tanto, el diagrama de funciones secuen-
cial es una herramienta excelente para el diseño y la estructuración de
programas de control.

Festo Didactic • TP301


B-60
Capítulo 5

TP301 • Festo Didactic


B-61
Capítulo 6

Capítulo 6

Elementos comunes de los


lenguajes de programación

Festo Didactic • TP301


B-62
Capítulo 6

6.1 Recursos de Según IEC 1131-3, sólo las entradas, las salidas y los elementos de
un PLC memoria pueden ser direccionados directamente por un programa de
control. En este caso, el direccionamiento directo significa que en el
programa, una entrada, salida o elemento de memoria del control está
afectado inmediatamente y no indirectamente a través de una variable
simbólica definida. Naturalmente, IEC 1131-3 reconoce muchos otros
recursos, p. ej. temporizadores y contadores. Sin embargo, estos están
integrados en funciones y bloques de función para asegurar el más
alto grado posible de portabilidad del programa de control entre los
diferentes sistemas.
Entradas, salidas y la memoria
Los constituyentes más importantes de un control incluyen las entra-
das, salidas y la memoria. Sólo a través de estas entradas puede un
control recibir información de los procesos conectados. De forma simi-
lar, sólo puede influir en ellos a través de sus salidas o almacenar
información para la subsecuente continuación del proceso.
Las denominaciones para los recursos entradas, salidas y elementos
de memoria, están definidos por IEC 1131-3 y son obligatorios..

Entradas I
(Inputs)

Salidas Q
(Outputs)
Fig. B6.1:
Designaciones para Memorias M
Entradas, Salidas y
(Memory)
Memoria

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 definido
por el correspondiente fabricante del control.

TP301 • Festo Didactic


B-63
Capítulo 6

Siempre que el control lo soporte, pueden direccionarse recursos que


excedan de un bit. IEC 1311-3 emplea otra letra para decribirlos, que
sigue 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 en
relación con las entradas, salidas y flags.

BOOL Secuencia de bits de longitud 1

BYTE Secuencia de bits de longitud 8

WORD Secuencia de bits de longitud16


Fig. B6.2:
Tipos de datos

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 dos
valores "0" y "1".
A diferencia de esto, hay que destacar que en el caso de los tipos de
datos de secuencia de bits, que consisten en más de un bit, no hay un
rango de valores relacionado inmediatamente. Todos los tipos de datos
de 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 el
valor 0 ó 1, pero su combinación no tiene su propio valor.
Los métodos de designación obligatorios para entradas, salidas y flags
de diferentes longitudes de bits están representados en la fig. B6.3.

I, Q, M Bit de entrada, bit de salida, bit de memoria 1 bit


o bien
IX, QX, MX

IB, QB, MB Byte de entrada, byte de salida, byte de memoria 8 bit Fig. B6.3:
Designación para
IW, QW, MW Word de entrada, word de salida, word de memoria 16 bit Entradas, Salidas y
Memorias

Festo Didactic • TP301


B-64
Capítulo 6

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 relativamente
grande de entradas, salidas y flags disponibles, estos deben ser espe-
cialmente identificados a efectos de diferenciación. Para ello se utiliza
la numeración indicada por IEC 1131-3, como en el siguiente ejemplo:

I1 Entrada 1

IX9 Entrada 9

I15 Entrada 15

QW3 Word de salida 3

MB5 Byte de memoria 5

MX2 Memoria 2

IEC 1131-3 no especifica el margen de números que se permite para


esta numeración ni si deben empezar por 0 ó por 1. Esto lo especifica
el fabricante del control.
También deben utilizarse una cantidad jerárquica de entradas, salidas
y 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 la
derecha representan consecutivamente las posiciones más bajas.
Ejemplo I3.8.5

TP301 • Festo Didactic


B-65
Capítulo 6

La estrada especificadas I3.8.5 puede por lo tanto representar:

Entrada

en inserto No. 3

en tarjeta No. 8

como Entrada No. 5


Fig. B6.4:
I 3. 8. 5 Estructura de las
designaciones jerárquicas

IEC 1131-4 no hace ningún comentario en relación con la asignación


de bits individuales en un BYTE o WORD. Los fabricantes de los con-
troles a menudo eligen métodos de designación jerárquica para asignar
bits 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 la
flag word FW6 no necesariamente tienen que estar conectadas de al-
guna forma. Además, no se ha hecho ninguna definición sobre si la
numeración de los bits individuales en una word deben empezar por la
derecha o por la izquierda (hasta ahora, el bit número 0 en el extremo
derecho ha sido el más frecuentemente utilizado)
Variables directamente direccionadas
Si los recursos en un programa de control deben ser direccionados
directamente, a la designación del recurso debe anteponerse el recur-
so %.
Ejemplos de variables directamente direccionables:

%IX12 Bit de entrada 12


o
%I12

%IW5 Word de Entrada 5

%QB8 Byte de Output 8

%MW27 Word de Memoria 27

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.

Festo Didactic • TP301


B-66
Capítulo 6

6.2 Variables y La utilización de variables representadas exclusiva y directamente (re-


tipos de datos cursos, entradas, salidas y memoria) no es suficiente para crear pro-
gramas de control. Frecuentemente, se requieren datos, que contienen
información específica, también de una naturaleza más compleja. Es-
tos datos pueden ser especificados directamente, es decir, datos de
tiempo 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 definiciones
más importantes para tratar con datos o variables se indica abajo.

Direccionamiento simbólico
Un identificador simbólico siempre consiste en una letra mayúscula o
minú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 de
subrayado puede utilizarse para hacer más leíble un identificador. Sin
embargo, es un carácter significativo. Por ello, los dos identificadores
Marcha_motor y Marchamotor son diferentes. No se permiten varios
guiones de subrayado. Si el control permite letras mayúsculas y minús-
culas, su utilización indistinta no debe tener significación alguna. Los
dos identificadores MARCHAMOTOR y Marchamotor se interpretan
idénticamente y designan el mismo objeto.
Los siguientes identificadores no son permisibles:

123 El nombre no empieza con una letra

Button_? El último carácter no es válido ya que


no es ni una letra ni un número

Además, los identificadores simbólicos no deben ser idénticos que las


palabras clave. Como regla, las palabras clave son palabras reserva-
das para tareas específicas.
Representación de datos
En un programa de control, debe ser posible especificar valores de
tiempo, de recuento, etc.
Consecuentemente, IEC 1131-3 ha establecido las definiciones para la
representación de los datos a especificar
Valores de recuento
Valores de tiempo
Cadenas

TP301 • Festo Didactic


B-67
Capítulo 6

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 2#1111_1111 (255 decimal)


(Números binarios) 2#1101_0011 (211 decimal)

Números de base 8 8#377 (255 decimal)


(Números octales) 8#323 (211 decimal)

Números de base 16 16#FF o 16#ff (255 decimal)


(Números hexadecimales) 16#D3 o 16#d3 (211 decimal)

Cero y Uno Booleanos 0, 1


Tabla B6.1:
* El uso de subrayados entre dígitos es permisible para mejorar la Representación de
legibilidad. Sin embargo, el subrayado no es significativo. datos numéricos

IEC 1131-3 prevé diferentes tipos de datos de tiempo:


Duración, es decir, para medición de resultados
Fecha
Hora del día, p. ej. para sincronización desde el inicio o el final de
un evento (también juntamente con la fecha)

Descripción Ejemplos

Duración de tiempo T#18ms, t#3m4s, t#3.5s


t#6h_20m_8s
TIME#18ms

Fecha D#1994-07-21
DATE#1994-07-21

Hora del día TOD#13:18:42.55


TIME_OF_DAY#13:18:42.55

Fecha y Hora DT#1994-07-21-13:18:42.55 Tabla B6.2:


DATE_AND_TIME#1994-07-21-13:18:42.55 Representación de tiempo,
fecha y hora

La especificación de la duración de un tiempo consiste en una parte


introductoria, la palabra clave T# o t#, y una secuencia de secciones
relacionadas con el tiempo – es decir, días, horas, minutos, segundos
y milisegundos.

Festo Didactic • TP301


B-68
Capítulo 6

Abreviaciones para datos de tiempo:

d Dias

h Horas

m Minutos

s Segundos

ms Milisegundos

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ón
de 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 una
secuencia de caracteres también conocida como cadena, que puede
ser 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 en
el control y en dispositivos de visualización.
Una cadena consiste en ninguno o varios caracteres, que empiezan y
terminan 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


Tabla B6.3:
’’ cadena vacía
Representación de cadenas

TP301 • Festo Didactic


B-69
Capítulo 6

Tipos de datos
IEC 1131-3 define un gran número de tipos de datos para diferentes
tareas. Uno de estos tipos de datos, BOOL, ya ha sido mencionado.
Una variable del tipo BOOL asume el valor 0 ó bien el valor 1.

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 Tabla B6.4:


Un número de tipos de
WORD Secuencia de 16 bits sin rango de valores declarable
datos elementales

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 margen
de valores del tipo de dato INT cubre tanto valores negativos como
positivos. Las variables del tipo UNIT (unsigned integer/entero sin sig-
no) sólo permiten valores positivos. El margen de valores para las
UINT 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 valores
inferior o superior que el tipo de datos INT. El tipo de datos REAL
contiene números en coma flotante. Estos son números que pueden
contener lugares tras la coma, tales como el 3,24 ó -1,5. El tipo de
datos TIME se utiliza para especificar el tiempo, y puede contener una
duración de tiempo como por ejemplo: 2 minutos y 30 segundos.

Festo Didactic • TP301


B-70
Capítulo 6

Aparte de estos tipos de datos predefinidos elementales, el usuario


tiene la posibilidad de definir sus propios tipos de datos. Esto es útil en
casos en donde la definición del problema va más allá del ámbito de la
pura tecnología de control.
Los tipos de datos derivados se declaran dentro de la construcción
TYPE...END_TYPE. La declaración completa se indica abajo para la
enumeración del tipo Color en la tabla B6.5:

TYPE
Colo: (ROJO, AZUL, AMARILLO, NEGRO);
END_TYPE

Tipo de dato derivado Declaración


TYPE … 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;
Tabla B6.5: END_STRUCT;
Tipos de datos derivados

El significado de los tipos de datos individuales en la tabla B6.5 se


explica brevemente abajo:
Un dato del tipo Color solamente puede asumir uno de los valores
ROJO, VERDE, AMARILLO o NEGRO.
Un dato del tipo Margen_referencia sólo puede asumir valores entre
80 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 índice
pueden indexarse las entradas individuales.
Un elemento del tipo de datos Coordenadas contiene dos números
REAL, 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.

TP301 • Festo Didactic


B-71
Capítulo 6

Declaración de variables
Con el uso de datos, debe definirse claramente el derecho de acceso a
estos 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 en
unidades de organización individuales.
Estas unidades son:
Configuración
Recurso
Programas
Bloques de función
Funciones
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 declaraciones
de variables son aproximadamente las mismas que las utilizadas en el
lenguaje Pascal. Para las formas gráficas de representación sería facti-
ble una forma tabular con el contenido equivalente. Sin embargo, esto
no está especificado en IEC 1131-3.
Todas las declaraciones de variables (fig. B6.5) siempre empiezan con
una palabra clave, que designa la posición de la variable en la unidad
de organización del control, y termina con la palabra clave END_VAR.

VAR
Temp : 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

Las variables y su asignación a un tipo de datos, se introduce entre


estas palabras clave en las que se especifica un identificador o identifi-
cadores simbólicos de las variables, el tipo de dato se indica tras dos
puntos y la declaración se cierra con un punto y coma. Si se declaran
varias variables, se repiten correspondientemente. Normalmente, cada
declaración se escribe en una línea separada en este caso.

Festo Didactic • TP301


B-72
Capítulo 6

IEC 1131-3 distingue entre seis tipos diferentes de acceso a las varia-
bles. Cada tipo tiene una palabra clave, que introduce la declaración
de la variable.

Variables de Entrada VAR_INPUT

Variables de Salida VAR_OUTPUT

Variables de Entrada/Salida VAR_IN_OUT

Variables locales VAR

Tabla B6.6: Variables globales VAR_GLOBAL


Palabras clave para la
Variables externas VAR_EXTERN
declaración de variables

Las variables de entrada son declaradas con las palabras clave


VAR_INPUT y END_VAR.

VAR_INPUT
Fig. B6.6: Input : INT; (*Valor de entrada *)
Declaración de una END_VAR
variables de entrada

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 de
organizació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

VAR_OUTPUT
Fig. B6.7: Result : INT; (*Valor de realimentación *)
Declaración de una END_VAR
variable de salida

El dato que calcula una unidad de organización y devuelve de nuevo el


exterior 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, estas
pueden ser leídas y escritas. Externamente, sólo se permite el acceso
de lectura.

TP301 • Festo Didactic


B-73
Capítulo 6

En los casos en que se permitan variables conteniendo valores de en-


trada y salida, estos deben crearse con las palabras clave
VAR_IN_OUT y END_VAR.

VAR_IN_OUT
Value : INT; Fig. B6.8:
END_VAR Declaración de una
variable de entrada/salida

Esta forma representa una tercera opción y permite la declaración de


variables, que pueden ser leídas y utilizadas dentro de una unidad de
organización.
En el caso de una variable declarada como VAR_IN_OUT, se asume
que ambos valores serán suministrados hacia y desde la unidad de
organización.
A menudo, se requieren variables para resultados intermedios, que de-
ben permanecer desconocidos externamente. La declaración de tales
variables, denominadas locales, empieza con VAR y termina con
END_VAR.

VAR
Z : INT; (*Resultado intermedio *) Fig. B6.9:
END_VAR Declaración de una
variable local

Las variables especificadas aquí son locales para una unidad de orga-
nización y solame te pueden ser utilizadas en ella. Son desconocidas
para otras unidades organizacionales y por lo tanto inaccesibles.
Una aplicación típica son las posiciones de memoria para resultados
intermedios, que no son de interés en otras zonas del programa. En el
caso de estas variables, hay que observar que también pueden existir
varias 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 caso
puede ser accedida universalmente. La necesaria declaración se reali-
za de una forma similar, utilizando las palabras clave VAR_GLOBAL y
VAR_EXTERNAL.

Festo Didactic • TP301


B-74
Capítulo 6

VAR_GLOBAL
Fig. B6.10: Global_value: INT;
Declaración de una END_VAR
variable global

Así es como se declaran todos los datos globales para un programa de


control. Los datos globales son accesibles universalmente. Esta decla-
ración sólo puede hallarse en unidades de organización, configuración
y recurso.

VAR_EXTERNAL
Fig. B6.11: Global_value: INT;
Declaración de acceso a END_VAR
una variable global

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 no
serí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, por
ejemplo, leer pero no cambiar sus variables de salida.
Se utiliza la palabra clave AT para asignar variables a las entradas y
salidas del control.

VAR
Fig. B6.12: Pulsador_paro AT %I2.3: BOOL;
Declaración de variables Temperatura AT %IW3: INT;
con asignación a entradas END_VAR
de un 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. del
Pulsador_paro, o de la Temperatura en un programa existente, no se
ve afectada por el cambio.

TP301 • Festo Didactic


B-75
Capítulo 6

Sin embargo, según IEC 1131-3 siempre es posible utilizar variables


direccionadas directamente sin tener que asignarlas a un identificador
simbólico. La declaración en este caso es como sigue:

VAR
AT %I4.2 : BOOL;
AT %MW1 : WORD;
END_VAR

Inicialización
A menudo es esencial que a una variable se le asigne un valor inicial.
Este valor puede cambiar varias veces durante el procesamiento del
programa, incluso aunque haya estado definida el principio.
Los estados iniciales como estos también son importantes para otros
datos. Tales valores iniciales se especifican conjuntamente con la de-
claración de las variables. Una variable global de este tipo denominada
p. ej. Docena se declara para que al principio del programa asuma el
valor 12.

VAR_GLOBAL Fig. B6.13:


Docena : INT := 12; Declaración de una
END_VAR variable global
con valor inicial

Como se ha mostrado en este ejemplo, el valor de inicialización se


inserta siempre entre el tipo de dato – en este caso INT – y el punto y
coma de cierre. La especificación del valor de inicialización siempre
requiere 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 en
IEC 1131-3, en donde los tipos de datos tienen un valor preestableci-
do. Cada variable es preasignada al valor inicial correspondiente al tipo
de dato – a no ser que se especifique lo contrario en el programa. Una
lista de los valores iniciales de una selección de tipos de datos elemen-
tales puede verse en la tabla B6.7.

Tipo de dato Valor inicial

BOOL, SINT, INT, DINT 0


UINT 0
BYTE, WORD 0
REAL 0.0
Tabla B6.7:
TIME T#0s
Valores iniciales
STRING ’’ (cadena vacía)
preestablecidos

Festo Didactic • TP301


B-76
Capítulo 6

6.3 Programa El programa para un control está dividido en unidades de organización


individuales, que son como sigue en el nivel de programación:
Programas
Bloques de función
Funciones
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 y
bloques 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 o
los usuarios pueden así crear módulos de software hechos a su medi-
da para determinadas aplicaciones.
Funciones
Las funciones son módulos de software que, cuando se les invoca,
proporcionan exactamente un resultado (elemento de datos). Esta es la
razón por la que en un lenguaje textual, la invocación de una función
puede 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 ejemplos
de funciones.
Las funciones y su invocación puede representarse gráficamente o en
forma de texto.

F nombre
X
Y
Z
Fig. B6.14: Entradas Salida
Representación
gráfica de una función

TP301 • Festo Didactic


B-77
Capítulo 6

Gráficamente, una función se representa en forma de rectángulo. Todos los


parámetros de entrada se relacionan en el lado izquierdo, mientras que los
parámetros de salida se muestran en el lado derecho. En el interior del
rectángulo se indica el nombre de la función. Los parámetros formales de
entrada 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 funciones
con 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.

VAR
AT %QW4 : INT;
AT %IW9 : INT;
AT %IW7 : INT;
AT %MW1 : INT;
END_VAR

%QW4 ADD %MW1 a) sin nombres de


%IW9 parámetros formales
%IW7

SHL
%IW2 IN %MW5 b) con nombres de
4 N parámetros formales

Fig. B6.15:
Uso de parámetros
formales con funciones

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).

%Q5.3 AND %Q4.1


%M1.1

Fig. B6.16:
Representación de
negaciones Booleanas

Festo Didactic • TP301


B-78
Capítulo 6

Si se invoca una función, deben conectarse sus entradas y la salida de


la 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 tales
como %QW4 etc. están declaradas como variables de tipo de dato
INT. De la misma forma, la función ADD podría aplicarse a valores del
tipo SINT o REAL.
Las funciones como estas, que funcionan para entrar parámetros de
tipos de datos diferentes, se denominan en IEC 1131-3 como funcio-
nes sobrecargadas, independientes del tipo. La Fig. B6.17 ilustra las
características de una función sobrecargada utilizando el ejemplo de
una función ADD.

Función ADD como ejemplo de función sobrecargada

ADD Todos los tipos de datos que definen números


son permisibles como parámetros de
entrada de resultado

a) Parámetros de Entrada del tipo INT

general ejemplo
VAR
INT ADD INT AT %IW1 : INT;
AT %IW2 : INT;
INT AT %MW3 : INT;
END_VAR

%IW1 ADD %MW3


%IW2

b) Parámetros de entrada del tipo SINT


general ejemplo
VAR
SINT ADD SINT AT %IB4 : SINT;
AT %IB5 : SINT;
SINT AT %MB6 : SINT;
END_VAR

%IB4 ADD %MB6


%IB5
Fig. B6.17:
Función sobrecargada de
tipo independiente

TP301 • Festo Didactic


B-79
Capítulo 6

Si una función sobrecargada está limitada a un determinado tipo de


datos por el control – p. ej., el tipo de datos INT como se muestra en
la fig B6.18 – esto se conoce como una función con tipo. Las funciones
con tipo son reconocibles por el nombre de su función. El tipo se indica
añadiendo un guión de subrayado, seguido del tipo deseado.

general ejemplo
VAR
AT %IW1 : INT;
INT ADD_INT INT AT %IW2 : INT;
INT AT %MW3 : INT;
END_VAR

%IW1 ADD_INT %MW3


%IW2

Fig. B6.18:
Una función con tipo

Funciones estándar
Las funciones estándar más importantes para la realización de tareas
básicas de tecnología de control se relacionan a continuación.
Dado que una gran variedad de funciones estándar pueden funcionar
utilizando parámetros de entrada de diferentes tipos de datos, los tipos
de datos se han combinado en grupos. A cada grupo se le ha dado un
tipo de datos genérico. Los tipos de datos genéricos más importantes
se muestran en la tabla B6.8.

ANY_NUM Todos los tipos de datos para números en coma flotante, tales
como 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 flotante


tales como REAL e LREAL

ANY_BIT Todos los tipos de datos de secuencia de bits, tales como BOOL,
Tabla B6.8:
BYTE, WORD etc.
Tipos de datos genéricos

Festo Didactic • TP301


B-80
Capítulo 6

ANY_BIT *** ANY_BIT


ANY_BIT
...
...
ANY_BIT

* * * = nombre o símbolo

Nombre Símbolo Descripción

AND & Operación AND de todas las entradas

OR >=1 Operación OR de todas las entradas

Tabla B6.9: XOR =2k+1 Operación OR-exclusiva de todas las entradas


Funciones booleanas
NOT Entrada negada
Bit-a-bit

***
ANY_BIT IN ANY_BIT
ANY_INT N

* * * = nombre

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


Tabla B6.10:
Funciones de
ROL Desplazar IN cíclicamente por N bits hacia la izquierda
desplazamiento de bits

TP301 • Festo Didactic


B-81
Capítulo 6

ANY_BIT or ANY_NUM *** ANY_BIT or ANY_NUM


...
...

* * * = nombre o símbolo

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)


Tabla B6.11:
NE <> No igual, no expandible Funciones de comparación

a) Representación gráfica

ANY_BIT BCD_TO_INT INT

Descripción:
Convierte variables del tipo BYTE, WORD etc. en
variables del tipo INT.
La variable de secuencia de bits contiene datos en
formato BCD (número decimal codificado en binario)

Ejemplo:

2#0011_0110_1001 BCD_TO_INT 369

b) Representación gráfica

INT INT_TO_BCD ANY_BIT

Descripción:
Convierte variables de tipo INT en variables de tipo BYTE,
WORD etc.
La variable de secuencia de bits contiene datos en formato
BC.
Ejemplo:

25 INT_TO_BCD 2#0010_0101
Tabla B6.12:
Funciones para
conversión de tipo

Festo Didactic • TP301


B-82
Capítulo 6

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


Tabla B6.13:
Funciones aritméticas MOVE := Asigna una entrada a una salida. no ampliable

Bloques de función
Los bloques de función son módulos de software que proporcionan uno
o varios parámetros resultantes.
Una característica importante es la posibilidad de reutilización de los
bloques 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 hay
una estructura de datos, que almacena los estados de esa copia del
bloque 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ón
permanece inalterable entre un procesamiento y el siguiente.
Esto puede demostrarse utilizando el ejemplo del bloque de función
estándar para operaciones de recuento. El valor actual del contador
permanece de una operación de recuento a la siguiente y puede así
ser interrogada en cualquier momento. Este tipo de comportamiento no
puede realizarse a través del recurso lenguaje, como se describe arriba.

TP301 • Festo Didactic


B-83
Capítulo 6

Identificador
Tipo FB
Tipo dato X P Tipo dato
Tipo dato Y Q Tipo dato
Fig. B6.19:
Representación gráfica
Entradas Salidas de una copia de un
bloque de función

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). Estos
se representan por rectángulo de la misma forma que las funciones
(fig. B6.19). Los parámetros de entrada se introducen por la izquierda y
los parámetros de salida aparecen por la derecha. El tipo de bloque de
función se especifica dentro del rectángulo. A continuación se introdu-
cen los nombres de los parámetros formales junto a los lados derecho
e izquierdo dentro del rectángulo o caja. El identificador, bajo el cual se
direcciona el módulo, se direcciona como se ha descrito para el bloque
de función.
Si se utiliza un bloque de función, se le debe dar un identificador. Si
las entradas están asignadas – es decir, hay disponibles parámetros
de transferencia actuales – entonces se utilizan estos para el procesa-
miento. Si las entradas no están conectadas, entonces se accede de
nuevo 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ón
estándar para un contador.

CTU Bloque de función – tipo CTU


BOOL CU Q BOOL (contador incremental)
BOOL R
INT PV CV INT

Count_Pack
CTU Use una copia del bloque de
%I 1.3 CU Q %Q2.5 función CTU en un programa
de control
R Fig. B6.20:
10 PV CV Uso (invocación) del
bloque de función CTU
(contador incremental)

Festo Didactic • TP301


B-84
Capítulo 6

La copia utilizada del bloque de función CTU lleva el identificador


Count_Pack. A cada flanco positivo de la entrada %I1.3 el valor actual
del contador se incrementa en 1 unidad. Cuando se alcanza el valor
preestablecido 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 de
función dentro de un programa de control, como se muestra en la fig.
B6.21.

TP Bloque de función –
BOOL IN Q BOOL tipo TP (pulse timer)
TIME PT ET TIME

T_Colour T_Pressure
OR
TP TP
%I 1.7 IN Q IN Q
T#7s PT ET Display_1 T#3s15ms PT ET

Uso de varias copias del


Fig. B6.21:
Uso de varias copias de
bloque de funciónTP
un bloque de función

TP301 • Festo Didactic


B-85
Capítulo 6

Bloques de función estándar


La Tabla B6.14 relaciona los bloques de función más importantes es-
tandarizados por IEC 1131-3.

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 Tabla B6.14:


Bloques de función
F_TRIG Detección de flanco: flanco descendente
estándar

Funciones definidas de usuario


Aparte de las funciones especificadas, IEC 1131-3 permite la definición
de 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ón
Especificación de los nombres y tipos de datos de variables internas
utilizadas en la función; para ello puede utilizarse una construcción
VAR... 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.

Festo Didactic • TP301


B-86
Capítulo 6

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 y
se le añade la cifra 15. El valor así calculado es devuelto a la función
como resultado.

FUNCTION
(* Descripción del interface externo *)

SPEZ_MUL
INT F1 INT
INT F2

(* Cuerpo de la función: *)
(* Programado en lenguaje FBD *)

F1 *
F2
+ SPEZ_MUL
15

Fig. B6.22:
END_FUNCTION
Ejemplo de una
función SPEZ_MUL

El uso de la función podría ser como el que se ha mostrado en la fig.


B6.23.

VAR
AT %MW1 : INT;
AT %MW2 : INT;
AT %MW3 : INT;
AT %IW4 : INT;
AT %QW5 : INT;
END_VAR

SPEZ_MUL
%MW1 F1 + %MW3
%MW2 F2

%IW4
Fig. B6.23: %QW5
Uso de la función
SPEZ_MUL

TP301 • Festo Didactic


B-87
Capítulo 6

Bloques de función definidos por el usuario


La generación de los propios bloques de función por el usuario es una
caracterí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 nombres
de 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 como
las variables globales.

FUNCTION_BLOCK
(* Descripción del interface externo *)

Filtro_rebotes
BOOL S_ON S_OFF BOOL
TIME E_TIME

(* Cuerpo del bloque de función: *)


(* programado en lenguaje FBD *)

EP_ON EP_S
TON SR
S_ON IN Q S1 Q1 S_OFF
PT ET R

EP_OFF
TOF
IN Q
E_TIME PT ET

Fig. B6.24 :
END_FUNCTION_BLOCK
Declaración de un
bloque de función

Festo Didactic • TP301


B-88
Capítulo 6

El bloque de función ilustrado en la fig. B6.24 representa un bloque de


función para la eliminación de rebotes en las señales, consistentes en
dos parámetros de entrada, es decir, una entrada booleana para la
señal y una entrad de tiempo para el ajuste del tiempo de rebotes. El
parámetros de salida S_OFF suministra la señal de salida sin rebotes.

Programas
Un programa consiste en cualquier cantidad de elementos de lenguaje
y 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 esta
etapa 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 se
permite dentro de programas.
Un ejemplo de esto se muestra en la figura B6.25.

PROGRAM luz_escalera
VAR
Interruptor_F AT %IX0.0 : BOOL; (* Interruptor en la puerta *)
Interruptor_A AT %IX0.1 : BOOL; (* Interruptor interior apartamento *)
Luz AT %QX0.0 : BOOL; (* Luz de la escalera *)
Duracion : TP; (* Tiempo de encendido *)

END_VAR

Duracion
Interruptor_F OR
TP
Interruptor_A
IN Q Luz
T#3m PT ET

END_PROGRAM
Fig. B6.25:
Ejemplo de un programa

TP301 • Festo Didactic


B-89
Capítulo 6

El nombre del programa es "Luz_escalera". Tres variables booleanas


Interruptor_F, Interruptor_A y Luz, asignadas a dos entradas y una sali-
da del PLC, han sido declaradas como variables internas. A esto se
añade la declaración de una copia del bloque de función del tipo Pulse
Timer (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.

Festo Didactic • TP301


B-90
Capítulo 6

TP301 • Festo Didactic


B-91
Capítulo 7

Capítulo 7

Diagrama de bloques de función

Festo Didactic • TP301


B-92
Capítulo 7

7.1 Elementos del dia- El diagrama de bloques de función es un lenguaje de programación


grama de bloques gráfico que es consistente, en la medida de lo posible, con la docu-
de función mentación estándar IEC 617, P.12.

a) Operación lógica de funciones

Manual_desc >=1 Puerta_cerrada

Temp >
60

b) Uso de bloques de función

T_Arranque
TON
%I 1.3 IN Q %Q2.4
Fig. B7.1:
T#7s PT ET
Diagrama de bloques
de función (FBD)
Los elementos del diagrama de bloques de función son funciones
representadas 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 de


función. En la Fig. B7.1a, la variable Manual_desc y el resultado de
una comparación ’mayor que’ están enlazados en OR. El resultado es
asignado a la variable Puerta_cerrada. La Fig. B7.1b representa el uso
de un bloque de función. El retardo de la señal T_arranque se pone en
marcha 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 la
salida %Q2.4.

TP301 • Festo Didactic


B-93
Capítulo 7

La dirección del flujo de señales es una red de izquierda a derecha. Si 7.2 Evaluación
una unidad de organización del programa consta de varias redes, es- de redes
tas son procesadas en secuencia de arriba a abajo.
La secuencia de procesamiento dentro de una unidad de programa de
organización puede ser influida por el uso de elementos para control
de la ejecución. Este grupo de elementos incluye por ejemplo los sal-
tos condicionales e incondicionales. En la fig. B7.2 se utiliza un salto
condicional para realizar una derivación en el programa.

%I 1.1 & Variante_1


%M2.5

Variante_1:

%M2.1 >=1 %Q1.0


%I 2.5
Fig. B7.2:
Uso de un salto en FBD

El salto condicional, representado por una doble flecha, se ejecuta si


se cumple la condición para el salto. Por ello, si la entrada %I1.1 y el
flag %M2.5 llevan ambos señal 1, entonces se ejecutará un salto a la
red con el identificador Variante_1 y el proceso continuará en este punto.
Si hay que ejecutar un salto a una red, la red correspondiente debe
prefijarse con un nombre simbólico, el flag del salto, terminando con
dos puntos. El flag de salto debe identificarse según las reglas para los
nombres simbólicos.

Festo Didactic • TP301


B-94
Capítulo 7

7.3 Estructuras Cuando se programa en el lenguaje FBD, hay que observar que dentro
en bucle de las redes no se permiten estructuras de bucle. Las estructuras de
este tipo sólo deben realizarse a través del uso adicional de una ruta
de realimentación. La Fig. B7.3b ilustra un ejemplo de esto.

a) estructura en bucle no permitida

%M4 &

%I 1 >=1
%I 2

b) estructura en bucle permitida

%M4 & %M2.0

%I 1 >=1
%I 2

Fig. B7.3:
FBD con
estructuras en bucle

Por medio de la utilización de rutas de realimentación, la tercera entrada


de la función OR asume un valor definido durante su procesamiento.

TP301 • Festo Didactic


B-95
Capítulo 8

Capítulo 8

Diagrama de contactos

Festo Didactic • TP301


B-96
Capítulo 8

8.1 Elementos del El lenguaje de diagrama de contactos (o diagrama en escalera), al


diagrama de igual que del diagrama de bloques de función representa un lenguaje
contactos de programación gráfico. Los elementos disponibles en un diagrama de
contactos son los contactos y las bobinas en diferentes formas. Estas
están dispuestas en renglones (rungs) entre las dos líneas verticales
de mando a derecha e izquierda.

%M1.5 %Q3.5

Fig. B8.1:
Estructuta básica
de un renglón

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.

Contactos

Contacto normalmente abierto

/ Contacto normalmente cerrado

P Contacto de flanco positivo

N Contacto de flanco negativo

Bobinas

Bobina

/ Bobina negada

S Activación de una bobina remanente

R Desactivación de una bobina remanente

P Bobina activada por flanco positivo

Tabla B8.1: N Bobina activada por flanco negativo


Elementos del
diagrama de contactos

TP301 • Festo Didactic


B-97
Capítulo 8

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ón
de 0 a 1 (flanco positivo) y de 1 a 0 (flanco negativo).
Con una bobina normal, el resultado (resultado de la operación lógica
entre los contactos) es copiado a la variable específica; en el caso de
una bobina negada, se transfiere el inverso (negación) del resultado.
La bobina de activación remanente asume el valor 1, si el resultado es
1, y permanece inalterable aunque el resultado pase a ser 0. De forma
similar, la bobina de desactivación remanente asume el valor 0 si el
resultado 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 de
una configuración correspondiente de contactos en el renglón actual.

a) Función AND

%I 1.3 %M3.2 %Q2.1

b) Función OR

%I 1.5 %Q2.3

%M3.4
Fig. B8.2:
Conexiones básicas
lógicas en diagrama
de contactos

La función AND es representada por medio de la conexión en serie de


dos contactos (fig. B8.2a). La salida %Q2.1 sólo se activa si ambas
entradas %I1.3 y el flag %M3.2 se hallan activados. En todos los de-
más casos, la salida %Q2.1 es desactivada.

Festo Didactic • TP301


B-98
Capítulo 8

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 se
cumplen simultáneamente.

8.2 Funciones y Aparte de los elementos de contacto y bobina, LD proporciona el uso


bloques de ilimitado de funciones y bloques de función siempre que esta función
función esté soportada por el control utilizado.
Un requisito previo para la incorporación de las denominadas unidades
de 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 el
caso, 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ón
así 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.

a) Incorporación de funciones

Sumar_act + Suma_ok
EN ENO
Cantidad_1
Cantidad_2 Nivel_llenado

b) Invocación de un bloque de función

T_Arranque
%I 1.3 %Q2.4
TON
IN Q
Fig. B8.3: T#7s PT ET
Funciones y
bloques de función
en diagrama de contactos

La adición mostrada en la Fig. B8.3a solamente se realiza si se aplica


una 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 se
asigna 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 salida
ENO asume el valor 0.

TP301 • Festo Didactic


B-99
Capítulo 8

Los módulos de función, tales como por ejemplo el retardo de señal


mostrado en la fig. B8.3 pueden incorporarse al diagrama de contactos
sin una entrada EN adicional ni una salida ENO. El bloque de función
es conectado con los elementos del renglón actual en la forma usual
con la entrada booleana IN y la salida booleana Q. Si la entrada %I1.3
en la fig. B8.3b asume el valor 1, la copia del bloque de función
T_Marcha es procesada con la duración de tiempo preestablecida de 7
segundos. 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 de 8.3 Evaluación de


potencia, y como tal el procesamiento de una unidad de organización los renglones
del programa, es de izquierda a derecha y de arriba a abajo. De forma actuales.
similar la secuencia de procesamiento también puede cambiar en LD
utilizando elemento para el control de la ejecución.

%I 1.1 %M2.5

Variante_1

Variante_1:

%M2.1 %Q1.0

%I 2.5

Fig. B8.4:
Salto condicional en LD

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 actual
con el identificador Variante_1. El procesamiento continua entonces a
partir de este renglón.

Festo Didactic • TP301


B-100
Capítulo 8

TP301 • Festo Didactic


B-101
Capítulo 9

Capítulo 9

Lista de instrucciones

Festo Didactic • TP301


B-102
Capítulo 9

9.1 Lista de La lista de instrucciones es un lenguaje de programación textual, tipo


Instrucciones ensamblador (assembler). Sus instrucciones son más cercanas a las
órdenes procesadas en un PLC.
Un programa de control formulado en lenguaje de Lista de Instruccio-
nes consiste en una serie de instrucciones, en las que cada instrucción
se empieza en una nueva línea.
En la formulación de una instrucción, se especifica un formato fijo. Una
instrucció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 como
una dirección de salto. Las etiquetas son identificadas de la misma
forma 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 la
cadena (*, y termina con la cadena *).

Instrucción

Operador y
Etiqueta Operando Comentario
Modificador

Inicio: LD %I1.2 (* Pieza pres. *)


AND %M3.7 (* Taladro OK *)
ST %Q2.4 (* Avance *)
Fig. B9.1: (* estampador *)
Estructura de
una instrucción
El valor de la entrada %I1.2 se carga en el acumulador y se enlaza en
AND con el valor del flag %M3.7. El resultado es asignado a la salida
%Q2.4.

TP301 • Festo Didactic


B-103
Capítulo 9

9-2 Operadores

Operador Modificador Operando Descripción/Significado

LD N Carga el operando especificado al


acumulador e iguala el resultado actual a
este operando

ST N Almacena el resultado actual en los


operandos especificados

S BOOL Activa el operando booleano al valor 1, si el


valor del resultado actual es un 1 booleano

R BOOL Desactiva el operando booleano a o, si el


valor 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 Tabla B9.1:


Operadores en
) Procesamiento de una operación
lista de instrucciones

Festo Didactic • TP301


B-104
Capítulo 9

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 se
introducen 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.

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.3
se enlazan en OR – el resultado
) de la expresión entre paréntesis
es enlazada en AND con el
contenido actual del acumulador
JMPC Marcha Se ejecuta el salto a la etiqueta Marcha
tan sólo si el valor del resultado acabado de
ejecutar es un 1 booleano.

Fig. B9.2:
Uso y significado
de los modificadores

9.3 Funciones y En lista de instrucciones, también el uso de funciones y bloques de


bloques de función es ilimitado. Las funciones para tareas típicas de tecnología de
función control, tales como la lógica booleana u operaciones aritméticas (véase
fig. B9.3.a) se realizan directamente a través de los operandos especi-
ficados en la tabla B9.1.

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 *)
Fig. B9.3: ST %QW2 (* Guardar el resultado en la output word %QW2 *)
Invocación de funciones

TP301 • Festo Didactic


B-105
Capítulo 9

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 el
campo del operador. El resultado actual (en el acumulador) debe ser
utilizado como el primer argumento de la función. Si se requieren otros
argumentos, 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).

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 *) Fig. B9.4:
(* del módulo *) Invocación de
CAL T_startup (* Invoc. de una copia del bloque T_arranque *) bloques de función

Un requisito es que la variable T_arranque sea declarada como una


señ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 partes
como 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 de
la entrada %I1.3 para la entrada de activación IN y una duración de
tiempo 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én
puede realizarse por separado a partir de la invocación del bloque de
función actual.

Festo Didactic • TP301


B-106
Capítulo 9

Como se muestra en la fig. B9.4b, los valores del parámetro actuales


se cargan a través de operaciones elementales IL y se asignan a las
entradas 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 el
tiempo de actualización de los argumentos y la invocación real del mó-
dulo de función pueden hacerse por separado.

TP301 • Festo Didactic


B-107
Capítulo 10

Capítulo 10

Texto estructurado

Festo Didactic • TP301


B-108
Capítulo 10

10.1 Expresiones El lenguaje Texto Estructurado (ST = Structured Text) es un lenguaje


de alto nivel tipo Pascal, que incorpora los conceptos fundamentales
de un lenguaje moderno de alto nivel, en particular los principios más
importantes 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.
Una expresión es un constituyente elemental para la formulación de
instrucciones. Una expresión consiste en operadores y operandos. Los
operandos que aparecen con más frecuencia son datos, variables o
invocaciones a funciones. Sin embargo, un operando también puede
ser 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 o
a un dato de un tipo definido por el usuario. Por ejemplo, si X es un
número REAL, entonces la expresión SIN(X) proporciona también un
número del tipo REAL. La tabla B10.1 contiene un resumen de los
operadores.

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 **

Signo –
Complemento NOT

Multiplicación *
División /
Módulo MOD

Adición +
Subtracción –

Comparación <, >, ≤, ≥

Igualdad =
Desigualdad <>

AND Booleano &, AND

Tabla B10.1: OR Exclusivo Booleano XOR


Operadores del lenguaje
OR Booleano OR la más baja
Texto Estructurado

TP301 • Festo Didactic


B-109
Capítulo 10

Lo que sigue son ejemplos de expresiones:

SIN(X)
4*COS(Y)
A≤B
A+B+C

La evaluación de una expresión consiste en aplicar los operadores a


los operandos, en donde los operadores se evalúan en una secuencia
definida 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 el Ejemplo
valor 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 especificada
por la prioridad, ello es posible utilizando los paréntesis. Utilizando los
valores numéricos descritos antes, la expresión (A+B)*C proporciona el
valor 9.
Si un operador tiene dos operandos, el operando de más a la izquierda
debe evaluarse primero. La expresión SIN(X)*COS(Y) se evalúa por lo
tanto en la secuencia: cálculo de la expresión SIN(X), cálculo de la
expresión COS(Y), seguida por el cálculo del producto SIN(X) y
COS(Y).
Como se ha demostrado en el párrafo anterior, una función sólo puede
ser 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.

Festo Didactic • TP301


B-110
Capítulo 10

10.2 Instrucciones 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 la
misma forma que un espacio en blanco.

Instrucción Ejemplo

Asignación := A := B;
CV := CV + 1;
Y := COS(X);

Invocación de bloques RS_Zumb(S := Fallo_broca, R1 := Pulsador);


de función Zumb := RS_Zumb.Q1;

Retorno de funciones y bloque RETURN;


sde función

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);
ELSE
Number_Sln := 2;
X1 := (–B + SQRT(D)) / (2.0*A);
X2 := (–B – SQRT(D)) / (2.0*A);
END_IF;

CASE CASE Voltage OF


101 ... 200: Display := too_large;
20 ... 100: Display := large;
2 ... 29: Display := normal;
ELSE
Display := 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;
Tabla B10.2: UNTIL I = 5
Instrucciones del lenguaje END_REPEAT;
Texto Estructurado

TP301 • Festo Didactic


B-111
Capítulo 10

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; Tabla B10.2:
Instrucciones en el
Terminación de bucles EXIT; lenguaje
Texto Estructurado
Instrucción nula ;; (continuaciòn)

Asignaciones
Una 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 de
la expresión a la derecha de :=. Cada asignación termina con un punto
y coma. Una posible asignación (tabla B10.2) es A := B en donde el
valor de la variable B es asignado a la variable A. Como resultado de
la asignación CV := CV + 1, la variable CV es incrementada en 1 como
resultado de la expresión CV+1.

Bloques de función y funciones


En IEC 1131-3 se establece un mecanismo definido para la invocación
y también para la salida anticipada de una función o de un bloque de
función.
Como se ha descrito, una función es invocada sólo como parte de la
evaluació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ón
del nombre de instancia (copia) del bloque de función. Esta es seguida
de una lista entre paréntesis consistente en la asignación de valores a
los parámetros de entrada. La especificación del nombre del parámetro
de entrada es obligatorio, los parámetros individuales de entrada pue-
den indicarse en cualquier secuencia.

Festo Didactic • TP301


B-112
Capítulo 10

Además, no es esencial para todos los parámetros de entrada que se


les asigne un valor en cada invocación. Si a un determinado parámetro
de entrada no se le asigna un valor en la invocación, se aplica el valor
del parámetro previamente asignado o el valor inicial.
La tabla B10.2 contiene un ejemplo de una invocación a un bloque de
función. Debe sonar un zumbador su una broca está defectuosa. El
estado del zumbador se almacena por medio de un bloque de función RS.
La instrucción RETURN sirve para permitir una salida anticipada de
una función o bloque de función. Lo que sigue es un ejemplo de la
utilización de la instrucción RETURN:

IF X < 0 THEN
Valor := -1;
Error := 1;
RETURN;
END_IF
Y := LOG(X);

Si el valor de X es menor de 0, el bloque conteniendo la secuencia de


instrucciones termina inmediatamente.

10.3 Instrucciones Las instrucciones de selección – conocidas también como instrucciones


de selección de 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 unidad
del programa de organización puede ramificarse de diferentes formas.

Instrucción IF
La forma general de una instrucción IF es:

IF expresión booleana1 THEN instrucción(es)1;


[ ELSIF expresión booleana2 THEN instrucción(es)2; ]
[ ELSE instruccion(es); ]
END_IF;

TP301 • Festo Didactic


B-113
Capítulo 10

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

IF X < 0 THEN X := –X;


END_IF;
Y := SQRT(X);

Si la condición que sigue a la palabra clave IF es cierta, se ejecutan


las instrucciones que siguen a la palabra clave THEN. Si la condición
no se cumple, las instrucciones en la parte THEN no se ejecutan.
En el caso de un ejemplo concreto esto significa: Si la variable X es
menor de 0, es decir, es negativa, se le añade un signo menos, con lo
que representa un valor positivo; si no es este el caso, se ejecuta
inmediatamente la función raíz cuadrada.
Una derivación simple puede conseguirse por medio de una construc-
ción IF-THEN-ELSE

Error := 0;
IF Pieza_ok THEN Numero := Numero + 1;
ELSE Error := 1;
END_IF;

Las instrucciones que siguen a la palabra clave THEN se ejecutan, si


la condición que sigue a la palabra clave IF se cumple; si la condición
no se cumple, se ejecutan las instrucciones formuladas tras la palabra
clave 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; de
lo contrario se activa un bit para la detección del error.

Festo Didactic • TP301


B-114
Capítulo 10

Si debe programarse una derivación para más de dos ramificaciones,


puede emplearse una construcción IF-THEN-ELSIF. La tabla B10.2
ilustra 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 el
discriminante – en este caso la variable B – es menor de 0, se ejecuta
la 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 palabra
clave 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 CASE
Si debe hacerse una selección entre varios grupos de instrucciones
posibles, puede utilizarse la instrucción CASE.
La forma estándar de una selección múltiple con CASE es:

CASE Selector OF
Valor1: instruccion(es)1;
Valor2: instruccion(es)2;
...
ValorN: instruccion(es)n;
[ ELSE
instruccion(es); ]
END_CASE;

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 de
varios valores. Los valores también pueden representar variables del
tipo INT.

TP301 • Festo Didactic


B-115
Capítulo 10

Con la evaluación de la instrucción CASE, primero se determina el


valor 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 valor
del 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 se
selecciona en relación con el valor medido disponible. Los valores para
la selección de la instrucción son el tipo INT.

A menudo es necesario ejecutar instrucciones repetidas veces (bucles 10.4 Instrucciones


de programa). Si el número de repeticiones ha sido previamente defini- de iteración
do, se utiliza el bucle FOR, de lo contrario se utiliza en bucle REPEAT
o el WHILE.

Bucle FOR
La representación estándar para el bucle FOR es:
FOR Variable := Expresion TO expresion [ expresion BY ] DO
instruccion(es);
END_FOR;

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, un
simple bucle FOR se ejecuta de acuerdo con el siguiente mecanismo:

FOR variable de recuento := valor inicial TO valor final DO


Instruccion(es);
END_FOR;

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 especificarse
por la palabra clave BY, seguida por el valor deseado. Sin embargo, la
variable de control no puede ser cambiada dentro del bucle – es decir,
las instrucciones se ejecutan repetidamente. Además, la variable de
control, el valor inicial y el valor final deben ser expresiones del mismo
tipo de dato entero (INT, SINT, DINT).

Festo Didactic • TP301


B-116
Capítulo 10

La prueba para la terminación de la condición se hace al inicio de cada


iteración, de forma que las instrucciones no son ejecutadas si el valor
inicial excede del valor final. Una característica adicional de los bucles
FOR 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és
de un bucle. Cuando el bucle es ejecutado por primera vez, I tiene el
valor inicial 1, el valor de la variable Total es también 1. A la segunda
ejecución del bucle, I tiene el valor 2, la variable Total alcanza el valor
1+2 = 3 etc. Tras el quinto y último bucle, el valor de Total es 15, la
variable de recuento ha alcanzado el valor final 5, y con ello se com-
pleta el procesamiento del bucle.

Bucle REPEAT
A 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ón
de terminación.
La forma del bucle REPEAT es como sigue

REPEAT
instruccion(es);
UNTIL Expresión Booleana
END_REPEAT;

La terminación del bucle REPEAT se verifica tras la ejecución de las


instrucciones de bucle. Por lo tanto el bucle se ejecuta por lo menos
una 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 lo
tanto, 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?

TP301 • Festo Didactic


B-117
Capítulo 10

Un ejemplo de utilización del bucle REPEAT se demuestra en la tabla


B10.2. Aquí también, se suman los primeros cinco números enteros no
negativos.
En la primera ejecución del bucle, I tiene el valor 1, el valor de Total es
también 1. Una comprobación de la condición de terminación muestra
que esto no se cumple, por lo que el bucle se ejecuta de nuevo. El
bucle se ejecuta repetidamente hasta que la condición de terminación
es cierta. Este será el caso hasta la quinta ejecución del bucle en la
que termina. Aquí también, el valor de la variable Total es 15.

Bucle WHILE
El bucle WHILE representa una segunda opción para la formulación de
iteraciones especificando una condición de terminación. La repre-
sentación estándar de un bucle WHILE es:

WHILE Expresión Booleana DO


instruccion(es);
END_WHILE;

Si la expresión Booleana de la palabra clave WHILE se cumple, se


ejecutan 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ón
de las instrucciones del bucle. Por lo tanto, las instrucciones del bucle
puede 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 realmente
para 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 de
terminació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 bucle
deja de procesarse.
En principio, un bucle REPEAT puede reemplazarse por un bucle WHI-
LE y viceversa.

Festo Didactic • TP301


B-118
Capítulo 10

Instrucción EXIT para terminar un bucle


La instrucción EXIT debe utilizarse para terminar iteraciones antes del
final o de que se cumpla la condición de terminación.
El siguiente programa ilustra el ejemplo de una instrucción EXIT:

S := 0;
FOR I := 1 TO 2 DO
FOR J := 1 TO 3 DO
IF 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;

Si la instrucción EXIT se halla dentro de un bucle anidado, la salida


será desde el bucle más profundamente anidado en el que se halla la
instrucción EXIT. La siguiente instrucción a ejecutar es la instrucción
inmediatamente 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 la
variable booleana Error es igual a 0, el algoritmo para la variable S
proporciona el valor 15. Si la variable Error tiene el valor 1, el valor
calculado por S es 3.

TP301 • Festo Didactic


B-119
Capítulo 11

Capítulo 11

Diagrama de funciones secuencial

Festo Didactic • TP301


B-120
Capítulo 11

11.1 Introducción IEC 1131-3 define el diagrama de funciones secuencial (Sequential


Function 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.
Cada programa de un sistema de control secuencial consta de Etapas
y de Transiciones (condiciones de habilitación de la etapa). Aparte de
esto 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 un
determinado camino entre varios posibles, la representación del diagra-
ma de funciones secuencial lo indica de una forma gráfica particular.

11.2 Elementos del La tarea fundamental de un diagrama de funciones secuencial es es-


diagrama de tructurar un programa de control en etapas individuales y en transicio-
funciones nes (condiciones de habilitación de la etapa), interconectadas por enla-
secuencial ces directos.
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 en
forma de un pequeño juego de elementos gráficos básicos definidos,
de sencilla construcción. Estos elementos básicos deben combinarse
para 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 la
medida de lo posible, en el lenguaje de diagrama de funciones según
DIN 40 719 Parte 6 o IEC 848. Las únicas enmiendas hechas fueron
las necesarias para poder generar órdenes ejecutables para un PLC a
partir de un elemento de documentación. Un ejemplo de esto es el
calificador S. En la documentación estándar, este calificador se utiliza
para definir el modo de acción, es decir, la activación y desactivación
de un operando. Un PLC requiere órdenes únicas. Esta es la razón por
la que el diagrama de funciones secuencial emplea dos calificadores
para 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 un
momento dado), las únicas unidades de organización del programa
que pueden estructurarse utilizando estos elementos son los Progra-
mas y los Bloques de Función.

TP301 • Festo Didactic


B-121
Capítulo 11

a) Etapa con identificador ***


***

b) Etapa inicial con identificador ***


***

c) Bloque de acción , conteniendo las


acciones asignadas a una etapa
Campo a: Calificador de la acción a b c
Campo b: Nobre de la acción
d
Campo c: Variable de realimentación
Campo d: Contenido de la acción

d) Transisicón con identificador *** ***


o condición de transición ***

e) Derivación alternativa
Etapa_3

E F
Etapa_4 Etapa_5

f) Unión de rutas alternativas


Etapa_6 Etapa_7

G H

Etapa_8 Tabla B11.1:


Elementos de un diagrama
de funciones secuencial
(representaciòn gráfica)

Festo Didactic • TP301


B-122
Capítulo 11

Etapa_3 g) Derivación paralela (simultánea)

Etapa_4 Etapa_5

h) Unión de rutas paralelas


Etapa_6 Etapa_7

Tabla B11.1: M
Elementos del diagrama
de funciones secuencial Etapa_8
(representación gráfica,
continuación)

La Etapa
Una 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 se
emiten a la planta conectada con el programa de control, sólo pueden
programarse 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 sistema
conectado está definido en cualquier momento por el juego de etapas
activas 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 los
identificadores simbólicos: un nombre simbólico puede consistir sólo de
letras mayúsculas y minúsculas, números y el sigo de subrayado, y
debe empezar siempre con una letra o el signo de subrayado.

Fig. B11.1: Motor_3_activo Vacío_inactivo


Etapas con nombres
de etapa

TP301 • Festo Didactic


B-123
Capítulo 11

Todas las etapas de un programa o bloque de función formuladas en


un diagrama de funciones secuencial deben tener nombres diferentes.
Aunque dos etapas tengan las mismas partes de ejecución, deben ser
designadas 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 estos
datos 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.

a) Motor_3_activo.X Variable booleana indicando si la etapa Motor_3_activo


se halla activa (Motor_e_activo.X=1) o inactiva (=0)
Tabla B11.2:
b) Motor_3_activo.T Variable del tipo TIME indicando el tiempo que ha
Información relativa a una
estado activa la etapa Motor_3_activo desde el inicio.
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 aplicaciones
que requieran el uso de variables en el propio programa de control.

Festo Didactic • TP301


B-124
Capítulo 11

Un caso especial dentro del elemento etapa es la denominada etapa


principal (tabla B11.1b). Esta se dibuja gráficamente por medio de una
doble línea.
Cada red en un diagrama de funciones secuencial tiene una sola etapa
inicial, 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 útil
representar estructuras secuenciales textualmente. El estándar IEC
1131-3 proporciona un equivalente de representación textual de ele-
mentos SFC para ello, que es como sigue para el elemento etapa:

STEP Motor_3_activo
(* Contenido de la etapa *)
END_STEP

STEP Vacio_inactivo
Fig. B11.2: (*Contenido de la etapa*)
Representación textual END_STEP
de las etapas

La representación textual de estructuras secuenciales puede, según el


fabricante, 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 diferentes
fabricantes.

La transición
Una transición o condición de habilitación de una etapa contiene las
condiciones 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á representada
por una línea horizontal que cruza el enlace vertical entre etapas. Cada
transición tiene una condición de transición, que es el resultado de la
evaluación de una expresión booleana. La condición de transición pue-
de formularse en cualquiera de los lenguajes IEC 1131-3, tales como
LD, FBD, IL o ST.

TP301 • Festo Didactic


B-125
Capítulo 11

Una condición de transición o en cierta y entonces tiene el valor 1, o


es 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 simplemente
con el número 1 en la transición. Las condiciones de transición de este
tipo que son siempre ciertas pueden producirse frecuentemente en un
programa o bloque de función en un diagrama de funciones secuencial.

Condición de transición siempre cierta 1

Condición de transición siempre falsa 0


Tabla B11.3:
Transiciones especiales

Interconexión de etapas y condiciones de habilitación de etapas


En la práctica, no puede conseguirse mucho con una simple etapa o
con una transición. Por lo tanto, un programa de control representado
en diagrama de funciones secuencial estará compuesto siempre por
una sucesión de muchas transiciones y etapas.
Una secuencia de transiciones y etapas se denomina cadena de eta-
pas, secuencia o también recorrido.

Etapa_5

Etapa_6

Etapa_7

Fig. B11.3:
F
Etapas y transiciones
en secuencia

Festo Didactic • TP301


B-126
Capítulo 11

Aquí, las transiciones y etapas deben alternarse continuamente. El re-


corrido lógico a través de esta representación es siempre de arriba a
abajo. 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 permanece
activa 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 la
activación de la siguiente Etapa_6. En el momento en que la Etapa_6
está activa, se examina la transición E de control. Si la transición E es
cierta, termina la Etapa_6 y se procesa la Etapa_7, etc.

La derivación alternativa
A menudo es necesario programar una derivación en un programa de
control, con lo que el programa puede continuar en diferentes lugares
en este punto.
La derivación alternativa a diferentes recorridos se representa por el
correspondiente número de transiciones tras la línea horizontal. En el
ejemplo de la tabla B11.1e, se sigue la ruta hacia la Etapa_4 si la
transición E es cierta y la F falsa, o hacia la Etapa_5, si la transición F
es cierta y la E falsa.
La correspondiente contrapartida a la derivación alternativa es la unión
de 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 la
transició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 se
realiza 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 la
Etapa_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 es
obligatorio que las transiciones de las derivaciones sean mutuamente
excluyentes.

TP301 • Festo Didactic


B-127
Capítulo 11

Si no existen otras especificaciones, se sigue la ruta que se halla más


a 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 por
los 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 con
una triple derivación alternativa podría ser como sigue:

Etapa_3

D E F
Etapa_4 Etapa_5 Etapa_6

G H I
Fig. B11.4:
Derivación alternativa:
Etapa_7 Procesamiento de
transiciones de
izquierda a derecha

Sin embargo, el estándar IEC 1131-3 también ofrece la facilidad para


el usuario de definir la prioridad durante la ejecución de las transicio-
nes. La definición de la funcionalidad de las derivaciones alternativas
en IEC 848, que requiere que el usuario programe una exclusión mú-
tua de las condiciones de transición, está también soportada por IEC
1131-3 como un tercer método.

Festo Didactic • TP301


B-128
Capítulo 11

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 la
transición. La ruta con el número más bajo tiene la mayor prioridad.

Etapa_7

2 1
D E
Fig. B11.5:
Derivación alternativa Etapa_8 Etapa_9
con prioridad definida
por el usuario

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ón
D es cierta y la transición E es falsa.
Una estructura en bucle puede considerarse como un caso especial de
derivación alternativa, en la que uno o varias etapas regresan a una
etapa precedente.

Etapa_3

Etapa_4

D
Etapa_5

E F

Fig. B11.6: Etapa_6


Representación
de un bucle

En la fig. B11.6, el flujo del programa evoluciona desde la Etapa_5 a la


Etapa_4 si la condición F es cierta y la E es falsa. De esta forma
puede repetirse la evolución de la secuencia Etapa_4 a Etapa_5.

TP301 • Festo Didactic


B-129
Capítulo 11

La derivación paralela
Un 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 esta
línea (tabla B11.1g). Cuando se cumple la transición B, se produce una
evolución de la Etapa_3 a la Etapa_4 y Etapa_5. Estas dos etapas se
ejecutan 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ínea
horizontal.
La unión paralela contiene un mecanismo para la sincronización. Sólo
cuando los recorridos procedentes de arriba se han ejecutado comple-
tamente, se evalúa la subsecuente transición. Si es cierta, se realiza la
transición a la siguiente etapa. En la tabla B11.1h esto significa: ambas
etapas Etapa_6 y Etapa_7 deben haber transcurrido antes de la eva-
luación de la transición F.

Etapa_4 Etapa_5 Etapa_6

G
Etapa_7

H Fig. B11.7:
Representación de una
derivación en paralelo triple

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 etapas
Etapa_6 y Etapa_8, el programa de control puede tener que esperar
hasta que se cumpla la transición G. Por lo tanto, la transición inferior
H 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.

Festo Didactic • TP301


B-130
Capítulo 11

11.3 Transiciones Cada transición es asignada a una condición de transición (condición


de habilitación de la etapa). Esto lo proporciona el resultado de una
ecuación Booleana.
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 u
otra variable booleana. Sin embargo, es también posible programar
condiciones de habilitación de la etapa considerablemente más com-
plejas.
Formulación de condiciones de transición
Las condiciones de transición pueden programarse en los siguientes
lenguajes
Diagrama de contactos
Diagrama de funciones
Lista de instrucciones
Texto 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).

a) Condición de transición Etapa_3


en lenguaje LD %IX3 %MX1

Etapa_4

b) Condición de transición Etapa_3


en lenguaje FBD
%IX3 &
%MX1
Etapa_4

c) Condición de transición Etapa_3


en lenguaje ST

%IX3 & %MX1


Fig. B11.8:
Especificación directa Etapa_4
de una condición
de transición

TP301 • Festo Didactic


B-131
Capítulo 11

Aquí, dos resultados están conectados a través de una función lógica


AND, con lo que la condición de transición no se cumplirá hasta que
ambas entradas %IX3 y el flag %MX1 asuman el valor 1.
La señal pasa de izquierda a derecha en los lenguajes gráficos LD y
FBD, la parte LD o FBD se define a la izquierda, junto al símbolo de la
transición (línea horizontal).
La expresión Booleana en el lenguaje ST se define a la derecha del
símbolo de transición.

Etapa_3

Nombre de la transición Tran_3_4

Etapa_4

a) Condición de transición TRANSITION Tran_3_4:


en lenguaje LD %IX3 %MX1 Tran_3_4

END_TRANSITION

b) Condición de transición TRANSITION Tran_3_4:


en lenguaje FBD
%IX3 & Trans_3_4
%MX1

END_TRANSITION

c) Condición de transición TRANSITION Tran_3_4:


en lenguaje IL LD %IX3
AND %MX1
END_TRANSITION

d) Condición de transición TRANSITION Tran_3_4: Fig. B11.9:


en lenguaje ST : = %IX3 & %MX1; Asignación de una
condición de transición,
END_TRANSITION especificando un nombre
para la transición

Festo Didactic • TP301


B-132
Capítulo 11

Si se utiliza un nombre de transición como mecanismo de asignación


de 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 el
resultado booleano es reproducido en el nombre de la transición.
Los nombres de transición dentro de una unidad de organización de
programa, como los nombres de las etapas, deben diferir unos de
otros. Un nombre se formula de acuerdo con las reglas IEC 1131-3
aplicables a los identificadores.
IEC 1131-3 define también una representación textual equivalente para
el elemento gráfico Transición. La verdadera condición de transición se
programa 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_STEP


TRANSITION FROM Etapa_3 TO Etapa_4
:= %IX3 & %MX1;
END_TRANSITION
STEP Etapa_4: END_STEP

b) Condición de transición formulada en lenguaje IL

STEP SEtapa_3: END_STEP


TRANSITION FROM Etapa_3 TO Etapa_4
LD %IX3
AND %MX1;
Fig. B11.10: END_TRANSITION
Representación STEP Etapa_4: END_STEP
textual de transiciones

TP301 • Festo Didactic


B-133
Capítulo 11

Una etapa representa la parte de ejecución de un diagrama de funcio- 11.4 Etapas


nes secuencial. Sólo dentro de las etapas puede un programa o un
bloque de función, dentro de un control, influir en el sistema conectado
a través de sus salidas, activando o desactivando las salidas.
Estructura de una etapa dentro de las acciones
Cada etapa puede contener varias acciones. Cada una de estas accio-
nes realiza una tarea para el sistema conectado. La estructura de una
etapa en acciones individuales inicialmente es tan sólo una función de
ordenació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ón
de una etapa en acciones individuales también define una funcionali-
dad adicional.
Una etapa que no contenga ninguna acción puede ser considerada
como un caso especial. Su única finalidad es separar dos condiciones
de habilitación de etapa, que van a ser evaluadas consecutivamente.
Ello permite una función de espera, en la que la primera condición de
habilitación de la etapa tiene prioridad, independientemente de si la
segunda se ha cumplido o no, y la segunda condición de habilitación
de la etapa debe cumplirse a continuación.
Bloques de acción
La programación gráfica de etapas se realiza a través de bloques de
acción individuales. cada acción es, por lo tanto, conectada con una
característica particular.
Un bloque de acción es representado en forma tabular, que contiene
posiciones fijas para la especificación del calificador de la acción, el
nombre 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 c
d

Campo a: Calificador de la acción:


N = no memorizante D = retardado en el tiempo
S = activar, memorizante DS = retard. en tiempo y memoriz.
R = desactivar SD = memoriz y retardado en tiempo
P = pulsó (único) SL = memoriz. y limitado en tiempo
L = limitado en el tiempo

Campo b: Nombre de la acción


Campo c: Variable de realimentación Fig. B11.11:
Campo d: Contenido de la acción Representación gráfica
de un bloque de acción

Festo Didactic • TP301


B-134
Capítulo 11

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ón
y 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.

Etapa_8 L Acción_1 Var_1


T#10s
Var_1
P Acción_2
N Acción_3
Fig. B11.12:
Lista de bloques de acción

La asignación de acciones a una etapa en forma gráfica se realiza por


medio de bloques de acción.
Sin embargo, la asignación también puede formularse textualmente. En
el caso del ejemplo mostrado en la fig, B11.12, esto resulta en la si-
guiente representación:

STEP Etapa_8
Acción_1( L, T#10s, Var_1 );
Acción_2( P );
Fig. B11.13: Acción_3( N );
Representación textual de END_STEP
una etapa con acciones

El contenido de una acción, es decir, la propia acción, puede definirse


por medio de varios métodos:
Especificación de una variable booleana
Programación en lista de instrucciones
Programación en texto estructurado
Diagrama de contactos
Diagrama de funciones
Diagrama de funciones secuencial

TP301 • Festo Didactic


B-135
Capítulo 11

La utilización de una variable booleana representa una forma simple y


frecuentemente utilizada de una acción. En muchos casos, sin embar-
go, se requieren acciones más complejas conteniendo una conexión
lógica útil de información diferente.
En los ejemplos B11.14 a B11.16, la salida %QX1.2 se activa, si la
entrada %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.

Acción_2

%IX0.5 >=1 %QX1.2


%MX1 &
%MX3
Fig. B11.14:
Formulación de acciones:
declaración gráfica en FDB

Acción_2
%IX0.5 %QX1.2

%MX1 %MX3 Fig. B11.15:


Formulación de acciones:
Declaración gráfica en
lenguaje LD

Lenguaje IL Lenguaje ST

ACTION Acción_2: ACTION Acción_2:


LD %IX0.5 %QX1.2 := %IX0.5 OR (%MX1 AND %MX3);
OR ( %MX1 END_ACTION
AND %MX3
)
ST %QX1.2
Fig. B11.16:
END_ACTION
Formulaciòn de acciones:
Declaración textual

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 de
acciones en una etapa y la propia etapa puede seguir contiendo es-
tructuras secuenciales (fig. B11.17).

Festo Didactic • TP301


B-136
Capítulo 11

Acción_4

Marcha

Pieza_presente

Color L Determinar_color
T#1s
C_ok
Fig. B11.17:
Formulación de acciones:
Inclusión de elementos
SFC en una acción

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 como
contenido de la acción, es permisible una posterior simplificación en la
representación de un bloque de acción.

Fig. B11.18: S %QX12


Representación simplificada
de un bloque de acción

Una variable de realimentación (campo c) puede introducirse en cada


bloque de acción. Las variables de realimentación son programadas
por 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 de
etapas y transiciones está estructurada de forma tal que la acción de un
paso establece la subsecuente condición de habilitación de la etapa.

Etapa_2 S Cilindro_1 Pos_1

Pos_1

Etapa_3 S Cilindro_2
S Vacio_activo Vac_on
Vac_on

Etapa_4 R Cilindro_1 Pos_2

Pos_2
Fig. B11.19:
Uso de variables
de realimentación

TP301 • Festo Didactic


B-137
Capítulo 11

Modo de acción de los calificadores de acción


El tipo de ejecución de las acciones programadas por el usuario se
define 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 memorizante
SD 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ón
asociada 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 una
etapa está inactiva, no se ejecuta ninguna de las acciones de la etapa.
Dentro de una etapa activa, se aplican los siguientes métodos para la
ejecución de un calificador de acción.

N No memorizante
la acción se ejecuta mientras la etapa esté activa.

N %QX12

Etapa 1
activa 0
1
%QX12
0 Fig. B11.20:
Acción no memorizant

En el ejemplo citado, la salida %QX12 está activada mientras la etapa


que 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, la
salida se desactiva automáticamente.

Festo Didactic • TP301


B-138
Capítulo 11

S Set - Activar
la ejecución de la acción de activación se ejecuta permanentemente
(activación memorizante).

S %QX12

Etapa 1
activa 0
Fig. B11.21: 1
%QX12
Acción Set 0
(activar - 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 cumple
y la etapa considerada ya no sigue activa. La salida solamente puede ser
desactivada en otro paso, en otra acción, definida con el calificador R.

R Reset - Desactivar
se cancela una acción de activación previa (realizada en otra etapa)
con el calificador S, DS, SD, L o SL.

R %QX12

Etapa 1
activa 0
Fig. B11.22: 1
%QX12
Acción Reset 0
(desactivar - memorizante)

La salida %QX12 ha sido activada en otra etapa, en una acción con


uno de los calificadores S, DS, SD, L o SL y desactivada de nuevo a
través de esta acción

TP301 • Festo Didactic


B-139
Capítulo 11

P Pulso (único)
ejecución única de la acción

P %QX12

Etapa 1
activa 0
1
%QX12
0 Fig. B11.23:
Acción única

Durante la ejecución inicial de la acción, dentro del procesamiento de


la etapa, la salida %QX12 se activa exactamente un ciclo del control y
se desactiva de nuevo. La salida sólo podrá activarse de nuevo tras la
salida y una nueva entrada en la etapa.

L Limitada en el tiempo
La acción se ejecuta durante un tiempo específico.

L
%QX12
T#10s

Etapa 1
activa 0
1
%QX12
0 Fig. B11.24:
10s 10s Acción limitada
en el tiempo

La salida %QX12 se activa durante 10 segundos y a continuación se


desactiva. Esto requiere que la etapa que contenga esta acción esté
activa por un período de por lo menos 10 segundos. Si las condiciones
de 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.

Festo Didactic • TP301


B-140
Capítulo 11

D Retardada en el tiempo
La ejecución de la acción es retardada hasta el final de la etapa.

D
%QX12
T#10s

Etapa 1
activa 0
1
%QX12
Fig. B11.25: 0
Acción retardada 10s 10s
en el tiempo

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 memorizante


La ejecución de la acción es retardada en el tiempo y mantenida
más allá del final de la etapa.

DS
%QX12
T#10s

Etapa 1
activa 0
10s 10s

1
%QX12
0

R 1
Fig. B11.26: activo 0
Acción retardada en el (en otra etapa)
tiempo y memorizante

En este ejemplo también, la salida %QX12 se activa una vez transcu-


rridos 10 segundos. Sin embargo, permanece activada hasta que se
haya 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ón
de la etapa no es suficientemente larga, en este caso, menos de 10
segundos, la salida nunca será activada.

TP301 • Festo Didactic


B-141
Capítulo 11

SD Memorizante y retardada en el tiempo


la ejecución de la acción es retardada en el tiempo y se mantiene
más allá del final de la etapa

SD
%QX12
T#10s

Etapa 1
activa 0
10s 10s

1
%QX12
0

R 1
activo 0 Fig. B11.27:
(en otra etapa) Acción memorizante y
retardada en el tiempo

Aquí también, la salida %QX12 se activa transcurridos los 10 segun-


dos. Permanece activada después del final de la etapa y solamente
puede ser desactivada explícitamente a través de otra acción con el
calificador 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 tiempo


la acción es ejecutada continuamente por un periodo específico.

SL
%QX12
T#10s

Etapa 1
activa 0
10s 10s

1 Fig. B11.28:
%QX12
0 Acción memorizante y
limitada en el tiempo

La salida es activada durante 10 segundos y a continuación es


desactivada de nuevo. A diferencia del modo de acción del califi-
cador L, no es necesario que el paso esté activo por un mínimo
de 10 segundos.

Festo Didactic • TP301


B-142
Capítulo 11

Si la siguiente condición de habilitación del paso se cumple antes de


que expire este tiempo, es decir, si la etapa está activa menos de 10
segundos, el período activo de la salida no se ve afectado por esto. La
salida puede ser desactivada en cualquier momento a través de otra
acción con el calificador R.
El modo de acción de los calificadores individuales ha sido ilustrado en
el 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 es
diferente a las variables booleanas examinadas previamente. Las re-
des son continuamente procesadas mientras la etapa esté activa. Sin
embargo, así que se cumple la siguiente condición de habilitación del
paso, 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 del
procesamiento de una acción, cuando se utiliza el calificador N para
acciones más complejas.

Etapa_5 N Acción_1

&
%IX1.0 %QX1.0
%MX12
Step_5.X

SR_1
SR
%IX1.5 S1 Q1 %QX1.5
R
Fig. B11.29:
Acción compleja en
lenguaje FBD

Si la Etapa_5 es desactivada, el último procesamiento de la red se


realiza con el valor 0 para el flag de etapa Etapa_5.X. Esto hace que
la salida %QX1.0 se desactive a 0 cuando se sale de la etapa.

TP301 • Festo Didactic


B-143
Capítulo 11

Descripción del problema 11.5 Ejemplo


Unos componentes se trasladan juntos en una cinta transportadora ha-
cia una estación de procesamiento doble. Las unidades de taladrado y
avellanado descienden cuando el componente se halla en posición. Se
utilizan dos cilindros 1.0 y 2.0 para mover las dos herramientas de
mecanizado. El dispositivo de transporte es indexado una posición de
trabajo a través de un tercer cilindro 3.0.
Dos sensores B1 y B2 están dispuestos para detectar si la pieza se
halla debajo de la broca o del avellanador. Las profundidades necesa-
rias de taladrado y avellanado se detectan a través de los sensores de
posición B6 y B7. Las posiciones iniciales del cilindro de transporte,
taladrado y avellanado pueden detectarse a través de los estados de
los sensores B3, B4 y B5. El sensor B8 indica el avance del cilindro de
transporte.
El sistema no puede garantizar siempre que habrá una pieza bajo la
broca 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.

1.0 2.0

B3 B4

B6 B7

B1 B2

3.0

B5 B8 Fig. B11.30:
Croquis de situación

Festo Didactic • TP301


B-144
Capítulo 11

Lista de asignaciones

Denominación Entrada PLC/ Tarea


del componente Salida PLC

B1 %IX0.1 Detectar la pieza bajo el taladro


B2 %IX0.2 Detectar la pieza bajo el avellanador
B3 %IX0.3 Posición inicial del taladro (arriba)
B4 %IX0.4 Posición inicial del avellanador (arriba)
B5 %IX0.5 Posición inicial del transportador
B6 %IX0.6 Taladro en posición baja
B7 %IX0.7 Avellanador en posición baja
B8 %IX0.8 Cilindro de transporte extendido
Y1 %QX0.1 Bajar taladro
Y2 %QX0.2 Bajar avellanador
Tabla B11.4: Y3 %QX0.3 Alimentar transporte
Lista de asignaciones

Problema
Debe diseñarse un programa de control para esta tarea. La solución es
conseguir una configuración por medio de un diagrama de funciones
secuencial. Las condiciones y acciones deben entonces aplicarse a las
etapas 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.

TP301 • Festo Didactic


B-145
Capítulo 11

Solución

Marcha R Y1
R Y2
B3 B4 B5 R Y3

B1 B1 B2 B2
/ /

Taladrado S A Avellanado S B
B6 B7

T_arriba R A A_arriba R B
B3 B4

Transporte S C
B8

Fig. B11.31:
Programa en lenguaje
secuencial

Festo Didactic • TP301


B-146
Capítulo 11

Todos los cilindros son llevados a su posición inicial en una primera


etapa. Al final del programa, esta etapa se utiliza también para hacer
retroceder el cilindro que ha avanzado durante la última etapa para el
dispositivo de transporte.
Cuando todos los cilindros se hallan en su posición inicial, empieza
una derivación en paralelo con dos secuencias, una para taladrar y
otra para avellanar. En este ejemplo, ambas secuencias contienen las
mismas tareas, pero utilizan diferentes herramientas. La secuencia de
la izquierda hace bajar la broca y la eleva de nuevo, y la secuencia de
la derecha hace lo mismo con el avellanador. Las secuencias difieren
meramente en la utilización que hacen de sensores y actuadores. Al
principio y al final de ambas secuencias se ha incorporado una etapa
vací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 de
taladrado. De lo contrario se elude todo el proceso de taladrado a tra-
vés de una ruta alternativa. El taladrado del agujero empieza haciendo
descender la broca activando Y1. Cuando se alcanza la posición más
baja, es decir, cuando ha finalizado el taladrado del agujero, el sensor
B6 emite una señal 1. En la siguiente etapa, la broca regresa a su
posición normal en la parte superior. Esta parte de la derivación alter-
nativa termina cuando la broca alcanza la parte superior. El programa
sigue el mismo procedimiento para el avellanado.
Cuando ambas secuencias paralelas se han completado, se produce
una transición en el programa a la etapa de transporte. La necesaria
sincronización – es decir, taladrado y avellanado finalizados – está
asegurada por el diagrama de funciones secuencial y por lo tanto no
requiere ningún tratamiento especial. En este punto se inserta siempre
una condición de habilitación del paso que sea cierta para alternar las
etapas y las transiciones.
En la última etapa Transporte, el cilindro del dispositivo de transporte
avanza y se espera que se haya completado la acción en la siguiente
condición de transición. A continuación, todo el proceso empieza de
nuevo.

TP301 • Festo Didactic


B-147
Capítulo 12

Capítulo 12

Sistemas de control lógico

Festo Didactic • TP301


B-148
Capítulo 12

12.1 ¿Qué es un Los sistemas de control lógico son controladores programados a través
sistema de del uso de operaciones booleanas. Todas las operaciones lógicas son
control lógico? procesadas y ejecutadas durante un ciclo de máquina.
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 tiempo
al proceso, sino que todas o la mayor parte de las condiciones del
programa de control son examinadas simultáneamente.
Por ello pueden encontrarse ejemplos de sistemas de control lógico en
aplicaciones de PLC, en donde son importantes los aspectos de segu-
ridad. A menudo se requiere que la supervisión de ciertas tareas sea
permanente e independiente de la ejecución del proceso en relación
con el tiempo. Estos requerimientos se aplican, por ejemplo en:
Circuitos de protección: un dispositivo solamente puede cargar si
todos los dispositivos de protección están conectados.
Enclavamiento de seguridad

12.2 Sistemas de Los sistemas de control lógico sin propiedades memorizantes (combi-
control lógico natorios) pueden describirse por medio de una combinación de opera-
sin propiedades ciones booleanas, mientras que las señales de salida de un control
memorizantes están determinadas por una combinación de señales de entrada en un
determinado momento.
Las operaciones lógicas básicas AND, OR y NOT pueden utilizarse
para crear operaciones lógicas completas – y por lo tanto, también
sistemas de control.
Se utilizan diversos métodos del álgebra booleana, tales como tablas
de función, ecuaciones booleanas y la forma normal disyuntiva (DNF)
para describir el problema y hallar la solución. La importancia de estos
mé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 un
sistema de control lógico es preferible hacerla en los lenguajes de dia-
grama de contactos o el diagrama de bloques de función.

TP301 • Festo Didactic


B-149
Capítulo 12

Típicas operaciones booleanas


Lo que sigue representan tareas básicas de la tecnología de control,
tales como las operaciones booleanas que se realizan por medio de un
PLC.
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 de
las entradas y salidas necesarias para el PLC. Además, se relacionan
tambié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 el
valor 0 y viceversa.
El piloto H1 se ilumina mientras el interruptor S1 no está accionado; se Ejemplo
apaga si se cierra el interruptor. Por lo tanto, la finalidad de S1 es
apagar el piloto.

Tabla de funciones Ecuación Booleana

S1 H1 H1 = S1
0 1
1 0
Fig. B12.1:
Métodos de descripción

VAR
S1 AT %I2.5 : BOOL;
H1 AT %Q1.4 : BOOL;
END_VAR Fig. B12.2:
Declaración de variables

Festo Didactic • TP301


B-150
Capítulo 12

a) LD b) FBD
S1 H1

/ S1 NOT H1

c) IL d) ST

LDN S1 H1 : = NOT S1;


ST H1
Fig. B12.3:
Negación

Operación AND:
La señal de salida solamente asume el valor 1, si todas las señales de
entrada tienen el valor 1.
Ejemplo El piloto H1 debe iluminarse sólo si los dos interruptores S1 y S1 están
accionados simultáneamente.

Tabla de funciones Ecuación Booleana

S1 S2 H1 H1 = S1 S2
>

0 0 0
0 1 0
1 0 0

Fig. B12.4: 1 1 1
Métodos de descripción

VAR
S1 AT %I2.5 : BOOL;
S2 AT %I2.6 : BOOL;
H1 AT %Q1.4 : BOOL;
Fig. B12.5: END_VAR
Declaración de variables

TP301 • Festo Didactic


B-151
Capítulo 12

a) LD b) FBD
S1 S2 H1
S1 & H1
S2

c) IL d) ST

LD S1 H1 : = S1 AND S2;
AND S2
ST H1 Fig. B12.6:
Operación AND

Operación OR
La 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 interruptores Ejemplo
S1 o S2 está activado.

Tabla de funciones Ecuación booleana

S1 S2 H1 H1 = S1 S2
>

0 0 0
0 1 1
1 0 1
1 1 1 Fig. B12.7:
Métodos de descripción

VAR
S1 AT %I2.5 : BOOL;
S2 AT %I2.6 : BOOL;
H1 AT %Q1.4 : BOOL;
END_VAR Fig. B12.8:
Declaración de variables

Festo Didactic • TP301


B-152
Capítulo 12

a) LD b) FBD
S1 H1
S1 >=1 H1
S2
S2

c) IL d) ST

LD S1 H1 : = S1 OR S2;
OR S2
Fig. B12.9: ST H1
Operación OR

Operaciones lógicas combinadas


Ejemplo El piloto H1 debe iluminarse sólo si precisamente dos de los tres inte-
rruptores S1, S2 y S3 están activados.
Los primero que hay que crear es la tabla de funciones, en la que se
seleccionan aquellas combinaciones que dan el resultado 1. Estas son
las líneas 4, 6 y 7. La ecuación booleana y por lo tanto la solución
puede 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.

Tabla de funciones Ecuación booleana

S1 S2 S3 H1 H1 = (S1 S2 S3)
> > >

> > >

0 0 0 0 (S1 S2 S3)
> >

0 0 1 0 (S1 S2 S3)
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
Fig. B12.10:
Métodos de descripción

TP301 • Festo Didactic


B-153
Capítulo 12

VAR
S1 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

a) LD b) FBD
S1 S2 S3 H1 S1 &
/ S2
S3
S1 S2 S3
S1 & >=1 H1
/ S2
S3
S1 S2 S3
S1 &
/
S2
S3

c) IL d) ST

LD ( S3 H1 : = (NOT S1 AND S2 AND S3)


AND S2 OR (S1 AND NOT S2 AND S3)
ANDN S1 OR (S1 AND S2 AND NOT S3);
)
OR ( S1
ANDN S2
AND S3
)
OR ( S1
AND S2
ANDN S3
)
Fig. B12.12:
ST H1 Combinación de
operaciones booleanas

Festo Didactic • TP301


B-154
Capítulo 12

12.3 Sistemas de Muchas aplicaciones de PLC requieren operaciones memorizantes.


control lógico Una función memorizante consiste en la retención, es decir, el almace-
con función namiento, del estado de una señal de breve duración. En un instante
memorizante determinado, 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".
El ejemplo dado aquí es el de un interruptor para encender o apagar
un 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

SR
BOOL S1 Q1 BOOL
BOOL R
Fig. B12.13:
Bloque de función SR, de
activación prioritaria

El bloque de función estándar SR contiene un flip-flop de activación


prioritaria (memoria biestable con estado 1 preferente). Una señal 1 en
la entrada de activación S1 activa el flip-flop, es decir, el valor Q1 pasa
a 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 lo
tanto, la entrada de activación en este flip-flop es dominante.

TP301 • Festo Didactic


B-155
Capítulo 12

Bloque de función RS

RS
BOOL S Q1 BOOL
BOOL R1
Fig. B12.14:
Bloque de función RS,
desactivación prioritaria

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ñal
1 en la entrada de desactivación R1, desactiva el flip-flop, es decir, el
valor de Q1 pasa a 0. El valor que haya en la entrada S es irrelevante
en 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 el Ejemplo
sistema. Debe sonar un zumbador H1. El zumbador sólo puede ser
desactivado presionando el pulsador S1. Debe ser posible desactivar el
zumbador, aún en el caso que la señal B1 siga activada.

VAR
B1 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

En los lenguajes FBD y ST, las operaciones con memoria se realizan


invocando 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 copia
del bloque de función es relevante, la salida de la copia del bloque de
función se conecta correspondientemente.

Festo Didactic • TP301


B-156
Capítulo 12

a) LD b) FBD
B1 H1 RS_H1
S RS
B1 S Q1 H1
S1 H1
S1 R1
R

c) IL d) ST

LD B1 RS_H1 (S := B1, R1 := S1);


S H1 H1 := RS_H1.Q1;
LD S1
R H1

or

CAL RS_H1 (S := B1, R1 := S1)


Fig. B12.16: LD RS_H1.Q1
Utilización de un ST H1
bloque de función RS

En el lenguaje textual ST, la invocación se realiza especificando la


copia del bloque de función. Los parámetros actuales también se rela-
cionan simultáneamente. Puede accederse al valor de la salida de la
copia 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 de
los nombres de la copia del bloque de función y los nombres de las
salidas 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 el
comportamiento del PLC. La orden que debe ser dominante – en este
caso la orden de desactivación – solamente debe producirse después
de la orden de activación en el programa, de forma que es la última
orden que se ejecuta y por lo tanto determina el comportamiento – en
este caso de la salida.

TP301 • Festo Didactic


B-157
Capítulo 12

Las señales que llegan a las entradas procedentes de los sensores 12.4 Evaluación
son evaluadas como señales 1 o señales 0 por la unidad central del de flancos
PLC, 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.
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 sistema Ejemplo
de iluminación, en la que la evaluación del flanco se realiza mecánica-
mente. Al accionar el pulsador, la luz se enciende (independientemente
del tiempo que se esté presionando el pulsador). Si se ha soltado el
pulsador, la luz puede apagarse presionando de nuevo el mismo pulsador.
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 siempre
puede 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 repetidamente
por el control, si se presionada durante mucho tiempo un pulsador. Los
flancos 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ñal Flancos ascendentes
binaria tiene un flanco ascendente y un flanco descendente: y descendentes

flanco flanco
ascendente ascendente
1

0
flanco flanco
descendente descendente Fig. B12.17:
Flancos ascendentes
y descendentes

Los flancos ascendentes marcan el instante en que el nivel de la


señal pasa de 0 a 1.
Los flancos descendentes marcan el instante en que el nivel de la
señal pasa de 1 a 0.

Festo Didactic • TP301


B-158
Capítulo 12

Evaluar el flanco ascendente o descendente en un programa o bloque


de 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 el
momento 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 ascendente


El bloque de función estándar R_TRIG (ascendente) se utiliza para la
detección de flancos positivos. Su salida Q tiene el valor 1 desde una
ejecución del bloque de función al siguiente, si su entrada CLK (reloj
para pulso) cambia de 0 a 1.

R_TRIG
Fig. B12.18:
Bloque de función BOOL CLK Q BOOL
R_TRIG,
flanco ascendente

Bloque de función F_TRIG, flanco descendente


Un flanco descendente o de conmutación negativa, se detecta por me-
dio del bloque de función F_TRIG (descendente). Si se ha producido
un cambio en la entrada CLK de 1 a 0, la salida Q asume el valor 1
para un ciclo de procesamiento.

F_TRIG
Fig. B12.19:
Bloque de función BOOL CLK Q BOOL
F_TRIG,
flanco descendente

TP301 • Festo Didactic


B-159
Capítulo 12

El siguiente ejemplo muestra la programación de la evaluación de un


flanco en los lenguajes FBD, LD, IL y ST, en donde se evalúan los
flancos ascendentes.
El accionamiento de un pulsador S1 hace que se abra la puerta de un Ejemplo
horno. Una nueva actuación sobre el pulsador S1 hace que la puerta
se cierre.

VAR
S1 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

a) LD
S1 Y1 Y1

P / S

S1 Y1 Y1

P R

b) FBD
RS_Y1
R_TRIG_S1 Y1 & RS
R_TRIG S Q1 Y1
S1 CLK Q R1
&
Y1

c) IL

CAL R_TRIG_S1 (CLK := S1)


LD R_TRIG_S1.Q
ANDN Y1
S Y1
LD R_TRIG_S1.Q
AND Y1
R Y1

d) ST

R_TRIG_S1 (CLK := S1);


RS_Y1 ( S := R_TRIG_S1.Q & NOT Y1,
R1 := R_TRIG_S1.Q & Y1); Fig. B12.21:
Y1 := RS_Y1.Q1; Utilización del bloque
de función R_TRIG

Festo Didactic • TP301


B-160
Capítulo 12

En los lenguajes FBD, IL y ST, la detección del flanco se realiza por


medio de la invocación al bloque de función R_TRIG. El nombre del
bloque de función utilizado en el ejemplo es R_TRIG_S1; R_TRIG_S1
representa una copia del bloque de función tipo R_TRIG.
El lenguaje LD tiene contactos especiales para la evaluación de los
flancos, por lo que se omite la invocación del bloque de función
R_TRIG.

TP301 • Festo Didactic


B-161
Capítulo 13

Capítulo 13

Temporizadores

Festo Didactic • TP301


B-162
Capítulo 13

13.1 Introducción Muchas tareas de control requieren la programación de tiempos. Por


ejemplo, 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ñal
con retardo a la conexión. Los retardos a la conexión de las señales
durante la conexión de las etapas de potencia se necesitan a menudo
por razones de seguridad.
Los temporizadores en un PLC se realizan en forma de módulos de
software y están basados en la generación digital de un tiempo. Los
pulsos de reloj contados se obtienen del generador de cuarzo del mi-
croprocesador. La duración del tiempo establecida se establece en el
programa de control.
IEC 1131-3 define tres tipos de bloques de función de temporizador
TP Pulse timing - Temporizador de pulso
TON On-delay timing - Temporizador a la conexión
TOF Off-delay timing - Temporizador a la desconexión
La duración del tiempo está especificada por medio de un formato de
carácter definido. Una especificación de tiempo se introduce por los
caracteres 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 de


tiempos:

d Día

h Hora

m Minuto

s Segundo

ms Milisegundo

Los detalles relacionados con las especificaciones de tiempo pueden


hallarse en el capítulo 6.2.

T#2h15m

t20s

T#10M25S

t#3h_40m_20s

TP301 • Festo Didactic


B-163
Capítulo 13

El bloque de función TP es un temporizador de pulso, que se pone en 13.2 Temporizador


marcha por una señal-1 larga o corta en la entrada IN. En la salida Q de pulso
aparece 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 de
nuevo mientras esté activo el tiempo de pulso. El valor actual el tempo-
rizador de pulso está disponible en la salida ET (tiempo estimado).

TP
BOOL IN Q BOOL
TIME PT ET TIME
Fig. B13.2:
Bloque de función TP,
temporizador de pulso

IN

PT

ET

Fig. B13.1:
Q Diagrama de tiempos
de un temporizador
de pulso TP

Festo Didactic • TP301


B-164
Capítulo 13

Con la ayuda de un ejemplo, se expone la utilización de un temporiza-


dor de pulso.
Ejemplo Presionando el pulsador de marcha S2 se hace avanzar el émbolo de
un 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.

VAR
S2 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 *)
Fig. B13.3: END_VAR
Declaración de variables

S2 &
SR_Y1
B1
SR
TP_Y1 S1 Q1 Y1
R
TP
B2 IN Q &
T#20s PT ET

Fig. B13.4: B2
Uso de un temporizador
de pulso en FBD

Esta tarea de control ha sido programada en el lenguaje FBD como


ejemplo. 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 esto
con los lenguajes FBD, LD, IL y ST.

TP301 • Festo Didactic


B-165
Capítulo 13

La válvula Y1 para el accionamiento del cilindro se activa a través de


un flip-flop SR, SR_Y1. La condición de activación para SR_Y1 se
cumple 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 flanco
ascendente del sensor B2. La salida Q de TP_Y1 asume ahora una se-
ñal-1. Una vez que ha expirado el temporizador de pulso – transcurridos
los 20 segundos – la salida Q de TP_Y1 asume el valor 0. Se cumple la
condición de desactivación de SR_Y1: el cilindro retrocede de nuevo.
Nota: Las formulaciones con "temporizador de pulso con el nombre
TP_Y1" significan que TP_Y1 es una copia del bloque de función tipo
TP, en este caso una copia del temporizador de pulso.

El bloque de función TON (temporizador a la conexión) se utiliza para 13.2 Señal con retardo
generar señales retardadas respecto al momento de la aparición de a la conexión
una señal. Cuando se aplica una señal-1 a una entrada IN, la salida Q
no 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 de
entrada IN pase de nuevo a 0. Si la duración de la señal de entrada IN
es más corta que el tiempo especificado PT, el valor de la salida per-
manece en 0.

TON
BOOL IN Q BOOL
TIME PT ET TIME Fig. B13.5:
Bloque de función TON.
Señal con retardo
a la conexión

IN

PT

ET

Fig. B13.6:
Q Diagrama de tiempos
de una señal retardada
a la conexión TON

Festo Didactic • TP301


B-166
Capítulo 13

Ejemplo El cilindro 1.0 avanza si se activa el pulsador de marcha S1. Una vez
ha permanecido extendido durante 2 segundos, un segundo cilindro
2.0 avanza hacia su posición final delantera. Los sensores B1 y B2
indican las posiciones avanzada y retraída del cilindro 1.0.

VAR
S1 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 *)
Fig. B13.7: END_VAR
Declaración de variables

RS_Y1

RS
S1 & S Q1 Y1
B1 R1

TON_Y2

TON
Fig. B13.8: B2 IN Q Y2
Utilización de una T#2s PT ET
señal con retardo a la
conexión en FBD

El cilindro 1.0 se controla por medio de la válvula Y1. Una vez que el
cilindro 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 cilindro
2.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 el
cilindro 1.0 permanezca extendido.

TP301 • Festo Didactic


B-167
Capítulo 13

Como se muestra en este ejemplo, no todas las entradas y salidas de


un bloque de función deben conectarse o alimentarse.
Si una entrada de un bloque de función no está conectada – en este
caso la entrada R1 de RS_Y1 – se utilizan los valores de la invocación
previa. En este caso, el valor de inicialización de la variable R1, que
representa una variable booleana, está preasignada con el valor 0, es
decir, 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- 13.4 Señal con retardo
ción para generar señales retardadas respecto al momento de la au- a la desconexión
sencia de una señal. El temporizador se pone en marcha al aplicar una
señal-1 en la entrada IN. Al mismo tiempo, la señal de salida Q asume
el valor 1. Una vez que la señal de entrada IN ha vuelto a pasar al
valor 0, la salida permanece en 1 durante un tiempo especificado por
PT y no pasa a 0 hasta que no haya expirado este tiempo.

TOF
BOOL IN Q BOOL
Fig. B13.9:
TIME PT ET TIME
Bloque de función TOF,
señal con retardo
a la desconexiòn

IN

PT

ET

Fig. B13.10:
Q Diagrama de tiempos
de una señal con retardo
a la desconexión TOF

Festo Didactic • TP301


B-168
Capítulo 13

El siguiente ejemplo ilustra el uso de un temporizador a la desconexión


en los lenguajes FBD, LD, IL y ST.
Ejemplo Tras accionar un pulsador, el cilindro de un dispositivo de estampación
debe avanzar inmediatamente. Cuando se suelta el pulsador, el cilindro
sólo debe retroceder transcurrido un periodo de estampación de 30
segundos.

VAR
S1 AT %IX1 : BOOL; (* Pulsador *)
Y1 AT %QX1 : BOOL; (* Avance del cilindro *)
TOF_Y1 : TOF; (* Temporizador a la desconexión *)
Fig. B13.11: (* TOF_Y1 para Y1 *)
Declaración END_VAR
de variables

a) LD b) FBD
TOF_Y1 TOF__Y1
S1 Y1
TOF TOF
IN Q S1 IN Q Y1
T#30s PT ET T#30s PT ET

c) IL

CAL TOF_Y1 (IN := S1, PT := T#30s)


LD TOF_Y1.Q
ST Y1

d) ST
Fig. B13.12:
Uso de una señal TOF_Y1 (IN :=S1, PT := T#30s);
con retardo a la Y1 := TOF_Y1.Q;
desconexión en FBD

En todos los lenguajes, se invoca una copia del bloque de función


TOF_Y1 para realizar el temporizador a la desconexión del cilindro de
estampación.

TP301 • Festo Didactic


B-169
Capítulo 13

En el lenguaje LD, el bloque de función se adjunta al renglón a través


de la entrada booleana de marcha IN y la salida booleana Q. Si el
contacto normalmente abierto S1 suministra una señal-1, se obtiene
también una señal-1 en la salida Q de TOF_Y1. El valor Q se copia a
la variable Y1. Cuando la señal-1 de S1 regresa a 0, la señal 1 de la
salida Q de TOF_Y1 sigue teniendo señal-1 durante un período de 30
segundos. Transcurrido este tiempo la señal pasa también a 0.
En los lenguajes textuales IL y ST, el temporizador con retardo a la
desconexión se invoca especificando el nombre TOF_Y1 de la copia
declarada y relacionando los correspondientes parámetros de transfe-
rencia. El estado del retardo de la señal puede obtenerse a través de
la salida Q. En el ejemplo dado aquí, el estado de la señal retardada
TOF_Y1 se guarda en la variable TOF_Y1.Q.

Festo Didactic • TP301


B-170
Capítulo 13

TP301 • Festo Didactic


B-171
Capítulo 14

Capítulo 14

Contadores

Festo Didactic • TP301


B-172
Capítulo 14

14.1 Funciones Los contadores se utilizan para detectar cantidades y eventos. En la


de conteo práctica, los controles necesitan a menudo utilizar contadores. Se ne-
cesita un contador si, por ejemplo, deben contarse exactamente 10
piezas para que sean dirigidas a una cinta transportadora por un dispo-
sitivo de clasificación.
IEC 1131-3 distingue entre tres diferentes módulos de contador:
CTU: Incremental counter - Contador incremental
CTD: Decremental counter - Contador decremental
CTUD: Incremental/Decremental counter - Contador incremental/de-
cremental
Estos módulos de función estándar se utilizan para detectar conteos
estándar, no críticos en el tiempo.
Sin embargo, en muchas tareas de control es necesario utilizar los
denominados contadores de alta velocidad. La "alta velocidad", en este
caso, se refiere generalmente a una frecuencia de conteo superior a
50 Hz., es decir, contar más de 50 eventos por segundo. Las tareas de
este tipo no pueden resolverse con los módulos de función contadores
estándar de un PLC.
Las limitaciones de la frecuencia de conteo en los bloques de función
contadores se deben en primer lugar a los retardos de las señales de
entrada. Cada señal de entrada – es decir, también las señales de
conteo – es retardada por hardware un cierto tiempo, antes de que sea
entregada 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 de
alta velocidad se utilizan, p. ej. para los sistemas de posicionado.

14.2 Contador El contador incremental se conoce como CTU (count up - conteo hacia
incremental arriba). El contador se establece al valor inicial 0 por una señal de
reset en la entrada R.

CTU
BOOL CU Q BOOL
BOOL R
Fig. B14.1: INT PV CV INT
Bloque de función CTU,
Contador incremental

TP301 • Festo Didactic


B-173
Capítulo 14

El estado actual del contador está disponible en la salida CV (current


value - valor actual). El valor del contador se incrementa en una unidad
a 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 o
mayor que el valor preseleccionado, la señal de salida asume el valor
1. Antes de alcanzar este valor, la salida Q tiene señal-0.
El siguiente ejemplo muestra el uso de un contador incremental en los
lenguajes FBD, LD, IL y ST.
Deben extraerse piezas de un almacén por gravedad por medio de un Ejemplo
cilindro. Si se presiona el pulsador S1, el cilindro debe avanzar, extraer
una pieza y retroceder de nuevo. De esta forma deben extraerse 15
piezas. Una vez extraídas las 15 piezas, ya no debe ser posible activar
el movimiento del cilindro por medio del pulsador S1. Primero debe
desactivarse el contador accionando el pulsador S2.

VAR
S1 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

Festo Didactic • TP301


B-174
Capítulo 14

S1 B1 CTU_Y1.Q Y1
a) LD
/ S

B2 Y1

R
CTU_Y1
B2 CTU_Y1_M
CTU
CU Q

S2

15 PV CV
RS_Y1

b) FBD S1 & RS
B1 S Q1 Y1
CTU_Y1.Q B2 R1

CTU_Y1
CTU
B2 CU Q
S2 R
15 PV CV

c) IL LD S1
AND B1
ANDN CTU_Y1.Q
ST Y1_advance
CAL RS_Y1 (S := Y1_advance, R1 := B2)
LD RS_Y1.Q1
ST Y1
CAL CTU_Y1 (CU := B2, R := S2, PU := 15)

d) ST RS_Y1 ( S := S1 & B1 & NOT CTU_Y1.Q, R1 := B2);


Y1 := RS_Y1.Q1;
Fig. B14.3:
CTU (CU := B2, R := S2, PU := 15);
Uso del contador
incremental

TP301 • Festo Didactic


B-175
Capítulo 14

Un bloque de función CTU (contador incremental) se utiliza en todos


los 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álvula
es 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 ha
retrocedido (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), el
valor 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 significa
que, si el cilindro se halla en posición inicial y no se acciona ninguno
de los pulsadores, hay señal-0 en B2 y S2 y con ello en las entradas
CU y R; el valor preseleccionado PV es 15, el valor actual CV del
contador es 0. Por lo tanto, el contador aún no ha vencido y la salida
Q 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 CV
del 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 la
salida Q. El cilindro no se moverá hasta que el contador sea repuesto,
es decir, se ponga en marcha de nuevo. Esto se realiza accionando el
pulsador S2; la señal-1 en la entrada R establece el valor actual CV
del contador a 0, con lo que inmediatamente aparece una señal-0 en la
salida 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 la
que la operación AND de las variables S1, B1 y CTU_Y1.Q se copia a
la variable Y1_advance y ésta se utiliza entonces como parámetro de
transferencia.

Festo Didactic • TP301


B-176
Capítulo 14

14.3 Contador El bloque de función CTD (count down - conteo hacia abajo) es el
decremental contador decremental de IEC 1131-3 y representa lo opuesto del con-
tador incremental.
El contador decremental con valor de preselección PV se activa con
una señal-1 en la entrada LD (load - carga). Durante el funcionamiento
normal, cada flanco positivo en la entrada CD reduce el valor del con-
tador. El valor actual del contador está también disponible en la salida
CV en este caso. La salida Q del bloque de función CTD es 0, hasta
que el valor CV del contador es igual o menor que 0.

CTD
BOOL CD Q BOOL
BOOL LD
Fig. B14.4: INT PV CV INT
Bloque de función CTD,
contador decremental

El uso de contadores decrementales se demuestra también por medio


de un pequeño ejemplo.
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 H1
se enciende. El contador debe ser cargado de nuevo con el valor prese-
leccionado, antes de que puedan seguir ejecutándose movimientos del
cilindro. Esto se realiza por medio del accionamiento del pulsador S2.

VAR
S1 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 *)
Fig. B14.5: END_VAR
Declaración de variables

TP301 • Festo Didactic


B-177
Capítulo 14

RS_Y1

S1 & RS
B1 S Q1 Y1
CTD_Y1.Q R1

B2

CTD
B2 CD Q H1 Fig. B14.6:
S2 LD Uso de un contador
10 PV CV decremental en
lenguaje FBD

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 cilindro
se halla retraído, el contador aún no ha vencido y se presiona el pulsa-
dor S1. Cuando el cilindro ha avanzado completamente, aparece de
nuevo 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 y
ninguno de los pulsadores está activado, hay aplicados los siguientes
valores en las entradas y salidas al principio del procesamiento del
contador decremental: las entradas CD y LD tiene señal-0, la entrada
PV tiene aplicado el valor 10; el valor actual CV del contador es 0, por
lo tanto, se cumple la condición CV <=0 y hay una señal-1 en la salida
Q. El valor 1 en la salida Q indica que el contador decremental ha
vencido. El piloto H1 se halla al mismo tiempo iluminado.
El valor preseleccionado 10 no está cargado como valor actual del
contador hasta que no se presione el pulsador S2. Ahora CV es mayor
de 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 flanco
ascendente de B2, que reduce el valor actual del contador en 1 unidad
cada vez. Tras completar 10 recorridos, el valor actual del contador es
0; 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 de
partida 10, pueden repetirse las operaciones de conteo.

Festo Didactic • TP301


B-178
Capítulo 14

14.4 Contador El bloque de función CTUD, contador incremental/decremental, combi-


incremental na el contador incremental y el decremental.
/decremental

CTUD
BOOL CU QU BOOL
BOOL CD QD BOOL
BOOL R
Fig. B14.7: BOOL LD
Bloque de función INT PV CV INT
CTUD, contador
incremental /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 la
orden LD.

TP301 • Festo Didactic


B-179
Capítulo 15

Capítulo 15

Sistemas de control secuencial

Festo Didactic • TP301


B-180
Capítulo 15

15.1 ¿Qué es un Los sistemas de control secuencial son procesos que se realizan en
sistema de varias etapas claramente separadas. El paso de una etapa a otra de-
control pende de las condiciones de habilitación del paso. Una característica
secuencial? importante es que, en una determinada secuencia, sólo puede estar
activa una etapa, a no ser que se hayan programado explícitamente
secuencias paralelas cuyas etapas deban ejecutarse simultáneamente.
Comparado con un sistema de control lógico (combinatorio), ofrece las
siguientes ventajas:
el programa se divide en etapas y por lo tanto es más claro de
seguir, 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 representada
gráficamente, es en general más fácil de seguir que en los sistemas
de 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 receptivos
en la tecnología de procesos.

15.2 Diagrama de fun- La necesidad de configurar un control secuencial no se manifiesta in-


ciones secuencial mediatamente en el caso de pequeños controles orientados a secuen-
según IEC 848 cias, pero la necesidad de mejorar las descripciones funcionales au-
o DIN 40 719, menta con la complejidad de las tareas. El diagrama de contactos y la
P.6 lista 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 arriba
hacia abajo y para la representación de diagramas de proceso. Los
elementos utilizados para este tipo de descripción y su uso, ha sido
estandarizado internacionalmente por IEC 1131-3. El estándar IEC 848
con la adición de definiciones nacionales ha sido publicado en 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

TP301 • Festo Didactic


B-181
Capítulo 15

Por lo tanto, un diagrama de funciones secuencial se divide en dos


partes (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 bloques
en el lado derecho de las etapas.

0 N Posición inicial

Pieza en zona de elevación

1 L Detección del material y color; t = 0,5 s

Tiempo transcurrido

2 S Elevación del cilindro elevador

Cilindro elevador arriba

3 L Definición del grosor; t = 1 s

Tiempo transcurrido

4 N Avance del cilindro expulsor

Cilindro expulsor delante

5 N Retroceso del cilindro expulsor

Cilindro expulsor detrás

6 S Descenso del cilindro elevador

Cilindro elevador abajo Fig. B15.1:


Diagrama de funciones
secuencial para un
proceso de verificación

Festo Didactic • TP301


B-182
Capítulo 15

Los que sigue proporciona una breve explicación de los elementos indivi-
duales utilizados para describir un diagrama de funciones secuencial.

Etapas
Un 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.

Etapa
1
inicial
Transición conexiones directas

Etapa 2

Fig. B15.2:
Elementos de un diagrama Acción
de funciones secuencial

Transiciones
Una 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ínea
horizontal 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.

TP301 • Festo Didactic


B-183
Capítulo 15

Estructuras secuenciales
Pueden crearse tres formas básicas de estructura secuencial por me-
dio de la combinación de elementos de etapa y de transición:
Secuencia lineal
Derivación alternativa
Derivació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 a
cada transición una sola etapa. La fig B15.1 ilustra un ejemplo de una
secuencia 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 condiciones
de 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ían
excluirse mutuamente.

d g
3 5

e h
4

i
Fig. B15.3:
Derivación alternativa

Festo Didactic • TP301


B-184
Capítulo 15

3 5

e f
4 6

g
7
Fig. B15.4:
Derivación en paralelo

En el caso de la derivación en paralelo, si se cumple la condición de


transición, se realiza la activación simultánea de varias secuencias par-
ciales. Las secuencias parciales evolucionan simultáneamente, pero
completamente independientes unas de otras. La convergencia de las
secuencias 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ón
Cada 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 los
campos a y c solamente deberían representarse si fuera necesario.

a b c

a: Caracterización de las acciones a ejecutar


b: Descripción de la acción
Fig. B15.5: c: Referencia a las respuestas asociadas con la orden
Acción

La tabla B15.1 contiene los símbolos definidos en DIN 40 719, P.6 o


IEC 848 utilizados para describir la orden de ejecución de las acciones.

TP301 • Festo Didactic


B-185
Capítulo 15

S stored - memorizante

N non-stored - no memorizante

D delayed - retardada

F enabling - habilitación

L limited - limitada

P pulse - pulso
Tabla B15.1:
C conditional - condicional
Modo de las acciones

Si una acción debe ser descrita con más detalle, deberá elegirse una
combinación de letras y símbolos en la orden de esta ejecución.
DCSF Ejemplo
acción de memorización condicional tras un retardo, sujeta a una con-
dición de habilitación adicional tras la memorización.

Refinamiento de las etapas


Como se muestra en la fig. B15.6, cada etapa puede contener a su
vez estructuras secuenciales. Esta característica es soportada por el
refinamiento paso a paso de una solución en el sentido del diseño de
arriba hacia abajo.

2.1 N Llenado del almacén

Pieza en almacén y pinza en


posición 1 y cilindro expulsor retraído

2.2 S Avance cilindro expulsor


Marcha

2 Pieza expulsada

Pieza liberada
2.3 S Pinzar pieza
S Pinza a posición 2

Pieza aceptada y requerimiento


de liberar pieza

2.4 S Liberar pieza


S Retroceso cil. expulsor

Cilindro expulsor detrás

2.5 S Pinza en posición 1 Fig. B15.6:


Refinamiento de las etapas

Festo Didactic • TP301


B-186
Capítulo 15

15.3 Diagrama El diagrama de desplazamiento-paso (o desplazamiento-fase) repre-


desplazamiento senta gráficamente una secuencia de control. La estructura de un dia-
-paso grama de este tipo se describe en VDI 3260.
Cada uno de los sensores y actuadores están dispuestos verticalmente
en 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 la
señal del correspondiente elemento de señalización en cada paso. Las
lí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 a
la programación del PLC.

Fig. B15.7:
Estructura de un diagrama
desplazamiento-paso

TP301 • Festo Didactic


B-187
Capítulo 16

Capítulo 16

Puesta a punto y
seguridad funcional de un PLC

Festo Didactic • TP301


B-188
Capítulo 16

16.1 Puesta a punto Los programas de PLC nunca se terminan, en el sentido de que siem-
pre es posible hacer correcciones y las consiguientes adaptaciones a
los nuevos requerimientos del sistema.
Incluso durante la puesta a punto, a menudo son necesarios los cam-
bios en el programa. La puesta a punto de un sistema puede dividirse
básicamente en cuatro etapas:
Verificación del hardware
Transferencia y verificación del software
Optimización del software
Puesta en marcha del sistema

Verificación del hardware


Cada sensor se conecta a una entrada específica y cada actuador a
una 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 los
sensores y actuadores asignados a las direcciones de entrada y salida
correctas? ¿Se identifica inequívocamente la función – señal-0 y señal-1?
La lista de asignaciones debe corregirse y completarse ya que forma
parte de la documentación antes de la puesta a punto de un programa.
Durante la verificación, las salidas se activan para comprobarlas. Los
actuadores deben cumplir con las funciones especificadas.

Transferencia y pruebas del software


Incluso antes de la puesta a punto, todas las facilidades de verificación
del 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 haya
entradas ni salidas conectadas. De forma similar, sólo la conexión de
las salidas puede omitirse. Así, el procesamiento de las salidas del
PLC se realiza solamente en la tabla de imagen, cuyos estados no son
traspasados 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 cual
es de mucha importancia en el caso de procesos críticos o peligrosos.

TP301 • Festo Didactic


B-189
Capítulo 16

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 del
programa 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 funciones
de test de los sistemas de programación, tales como el funcionamiento
en paso a paso o el establecimiento de puntos de parada. El modo de
paso 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. De
esta forma, cualquier error que pudiera haber en el programa puede
ser localizado inmediatamente.

Optimización del software


Casi siempre, los programas largos pueden mejorarse tras la primera
prueba de funcionamiento. Es importante que cualquier modificación o
correcció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 sistema


Esto 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ón
han sido establecidos, hay que ejecutar de nuevo todas las funciones del
control (de acuerdo con la tarea). Entonces el sistema está listo para ser
aceptado por el cliente o el correspondiente departamento.

Festo Didactic • TP301


B-190
Capítulo 16

16.2 Seguridad Alimentación de tensión al PLC


funcional Debe distinguirse entre la tensión de control (tensión de las señales
de un PLC entre 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).
El nivel de tensión de funcionamiento de un PLC está especificado en
DIN IEC 1131-/Parte 2. Se halla entre 24 VDC y 48 VDC o 48 VAC y
220 VAC respectivamente. Para el mercado americano también puede
utilizarse 120 VAC.
Tensión de control
La tensión de control alimenta a los sensores y actuadores. Para ello
el 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. La
potencia de la fuente de alimentación depende el control utilizado y de
las 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 de
control.
Tensión de la lógica
Además, un PLC requiere una alimentación para la lógica interna: La
tensión de la lógica, que forma las señales en la unidad central. Dado
que 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 (nivel
CMOS), dependiendo del módulo a través del cual se realiza la unidad
central 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).

TP301 • Festo Didactic


B-191
Capítulo 16

Supresión de interferencias
Todos los PLCs son extremadamente sensibles a las interferencias
elé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 y
actuadores.

1. Interferencias en la tensión de la lógica


Un filtro principal de supresión de interferencias y un condensa-
dor protegen contra interferencias de este tipo. El filtro principal
de supresión de interferencias protege contra sobretensiones y
señales de interferencia de la alimentación de tensión. Un con-
densador almacena energía eléctrica, con lo que la tensión de
alimentació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 incorporado
por el fabricante del PLC, deberá ser el usuario quien instale
consecuentemente un filtro principal de supresión de interferen-
cias y un condensador.

2. Interferencias en la línea desde y hacia sensores y actuadores


Los pulsos de interferencia en las líneas eléctricas pueden pro-
ducir falsas señales 1 ó 0 en las entradas de los PLCs, que no
corresponden a las emitidas por los sensores. Estas señales
pueden generarse por efecto de otros cables.
Este tipo de interferencias es peligrosa: Por ello, como norma, los
módulos de entrada de un PLC están protegidos por medio de
optoacopladores conectados en serie y por un retardo de las se-
ñales. El optoacoplador protege contra tensiones de hasta
5000 V aproximadamente. El retardo de la señal evita señales
espúreas, ya que estas generalmente son muy breves. El retar-
do puede oscilar entre 1 y 20 ms, según el tipo de PLC. Los
módulos de entrada de "Alta velocidad" (sin señal de retardo)
deben apantallarse, por ejemplo por medio de cables blindados.

Festo Didactic • TP301


B-192
Capítulo 16

Los módulos de salida contiene también un optoacoplador para protec-


ción contra sobretensiones. Además, las salidas está protegidas ante
cortocircuitos, aunque normalmente no ante cortocircuitos muy prolon-
gados.

Tensión inducida
Cuando 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 la
bobina.
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 diodo
supresor. Los módulos de salida de muchos PLCs ya está provistos de
diodos supresores de este tipo. Sin embargo, en este caso, la tensión
residual se convierte en un factor de interferencia en los cables de
interconexión. Por ello deben tomarse medidas protectoras directamen-
te en el punto de origen, es decir, en la bobina: por medio de un diodo
supresor (sólo para corriente continua) o por medio de un varistor
(resistencia que depende de la tensión). También pueden utilizarse en
paralelo 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 EMERGENCIA
Si se acciona el PARO DE EMERGENCIA, es esencial llegar a la si-
tuación que sea menos peligrosa, tanto para las personas como para
el 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 las
personas o al sistema cuando se desactivan, deberán seguir activados
incluso en un caso de emergencia (p. ej. dispositivos de sujeción). En
un sistema automatizado, en cualquier momento debe disponerse de la
posibilidad de accionar el PARO DE EMERGENCIA.
Esta es la razón por la que los controles electrónicos no deben asumir
la función de PARO DE EMERGENCIA. El circuito de PARO DE
EMERGENCIA debe ser establecido independientemente del PLC por
medio de la técnica de relés (contactos físicos). DIN 57 113 también lo
especifica, ya que sería imposible activar un PARO DE EMERGENCIA
con un control averiado o simplemente detenido.
Una vez que el PARO DE EMERGENCIA ha sido desenclavado, no debe
ser posible que la máquina se ponga en marcha automáticamente.

TP301 • Festo Didactic


B-193
Capítulo 16

Se ha cruzado un transistor de salida de un PLC. En la salida hay Ejemplo


aplicados 24 V permanentemente (correspondientes a una señal-1). La
bobina de la electroválvula está activada; el cilindro avanza, aunque la
salida 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. Por
ello, la acción del PARO DE EMERGENCIA debe realizarse por hard-
ware directamente sobre los elementos de potencia.
Un método es conectar la función de PARO DE EMERGENCIA con la
tensión de alimentación de los módulos de salida. La conexión debe
ser 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 caso
pé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 normalmente
cerrada (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 el
caso de cilindros neumáticos deben elegirse tubos cortos entre cilindro
y válvula y restricciones en el aire de escape de la válvula.
Motores eléctricos
Se utilizan motores con freno. En el caso de un fallo de tensión, el
freno 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 al
PLC una señal de PARO DE EMERGENCIA. Independientemente de
la acción que se haya realizado por hardware, los programas del PLC
deben reaccionar en consecuencia; en este caso, desactivando todas
las salidas. Esto se define en un programa paralelo. Una vez que se
ha repuesto el PARO DE EMERGENCIA, el sistema no debería poder
arrancar de nuevo por sí solo. Debe accionarse un pulsador inde-
pendiente para volver a poner en marcha el sistema.

Festo Didactic • TP301


B-194
Capítulo 16

El nuevo arranque del sistema debe ser controlado por medio de un


programa del PLC. Hay dos posibilidades para el arranque después de
una emergencia:
Continuar a partir del mismo punto;
Situar el sistema en posición de partida y volver a poner en marcha
el sistema desde el origen.
En el segundo caso, es necesario pasar al modo manual o modo de
ajuste.
Si se requieren medidas de seguridad adicionales para el PARO DE
EMERGENCIA, 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 centrales
separadas, con dos etapas conectadas en serie para cada salida (sis-
temas redundantes).

Conexión segura ante un fallo


La mayoría de las máquinas se ponen en marcha por medio de un
pulsador y se desconectan por medio de otro pulsador. El pulsador de
desconexió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ÓN
debe mantenerse aunque el cableado del pulsador de desconexión sea
defectuoso. La conexión debe ser a prueba de fallos (fail-safe); es
decir, el pulsador DESCONEXIÓN debe conectarse y programarse en
forma de un contacto normalmente cerrado. La lista de asignaciones
facilita información relacionada con los estados físicos del elemento y
sus estados lógicos (señal-1 ó señal-0).

Ejemplo Un generador de señal supervisa la temperatura del aceite de una caja


de cambios. Por razones de seguridad, la conexión del generador de
señal debe ser a prueba de fallos: La señal-1 identifica la temperatura
correcta, 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 el
caso de que la causa no sea una temperatura incorrecta).
Esto elimina la situación en la que una condición crítica del sistema no
es indicada por el generador de señal por un cableado defectuoso.

TP301 • Festo Didactic


B-195
Capítulo 17

Capítulo 17

Comunicaciones con PLC

Festo Didactic • TP301


B-196
Capítulo 17

17.1 La necesidad de Por comunicaciones con PLC, entendemos la transferencia de informa-


comunicación ción, es decir, de datos, entre el control lógico programable y otros
dispositivos de procesamiento, en donde estos dispositivos se utilizan
como 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 una
impresora.
La automatización aumenta la necesidad de comunicación. Los datos
deben 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 de
fallos y advertencias deben generarse, centralizarse y ser comunicadas
automáticamente al operador. Para ello se conecta al control una im-
presora – para seguimiento histórico – o un display electrónico para
indicación instantánea.
En algunos casos, los datos se transfieren al PLC por un ordenador en
un proceso activo, o se combinan varios dispositivos de control en una
red de sistemas.

17.2 Transmisión ¿Cómo puede comunicarse el PLC con otros dispositivos de procesa-
de datos miento de datos? Los bit individuales, que se combinan en una palabra
de datos (data word), deben transmitirse desde un terminal de datos a
otro.
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 una
línea independiente para cada señal binaria individual. Cuando los ge-
neradores de señal están, por ejemplo, conectados a un control lógico
programable, se instala un cable para cada pulsador, final de carrera y
sensor hasta un terminal de bornes y de ahí a la entrada del PLC.
Toda la información (“pulsador accionado ”, “cilindro extendido”) puede
así transmitirse simultáneamente (en paralelo) al PLC. Ya que en el
caso 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ómetros
de mazos de cables en aquellas instalaciones y máquinas que por su
complejidad ocupan muchas entradas/salidas.
Por ello, para la transmisión en paralelo de una palabra de datos (data
word) debe disponerse del suficiente número de líneas para transmitir
todos 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.

TP301 • Festo Didactic


B-197
Capítulo 17

Consecuentemente, se necesita una sola línea de datos para la trans-


misión en serie de palabras de datos, independientemente del número
de bits, para transmitir señales binarias consecutivamente. Para poder
identificar 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 de
inicio y de parada y paridad.

Los diferentes procedimientos de codificación, transmisión y métodos 17.3 Interfaces


de funcionamiento, así como los diferentes métodos de protección de
datos hacen que sea esencial definir como estándares las característi-
cas eléctricas, funcionales y mecánicas de los 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 a
menudo – 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 serie paralelo serie


transmisión asíncrona asíncrona

Modo de full duplex simplex full duplex


funcionamiento

Estándard V.24 Centronics TTY


RS-232-C TTL

Distancia de
transmisión, hasta 30 m hasta 2 m hasta 1000 m
velocidad de 20 000 bit/s 106 bit/s 20 000 bit/s
transmisión
Tabla B17.1:
Interfaces

Festo Didactic • TP301


B-198
Capítulo 17

El interface más frecuentemente utilizado para la transmisión de datos


en serie es el V.24.
El interface paralelo Centronics y el serie V.24, ambos son interfaces
de tensión. Los bits están representados por ’0’ ó ’1’ a través de un
determinado 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 de
los 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 a
travé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 para
la transmisión de datos. Una corriente constante de 20 mA señala el
nivel ’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ía
de control debido a su inmunidad a interferencias.

17.4 Comunicación En los sistemas y máquinas automáticas debe transportarse una gran
en la zona de cantidad de información. Desde las simples señales de sensores bina-
campo 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 de
procesos, deben ser intercambiados de forma fiable entre los compo-
nentes de la tecnología de control en un sistema automatizado.
El intercambio de datos de campo debe realizarse dentro de unos
tiempos de reacción especificados ya que de lo contrario partes del
sistema 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 en
situació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 que
toma la iniciativa para el intercambio de datos se denomina master.
Las estaciones del bus que reciben o suministran datos puramente
bajo la iniciativa del master se denominan slaves.
Para la transmisión de datos en los sistemas de bus se utilizan cables
bifilares consistente en pares trenzados o cables coaxiales. Por ello, el
cableado de los sistemas conectados en forma de bus es mínimo.

TP301 • Festo Didactic


B-199
Capítulo 17

En sl mercado existen una gran cantidad de diferentes sistemas de


bus, que pueden dividirse en dos grandes grupos: sistemas de bus
abiertos y sistemas de bus cerrados.
Por sistemas de bus cerrados entendemos sistemas que son:
específicos de un fabricante
no hay especificaciones disponibles sobre el protocolo de transmi-
sión
no 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 de
Klö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 y
una 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 control
Coordinación de procesos en áreas separadas
Realizació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 red
Transmisión de datos del proceso hasta el nivel de planificación.

Festo Didactic • TP301


B-200
Capítulo 17

TP301 • Festo Didactic


B-201
Apéndice

Apéndice

Festo Didactic • TP301


B-202
Apéndice

Referencia de Fig. B1.2: Ejemplo de un PLC: AEG Modicon A120


las ilustraciones AEG Schneider Automation GmbH,
Steinheimer Straße 117, 63500 Seligenstadt

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

Bibliografía Kostka, Winfried Diccionario de la técnica de mando y automatización


Alemán/Español - Español/Alemán
Festo Didactic KG, Esslingen, 1988

Léxico de la tecnología de control (En Inglés)


Festo Didactic KG, Esslingen, 1988

Directivas DIN VDE 0113/ Equipamiento eléctrico de maquinaria industrial;


y estándares EN 60204 Definiciones generales

IEC 1131/ Controles lógicos programables;


DIN EN 61131 Parte 1: Información general
Parte 2: Equipos, requerimientos y ensayos
Parte 3: Lenguajes de programación
Parte 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 binarios
en esquemas de circuitos

IEC 848 Preparación de diagramas de funciones para sistemas


de control

TP301 • Festo Didactic


B-203
Índice

Índice

Festo Didactic • TP301


B-204
Índice

A
Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-133
Acumulador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Ajuste de la tensión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-44
Algebra de Boole
reglas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-29
Amplificación de potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Áreas de aplicación de un PLC. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
Asignaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-111

B
Bloque de función F_TRIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-158
Bloque de función R_TRIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-158
Bloque de función RS . . . . . . . . . . . . . . . . . . . . . . . . . . 12-154 - 12-155
Bloques de acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-133
Bloques de función . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-81
Bucle FOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-115
Bucle REPEAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-116
Bucle WHILE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-117
Bus de campo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-198

C
Calificadores de acción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-137
Comunicación en la zona de campo . . . . . . . . . . . . . . . . . . . . . . . 17-198
Condiciones de transición . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-130
Contador de programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
Contador incremental/decremental . . . . . . . . . . . . . . . . . . . . . . . . 14-178

TP301 • Festo Didactic


B-205
Índice

D
Declaración de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-71
Definición básica de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Derivación alternativa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-126
Derivación paralela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-129
Detección de la señal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
Diagrama de bloques de función. . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
elementos de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92
Diagrama de contactos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
elementos del . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-96
Diagrama de desplazamiento-etapa . . . . . . . . . . . . . . . . . . . . . . 15-186
Diagrama de funciones secuencial . . . . . . . . . . . . . . . . . . . 5-59, 15-180
ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-143
Diagrama de Karnaugh-Veitch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-30
Diagrama en escalera . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
Direccionamiento simbólico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66
Dispositivo programador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46
Documentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53

E
Ecuación Booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41
El código BCD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
El sistema de numeración binario . . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
El sistema de numeración decimal . . . . . . . . . . . . . . . . . . . . . . . . . 2-12
EPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41
Estándares
IEC 1131. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-8
Etapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-122
Etapas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-120
Etiqueta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102
Evaluación de flancos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-157
Expresión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-108

Festo Didactic • TP301


B-206
Índice

F
Fallo de tensión . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-194
Filtrado de las señales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43
Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Forma estándar
disyuntiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Forma estándar conjuntiva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Función AND, conjunción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-21
Función NOT, negación. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Función OR, disyunción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-23
Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-76
definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-85
Funciones de conmutación
simplificación de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-26
Funciones de conteo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14-172
Funciones estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-79
Funciones lógicas básicas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20

H
Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Herramienta de programación y diagnosis . . . . . . . . . . . . . . . . . . . . 4-47

I
Imagen del proceso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Inicialización. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-75
Instrucción CASE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-114
Instrucción EXIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-118
Instrucción IF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-112
Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102
Instrucciones de iteración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-115
Instrucciones de selección. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-112
Instruction List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-197

L
Ladder diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-57
Lenguajes de programación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-56
Línea de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Línea de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Línea de direcciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Lista de Instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58

TP301 • Festo Didactic


B-207
Índice

M
Memoria de programas de aplicación . . . . . . . . . . . . . . . . . . . . . . . 4-40
Microordenador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Modelo de fases
generación de software de PLC. . . . . . . . . . . . . . . . . . . . . . 5-50
Módulo de entrada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Módulo de entradas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
módulo de salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6, 4-44
potencia admisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Multitarea . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5

N
Numeración hexadecimal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-14
Números reales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-15

O
Operador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102
Operandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-102
Optoacoplador . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Ordenador personal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-46

P
PARO DE EMERGENCIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-192
PLC
Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-50
Prioridad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10-109
Programa de PLC
procesamiento cíclico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
tiempo de ciclo/scan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-39
Programas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-88
Protección ante cortocircuito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Protección ante sobrecargas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Puesta a punto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-188
Pulse timer
Timing diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-163

Festo Didactic • TP301


B-208
Índice

R
RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-40
Recursos de estructuración. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-53
configuración . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54
programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-54
Recursos de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62
denominaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-62
Red de trabajo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7-92
Registro de instrucciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Relés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-45
Renglones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8-96
Representación de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-66
Retardo de la señal de entrada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-43

S
Seguridad funcional de un PLC . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190
Señal
binaria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
digital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-17
Señales
generación de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-16
Sequential function chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-59
Simplifiación de funciones lógicas. . . . . . . . . . . . . . . . . . . . . . . . . . . 3-28
Sistemas de bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-199
Sistemas de control lógico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12-148
Sistemas de control secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . 15-180
Software. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-34
Statement list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
Structured text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
Supresión de interferencias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-191

TP301 • Festo Didactic


B-209
Índice

T
Tabla de la verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Tabla de operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9-103
Temporizador a la conexión . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-165
Temporizador a la desconexión. . . . . . . . . . . . . . . . . . . . . . . . . . 13-167
Temporizador de pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-163
Temporizadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13-162
Tensión de alimentación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190
Tensión de la lógica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-190
Tensión inducida mútua. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16-192
Texto estructurado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-58
Tipos de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-69
Transición. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-124
Transiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11-120
Transmisión de datos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17-196
Transmisión de datos en paralelo . . . . . . . . . . . . . . . . . . . . . . . . 17-196
Transmisión de todos en serie. . . . . . . . . . . . . . . . . . . . . . . . . . . 17-196

U
Unidad aritmética . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Unidad Central . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-36
Unidad central de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Unidad de control. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37
Unidades de organización de programa . . . . . . . . . . . . . . . . . . . . . 6-76

V
Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-65
directamente direccionadas . . . . . . . . . . . . . . . . . . . . . . . . . 6-65
von-Neuman, principio de . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-37

Festo Didactic • TP301


B-210
Índice

TP301 • Festo Didactic


C-1
Soluciones

Sección C – Soluciones

Componentes de un control lógico programable


Solución 1: Diseño y funcionamiento de un control lógico
programable
Componentes 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-3
Pasos prácticos para la programación de un PLC. . C-5

Operaciones lógicas básicas


Solución 3: Circuito de una lámpara
La función de asignación . . . . . . . . . . . . . . . . . . . . . C-7
Solución 4: Alarma antirrobo
La función NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-9
Solución 5: Prensa con barrera protectora
La función AND. . . . . . . . . . . . . . . . . . . . . . . . . . . . C-11
Solución 6: Sistema de timbre
La función OR . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-13

Sistemas lógicos sin funciones memorizantes


Solución 7: Dispositivo estampador
Combinación de AND/OR/NOT . . . . . . . . . . . . . . . C-15
Solución 8: Control de un silo para dos materiales a granel
Circuito combinatorio con derivación . . . . . . . . . . . C-19

Festo Didactic • TP301


C2
Soluciones

Sistemas lógicos con funciones memorizantes


Solución 9: Alarma de incendios
Activación de una salida . . . . . . . . . . . . . . . . . . . . C-21
Solución 10: Supervisión de la rotura de una broca
Activación y desactivación de una salida . . . . . . . C-23
Solución 11: Activación de un cilindro
Flancos de las señales . . . . . . . . . . . . . . . . . . . . . C-25

Sistemas lógicos con funciones temporales


Solución 12: Encolado de componentes
Pulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-29
Solución 13: Dispositivo de marcado
Señal con retardo a la conexión . . . . . . . . . . . . . . C-31
Solución 14: Dispositivo de fijación
Señal con retardo a la desconexión . . . . . . . . . . . C-35

Sistemas de control secuencial


Solución 15: Dispositivo elevador para paquetes
Secuencia lineal . . . . . . . . . . . . . . . . . . . . . . . . . . C-39
Solución 16: Dispositivo elevador y clasificador para paquetes
Derivación alternativa. . . . . . . . . . . . . . . . . . . . . . . C-43
Solución 17: Dispositivo de estampación con contador
Ciclos de recuento . . . . . . . . . . . . . . . . . . . . . . . . . C-47

TP301 • Festo Didactic


C-3
Solución 1

Diseño y puesta a punto Título


de un control programable
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 entrada
los módulos de salida
la memoria del programa
el programa del PLC

¿Cuáles son los módulos básicos que constituyen la unidad de proce- Pregunta 2
samiento principal de un control lógico programable?
Los módulos básicos de una unidad de procesamiento principal son: Respuesta
la unidad de control
la memoria de datos
la unidad aritmética y lógica (ALU)

¿Cómo se consigue el aislamiento eléctrico entre las señales de los Pregunta 3


sensores/actuadores y el PLC?
Las señales de los sensores/actuadores y el PLC están eléctrica- Respuesta
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.

Detección Optoacoplador Señal a la


Señal de Retardo de
entrada de error de unidad de
tensión la señal control
Diagrama de bloques de
un módulo de entrada

Festo Didactic • TP301


C-4
Solución 1

2. Diseño y puesta a punto del PLC seleccionado


La tabla siguiente relaciona como ejemplo los datos técnicos de un
control 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 21
de las cuales 1 es de conteo rápido

Corriente de entrada 6 mA

Nivel de entrada lóg. 0 = 0 a 5 V


ló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/salida


Datos técnicos Corriente total de salida máx. 2.5 A

TP301 • Festo Didactic


C-5
Solución 2

Del problema a la solución – Título


teniendo en cuenta IEC 1131-3
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 control
Planificación de la solución
Implementación de la solución
Verificación y puesta a punto del sistema de control
Documentación del sistema de control

¿Qué actividades hay que realizar en la etapa "Realización de la Pregunta 1


solución"?
En esta etapa se realizan las siguientes actividades: Respuesta
Configuración del PLC
Declaración de las variables del programa del PLC
Formulació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

Festo Didactic • TP301


C-6
Solución 2

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º 1
memoria VALVULA_ABIERTA
memoria booleana con el identificador PIEZA_PRESENTE,
preasignada al valor inicial 0
memoria booleana con el identificador INIC_ROBOT, preasignada
con el valor inicial 1
almacenamiento de un número (entero - INT) bajo el nombre
NUMERO, con el valor 0 preasignado

VAR
S1 AT %I4.2 :BOOL;
TEMP AT %QW1 :INT;
VALVULA_ABIERTA :BOOL;
PIEZA_PRESENTE :BOOL:=0;
INIC_ROBOT :BOOL:=1;
NUMERO :INT:=0;
END_VAR

TP301 • Festo Didactic


C-7
Solución 3

Circuito de una lámpara Título


La función de asignación

3. Declaración de las variables del programa PLC

Nombre Tipo de datos Dirección Comentario

S1 BOOL %IX0.0 La entrada % IX0.0 genera


señal-1, mientras el pulsador
esté presionado

H1 BOOL %QX0.0 La lámpara H1 luce si la salida


% QX0.0 lleva señal-1

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 el
cuerpo principal del programa. Esta es la razón por la que la decla-
ración de variables en forma textual es una parte componente de
cada solución representada.

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

S1 H1

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

S1 H1

END_PROGRAM
Diagrama de contactos

Festo Didactic • TP301


C-8
Solución 3

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 S1
ST H1
END_PROGAM
Lista 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_PROGRAM
Texto estructurado

TP301 • Festo Didactic


C-9
Solución 4

Alarma antirrobo Título


La función NOT

3. Declaración de las variables del programa PLC

Nombre Tipo de datos Dirección Comentario

S1 BOOL %IX0.0 La entrada % IX0.0 genera


señal-1, mientras el pulsador
S1 no esté presionado

H1 BOOL %QX0.0 La alarma H1 suena , si la


salida % QX0.0 lleva señal-1

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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
S1 NOT H1

END_PROGRAM Diagrama de bloques


de función

Si el valor de una variable booleana debe ser mapeado en forma nega-


da, directamente en otra variable, esto sólo puede hacerse por medio
de la función NOT. La negación de una variable booleana a través de
símbolo gráfico "o" sólo es posible directamente en entradas o salidas
de funciones o bloques de función.

Festo Didactic • TP301


C-10
Solución 4

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
S1 H1

END_PROGRAM
Diagrama de contactos

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 H1
END_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

TP301 • Festo Didactic


C-11
Solución 5

Prensa con barrera protectora Título


La función AND

3. Declaración de las variables del programa PLC

Nombre Tipo de dato Dirección Comentario

S1 BOOL %IX0.0 La entrada %IX0.0 lleva


señal -1, mientras el pulsador
S1 esté accionado

B1 BOOL %IX0.1 La entrada %IX0.1 lleva


señal -1, mientras el sensor
S1 esté accionado

Y1 BOOL %QX0.0 La prensa 1.0 avanza mientras


la salida %QX0.0 tenga señal-1

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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

S1 & Y1
B1

END_PROGRAM
Diagrama de bloques
de función

Festo Didactic • TP301


C-12
Solución 5

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
S1 B1 Y1

END_PROGRAM
Diagrama de contactos

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
LD S1
AND B1
ST Y1
END_PROGRAM
Lista de instrucciones

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
Y1 := S1 & B1;
END_PROGRAM
Structured text

TP301 • Festo Didactic


C-13
Solución 6

Sistema de timbre Título


La función OR

3. Declaración de las variables del programa PLC

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)

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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

S1 >=1 H1
S2

END_PROGRAM
Diagrama de bloques
de función

Festo Didactic • TP301


C-14
Solución 6

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
S1 H1

S2

END_PROGRAM
Diagrama de contactos

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
LD S1
OR S2
ST H1
END_PROGRAM
Lista de instrucciones

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
H1 := S1 OR S2;
END_PROGRAM
Texto estructurado

TP301 • Festo Didactic


C-15
Solución 7

Dispositivo estampador Título


Combinaciones de AND/OR/NOT

3. Declaración de las variables del programa PLC

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

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

PROGRAM Estampador
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

B1 &
B2
B3

B1 &
>=1 Y1
B2
B3

B1 &
B2
B3

END_PROGRAM
Diagrama de bloques
de función

Festo Didactic • TP301


C-16
Solución 7

PROGRAM Estampador
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
B1 B2 B3 Y1

B1 B2 B3

B1 B2 B3

END_PROGRAM
Diagrama de contactos

PROGRAM Estampador
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
LD( B3
AND B2
ANDN B1
)
OR( B1
ANDN B2
AND B3
)
OR( B1
AND B2
ANDN B3
)
ST Y1
END_PROGRAM
Lista de instrucciones

En el lenguaje de Lista de Instrucciones, la negación de un operando


no es posible inmediatamente tras la apertura de un paréntesis. Esta
es la razón por la que el orden de los operandos B1, B2, B3 ha sido
cambiado en el primer bloque AND.

TP301 • Festo Didactic


C-17
Solución 7

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_PROGRAM
Texto estructurado

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ón
OR. Sin embargo, el uso de paréntesis hace más fácil y rápida la com-
prensión de una expresión compleja.

Festo Didactic • TP301


C-18
Solución 7

TP301 • Festo Didactic


C-19
Solución 8

Control de un silo para dos materiales a granel Título


Sistema de control lógico con derivación

3. Declaración de las variables del programa PLC

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

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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

S1 & Y1
S2

S1 & Y2
S2

END_PROGRAM
Diagrama de bloques
de función

Festo Didactic • TP301


C-20
Solución 8

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

S1 S2 Y1

S1 S2 Y2

END_PROGRAM
Diagrama de contactos

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
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_PROGRAM
Lista 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_PROGRAM
Texto estructurado

TP301 • Festo Didactic


C-21
Solución 9

Alarma de incendio Título


Activació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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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
RS
S1 S Q1 H1
R1

END_PROGRAM
Diagrama de bloques
de función

PROGRAM Zumbador
VAR
S1 AT %IX0.0 : BOOL; (* Pulsador *)
H1 AT %QX0.0 : BOOL; (* Zumbador *)
END_VAR
S1 H1

END_PROGRAM

Diagrama de contactos

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.

Festo Didactic • TP301


C-22
Solución 9

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

El lenguaje de Lista de Instrucciones tiene su propio operador S. Por


ello no es necesaria la utilización de un bloque de función RS.

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

Al invocar un bloque de función no es obligatorio especificar todos los


pará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.

TP301 • Festo Didactic


C-23
Solución 10

Supervisión de la rotura de una broca Título


Activació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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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
RS
B1 S Q1 H1
S1 R1

END_PROGRAM
Diagrama de bloques
de función

El comportamiento deseado se obtiene por medio de la utilización de


un 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 *)
END_VAR
B1 H1

/ S

S1 H1

END_PROGRAM

Diagrama de contactos

Festo Didactic • TP301


C-24
Solución 10

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
LDN B1
ST H1
LD S1
R H1
END_PROGRAM
Lista de instrucciones

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 flipflop
RS. La secuencia de las órdenes de activación SET y desactivación
RESET son cruciales para el comportamiento del PLC. La orden que
debe ser dominante – en este caso la orden de desactivación – debe
ser la última en ser procesada.

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

TP301 • Festo Didactic


C-25
Solución 11

Activación de un cilindro Título


Flancos 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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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
B1 & RS_Y1
R_TRIG_S1
RS
R_TRIG S Q1 Y1
S1 CLK Q R1

&
B2
END_PROGRAM
Diagrama de bloques
de función

En el diagrama de bloques de función, la evaluación de flancos se


realiza por medio de la utilización del bloque de función R_TRIG.

Festo Didactic • TP301


C-26
Solución 11

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 *)
END_VAR

S1 B1 Y1

P S

S1 B2 Y1

P R

END_PROGRAM
Diagrama de contactos

El lenguaje Diagrama de Contactos tiene contactos especiales para la


detección de flancos.

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
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

TP301 • Festo Didactic


C-27
Solución 11

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

En los lenguajes de Lista de Instrucciones y Texto Estructurado, la


detección de flancos se realiza invocando un bloque de función
R_TRIG.

Festo Didactic • TP301


C-28
Solución 11

TP301 • Festo Didactic


C-29
Solución 12

Encolado de componentes Título


Pulso

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

PROGRAM Encolado
VAR
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
S1 & TP
B1 IN Q Y1
PT ET
T#5s
END_PROGRAM
Diagrama de bloques
de función

PROGRAM Encolado
VAR
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
S1 B1 Y1
TP
IN Q

T#5s PT ET

END_PROGRAM

Diagrama de contactos

Festo Didactic • TP301


C-30
Solución 12

PROGRAM Encolado
VAR
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 S1
AND B1
ST T_Start
CAL TP_Y1( IN := T_Start, PT := T#5s )
LD TP_Y1.Q
ST Y1
END_PROGRAM
Lista de instrucciones

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 una
sola variable individual. Para conseguir esto, la variable T_Start se de-
clara en el programa.

PROGRAM Encolado
VAR
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_PROGRAM
Texto estructurado

TP301 • Festo Didactic


C-31
Solución 13

Dispositivo de marcado Título


Señ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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

PROGRAM Marcado
VAR
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 RS_Y1
TON RS
S1 & IN Q S Q1 Y1
B1 PT ET R1

T#3s B2
END_PROGRAM

Diagrama de bloques
de función

Festo Didactic • TP301


C-32
Solución 13

PROGRAM Marcado
VAR
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
S1 B1 Y1
TON
IN Q S

T#3s PT ET
B2 Y1

END_PROGRAM
Diagrama de contactos

PROGRAM Marcado
VAR
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 S1
AND B1
ST T_Start
CAL TON_Y1( IN := T_Start, PT := T#3s )
LD TON_Y1.Q
S Y1
LD B2
R Y1
END_PROGRAM
Lista de instrucciones

TP301 • Festo Didactic


C-33
Solución 13

PROGRAM Marcado
VAR
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

Festo Didactic • TP301


C-34
Solución 13

TP301 • Festo Didactic


C-35
Solución 14

Dispositivo de fijación Título


Señ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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

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 : TOF; (* Retardo a la desconexión *)
R_TRIG_B2 : R_TRIG; (* Flanco ascendente de B2 *)
END_VAR
TOF_Y1
TOF
S1 & IN Q Y1
B1
PT ET
B3

T#3s
R_TRIG_B2 RS_Y2

R_TRIG RS
B2 CLK Q & S Q1 Y2
B3 R1

B4
RS_Y3
RS
B4 S Q1 Y3
B3 R1

END_PROGRAM
Diagrama de bloques
de función

Festo Didactic • TP301


C-36
Solución 14

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 *)
TOF_Y1 : TOF; (* Retardo a la desconexión *)
END_VAR
TOF_Y1
S1 B1 B3 Y1
TOF
IN Q

T#3s PT ET
B2 B3 Y2

P S

B4 Y2

Y3

B3 Y3

END_PROGRAM
Diagrama de contactos

TP301 • Festo Didactic


C-37
Solución 14

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 S1
AND B1
AND B3
ST T_Start
CAL TOF_Y1( IN := T_Start, PT := T#3s )
LD TOF_Y1.Q
ST Y1
CAL R_TRIG_B2( CLK := B2 )
LD R_TRIG_B2.Q
AND B3
S Y2
LD B4
R Y2
S Y3
LD B3
R Y3
END_PROGRAM
Lista de instrucciones

Festo Didactic • TP301


C-38
Solución 14

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_PROGRAM
Texto estructurado

TP301 • Festo Didactic


C-39
Solución 15

Dispositivo elevador para paquetes Título


Secuencia lineal

2. Descripción de la tarea de control en diagrama de funciones


secuencial según IEC848

1 Posición inicial

Cilindro elevador retraído, cilindro de


transferencia retraído y paquete presente

2 S Avance cilindro elevación 1

2.1 : Cilindro elevador extendido

3 S Avance cilindro transferencia 1

3.1 : Cilindro de transferencia extendido

4 S Retroceso cilindro elevador 1

4.1 : Cilindro elevador retraído

5 S Retroceso cilindro transfer. 1

5.1 : Cilindro de transferencia retraído

Diagrama de funciones
según IEC 848

Festo Didactic • TP301


C-40
Solución 15

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

PROGRAM Transport
VAR
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

S_1

B1 &
B2
B4
S_2 S Y1 B3

B3

S_3 S Y2 B5

B5

S_4 R Y1 B2

B2

S_5 R Y2 B4

B4

Diagrama de END_PROGRAM
funciones secuencial

TP301 • Festo Didactic


C-41
Solución 15

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 de
transición consiste solamente en una variable booleana, esta se repre-
senta en texto estructurado. Las etapas consisten en simples acciones
booleanas con los calificadores S (activación memorizante) y R (desac-
tivación memorizante). La etapa S_1 es una etapa vacía.

Festo Didactic • TP301


C-42
Solución 15

TP301 • Festo Didactic


C-43
Solución 16

Dispositivo elevador y clasificador para paquetes Título


Secuencia con desvío alternativo

2. Descripción de la tarea de control en diagrama de funciones


secuencial según IEC848

1 Posición inicial

Pulsador de marcha y posición inicial

2 S Avance cilindro elevador 1

2.1 : Cilindro elevador extendido 2.1 : Cilindro elevador extendido


y paquete corto y paquete largo

3 S Avance cilindro 2.0 1 5 S Avance cilindro 3.0 1

3.1 : Cilindro 2.0 extendido 5.1 : Cilindro 3.0 extendido

4 S Retroceso cilindro 2.0 1 6 S Retroceso cilindro 3.0 1

4.1 : Cilindro 2.0 retraído 6.1 : Cilindro 3.0 retraído

7 S Retroceso cilindro elevador 1

7.1 : Cilindro elevador retraído

Diagrama de funciones
según IEC 848

Festo Didactic • TP301


C-44
Solución 16

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 cuerpo
principal del programa. Esta es la razón por la que la declaración de
variables en forma textual es una parte componente de cada solución
representada.

PROGRAM Clasificación
VAR
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

S_1

S1 & B1 & B3 & B5

S_2 S Y1 B2

R Y2

B2 & NOT S2 B2 & S2

S_3 S Y3 B4 S_5 S Y4 B6

B4 B6

S_4 R Y3 B3 S_6 R Y4 B5

B3 B5

S_7 S Y2 B1

R Y1

B1

END_PROGRAM
Diagrama de
funciones secuencial

TP301 • Festo Didactic


C-45
Solución 16

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 en
simpleas acciones booleanas con los calificadores S (activación memo-
rizante) y R (desactivación memorizante). La etapa inicial S_1 es una
etapa vacía. Tras la etapa S_2 el programa deriva en dos secuencias
alternativas.

Festo Didactic • TP301


C-46
Solución 16

TP301 • Festo Didactic


C-47
Solución 17

Dispositivo de estampación con contador Título


Ciclos de conteo

2. Descripción de la tarea de control en diagrama de funciones


secuencial según IEC848

1 Posición inicial

Pieza presente, contador no vencido


y posición inicial Contador vencido y S1 accionado

2 S Avance cilindro 1.0 1 8 N Inicializar contador


N Incrementar contador en 1
2.1 : Cilindro extendido 1

3 S Avance cilindro 2.0 1

3.1 : Cilindro 2.0 extendido

4 S Retroceso cilindro 2.0 1

4.1 : Cilindro 2.0 retraído

5 S Retroceso cilindro 1.0 1

5.1 : Cilindro 1.0 retraído

6 S Avance cilindro 3.0 1

6.1 : Cilindro 3.0 extendido

7 S Retrocxeso cilindro 3.0 1

7.1 : Cilindro 3.0 retraído


Diagrama de funciones
según IEC 848

Festo Didactic • TP301


C-48
Solución 17

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

TP301 • Festo Didactic


C-49
Solución 17

END_VAR

S_1

B1 & B3 & B5 & B7 & S1 & CTU_1.Q


NOT CTU_1.Q
S_8 N Counter_init
S_2 S Y1 B2
CTU_1
R Y2
CTU
N Count CU Q
1 R
CTU_1 10 PV CV
CTU
S_2.X CU
1
R
PV CV

B2

S_3 S Y3 B4

B4

S_4 R Y3 B3

B3

S_5 S Y2 B1

R Y1
B1

S_6 S Y4 B6

B6

S_7 R Y4 B5

B5

END_PROGRAM
Diagrama de funciones
secuencial

Festo Didactic • TP301


C-50
Solución 17

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 el
programa deriva en dos secuencial alternativas.
Si se acciona el pulsador S1 por primera vez, se inicializa la copia
CTU_1 del bloque de función contador. Esto sucede siempre dentro de
la acción denominada "Counter_init". El programa regresa a la etapa
S_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. Esta
es procesada cíclicamente hasta que se han estampado y expulsado
10 piezas. El verdadero proceso de conteo no está programado en la
acción booleana "Count". El flanco que dispara el procedimiento de
conteo 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, se
aplica el valor 0 en la entrada CU. Si ahora se ejecuta la etapa S_2, el
flag 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 este
proceso 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 programa
llega una vez más a la etapa S_2, se produce un cambio en el estado
de la entrada CU de 0 a 1: se aplica el flanco ascendente para la
realización del ciclo de conteo.

TP301 • Festo Didactic


D-1
Apéndice

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

Festo Didactic • TP301


D-2
Apéndice

TP301 • Festo Didactic


Entrada de señales eléctricas 011088
1/2

S
14

11

S
12

S
14

11

S
12

Diseño
Este componente consta de dos pulsadores iluminados en forma de contactos
momentáneos y un pulsador iluminado en forma de contacto con retención. Todas las
conexiones eléctricas son en forma de zócalos de 4 mm. La unidad puede montarse en
un 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 un
bloque de contactos con dos contactos normalmente cerrados y dos normalmente
abiertos, junto con un pulsador con tapa transparente con piloto miniatura. El bloque de
contactos se activa presionando el pulsador. Los circuitos eléctricos abren o cierran a
través del bloque de contactos. Cuando se suelta el pulsador, el bloque de contactos
regresa a su posición inicial.
El pulsador iluminado en forma de interruptor con retención consiste en un bloque de
contactos con dos contactos normalmente abiertos y dos normalmente cerrados, junto
con un pulsador con tapa transparente con piloto miniatura. El bloque de contactos se
activa presionando el pulsador. Los circuitos eléctricos abren o cierran a través del
bloque de contactos. Cuando se suelta el pulsador, el bloque de contactos permanece
en la posición alcanzada. El bloque de contactos regresa a su posición inicial
presionando de nuevo el pulsador.

Nota
Cuando se aplica tensión a las conexiones del indicador óptico, se visualiza el estado
de conmutación por medio del piloto miniatura incorporado en el pulsador.

Tensión 24 V DC
2 contactos n.a.,
Bloque de contactos
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

Festo Didactic
011088 Entrada de señales eléctricas
2/2

1 2

2 = Contacto
ffner norm. cerrado
= Contacto
Schlie er norm. abierto
Ejemplo de aplicación: S = SPulsador
= STA TdeTaster
marcha
Esquema del circuito
eléctrico

1 2
24V

1 12 14

S
14 11

A1

A2
0V

2 = Contacto
ffner norm. cerrado
= Contacto
Schlie er norm. abierto
SS==Pulsador
STA T Taster
de marcha
Ejemplo de aplicación:
Montaje eléctrico práctico

A1 12 14 A1 12 14

A2 11 A2 11

Contactos normalmente Interruptor conmutador Interruptor


abiertos, normalmente Wechsler als Schlie er Wechsler als conmutador
ffner
conectado como contacto n.o. conectado como contacto n.a.
cerrados: Asignación de angeschlossen angeschlossen
contactos en la placa de
relés

Festo Didactic
Unidad de indicación y distribución eléctrica 030311
1/2

H H

ise o
Este componente consiste en un indicador ac stico y cuatro indicadores ópticos con
conexiones, y tres l neas de bus para alimentación. Todas las conexiones eléctricas
son en forma de zócalos de 4 mm. La unidad puede montarse en un bastidor de
montaje o sobre la placa perfilada utilizando cuatro adaptadores de clavijas
enchufables.
Función
El 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 una
lámpara minuatura. Cuando se aplica tensión a sus conexiones, su estado operativo se
indica por la lámpara minuatura incorporada. Por cada lámpara se han previsto un par
de zócalos puenteados, permitiendo que el componente se utilice además como
distribuidor.
Nota
Para asegurar que el indi ador a s i o funciona correctamente, verificar la polaridad
de 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

Festo Didactic
030311 Unidad de indicación y distribución eléctrica
2/2

1 2 3 4

S K

K Y H1 H2

2 =Contacto
Öffner cerrado en reposo
= Contacto
Schließer abierto en reposo
Ejemplo de aplicación: S = Pulsador
START - Taster
de marcha
Circuito eléctrico

1 2 3 4
+24V-

13 12 14

S K
14 11

A1
K Y H1 H2
A2
0V

2 = Contacto
Öffner cerrado en reposo
Ejemplo de aplicación: = Contacto
Schließer abierto en reposo
Montaje eléctrico S = Pulsador de marcha
START - Taster
práctico

Festo Didactic
Cilindro de simple efecto 152887
1/1

Diseño
Este cilindro de simple efecto con leva en el vástago y racores rápidos, se halla
montado sobre un soporte. El conjunto puede montarse sobre la placa perfilada con
el sistema de fijación rápida con dos tuercas de tetones (alternativa de montaje “B”).

Función
El 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 de
funcionamiento máx. 10 bar (1000 kPa)
Carrera máxima 50 mm
Fuerza
a 6 bar (600 kPa) 150 N
Mínima fuerza del 13,5 N
muelle
Conexión G 1/8
Racores CU-PK-3 para tubo de plástico PUN-4 x 0,75
Sujeto a modificaciones
Datos técnicos

Festo Didactic
Festo Didactic
Cilindro de doble efecto 152888
1/1

Diseño
Este cilindro de doble efecto con leva en el vástago y racores rápidos, se halla
montado sobre un soporte. El conjunto puede montarse sobre la placa perfilada con
el sistema de fijación rápida con dos tuercas de tetones (alternativa de montaje “B”).

Función
El 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 puede
ajustarse por tornillos de regulación
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 ubricación)


Diseño Cilindro de émbolo
Presión de 10 bar (1000 kPa)
funcionamiento máx.
Carrera máxima 100 mm
Fuerza a 6 bar 165 N
(600 kPa)
Fuerza de retorno
a 6 bar (600 kPa) 140 N
Conexión G 1/8
Racores CU-PK-3 para tubo de plástico PUN-4 x 0,75
Sujeto a modificaciones
Datos técnicos

Festo Didactic
Festo Didactic
Unidad de mantenimiento 152894
con válvula de interrupción 1/1

Diseño
El filtro regulador con manómetro, racores rápidos y válvula de interrupción, se halla
montado 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 tornillos
Allen y tuercas en Te (alternativa de montaje “C”)

Función
El filtro con separador de agua, limpia el aire comprimido de suciedad, virutas de la
tuberí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. Una
flecha en el cuerpo indica el sentido del flujo. El vaso del filtro posee un tornillo de
drenaje. El manómetro muestra la presión ajustada. La válvula de interrupción corta
y descarga la presión del sistema. La válvula de 3/2 vías se acciona deslizando la
corredera cilíndrica azul.

Nota
Cuando 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ón
requerida girándolo. Apretando el tornillo ranurado en la cabeza del regulador, el
ajuste puede bloquearse.

Fluido Aire comprimido


Diseño Filtro sinterizado con separador de agua, regulador de
presió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 de 14 cm3
condensados
Conexión G 1/8
Racor 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 modificaciones
Datos técnicos

Festo Didactic
Festo Didactic
Distribuidor de aire 152896
1/1

Diseño
Este distribuidor de aire con ocho salidas autobloqueadas, se halla sujeto sobre una
placa universal. La unidad se fija a la placa perfilada por medio de un sistema de
fijación rápido con leva azul (alternativa de montaje “A”).

Función
El distribuidor con una alimentación P común, permite alimentar de aire comprimido
hasta ocho puntos en un sistema de control neumático

Conexión G 1⁄8
1 racor CU-1⁄8-6 para tubo de plástico PUN-6 x 1
8 racores KCU-1⁄8-4 para tubo de plástico PUN-4 x 0,75
Sujeto a modificaciones
Datos técnicos

Festo Didactic
Festo Didactic
Sensor de proximidad inductivo 152902
1/2

8 G

1 3 4 5

24V

0V

Festo Didactic
152902 Sensor de proximidad inductivo
2/2

Diseño
Este sensor de proximidad inductivo con LED y conexiones eléctricas se halla montado
sobre una base de polímero. La unidad se fija sobre la placa perfilada por medio de un
sistema 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 un
circuito resonante paralelo con bobina y condensador, así como un amplificador. El
campo 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 que
atenúan la oscilación. Dependiendo de la conductividad, el tamaño y la proximidad del
objeto conductor, el oscilador puede atenuarse tanto que deje de oscilar. La atenuación
del 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 al
potencial positivo en el estado de activación. El interruptor está diseñado en forma de
contacto normalmente abierto. La conexión de la carga se realiza entre la señal de
salida del sensor y el potencial cero. La superficie activa puede identificarse por el
disco de polímero azul. El estado de funcionamiento se indica por un LED. El sensor
se halla protegido contra polaridad inversa, sobrecarga y cortocircuito.

Nota
La adecuada polaridad de la tensión aplicada es necesaria para un correcto
funcionamiento. Las conexiones para la tensión de alimentación están codificadas en
colores como se indica: rojo para positivo, azul para negativo y negro para la señal de
salida. La carga se conecta entre la salida de conmutación y el potencial 0 V de la
alimentació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

Datos técnicos Sujeto a cambios

Festo Didactic
Sensor de proximidad, capacitivo 152903
1/2

1 Oscilador
2 Demodulador
3 Etapa de disparo
7
4 Indicador de
funcionamiento
5 Etapa de salida con
corcuito de protección
6 Tensión externa
7 Alimentación interna de
G tensión constante
8 9
8 Condensador con
zona activa
1 3 4 5 9 Salida

24V

0V

Festo Didactic
152903 Sensor de proximidad, capacitivo
2/2

Diseño
Este sensor de proximidad capacitivo con LED y conexiones eléctricas se halla
montado sobre una base de polímero. La unidad se fija sobre la placa perfilada por
medio de un sistema de bloqueo rápido con tuerca azul de tetones (alternativa de
montaje “B”)

Función
El principio de funcionamiento de un sensor capacitivo está basado en la evaluación
del cambio de capacidad de un condensador en un circuito resonante RC.
Cuando un material se acerca al sensor de proximidad, la capacidad de condensador
se estimula (aumentanto), con lo que puede evaluarse un cambio en las características
de la oscilación del circuito RC. El cambio de capacidad detende mucho de la
distancia, 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 conmutada
a un potencial positivo en el estado de conmutación. El interruptor está diseñado como
un contacto normalmente abierto. La conexión de la carga se realiza entre la señal de
salida del sensor y el potencial cero. La superficie activa puede identificarse por el
disco de polímero azul. El estado de funcionamiento se indica por un LED. El sensor
se halla protegido contra polaridad inversa, sobrecarga y cortocircuito.

Nota:
La adecuada polaridad de la tensión aplicada es necesaria para un correcto
funcionamiento. Las conexiones para la tensión de alimentación están codificadas en
colores como se indica: rojo para positivo, azul para negativo y negro para la señal de
salida. La carga se conecta entre la salida de conmutación y el potencial 0 V de la
alimentació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 reproducible
≤ 0,01 mm
a temperatura constante
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 cambios
Datos técnicos

Festo Didactic
Sensor de proximidad óptico 152904
1/2

1 Oscilador
2 Emisor fotoeléctrico
9 3 Receptor foroeléctrico
4 Preamplificador con
10 potenciómetro
5 Función lógica
6 Convertidor nivel/pulso
7 Indicador de estado
8 Etapa de salida con
circuito protector
11 9 Tensión externa
12
10 Fuente de tensión
interna constante
11 Recorrido óptico
1 2 3 4 5 6 7 8 12 Salida

24V

0V

Festo Didactic
152904 Sensor de proximidad óptico
2/2

Diseño
Este sensor de proximidad óptico con LED y conexiones eléctricas se halla montado
sobre una base de polímero. La unidad se fija sobre la placa perfilada por medio de un
sistema 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 y
el receptor. En el caso del sensor de reflexión directa, estos se hallan montados en el
mismo cuerpo.
El emisor del sensor de reflexión directa emite una luz roja pulsante en el margen del
espectro visible. El objeto a detectar refleja parte de la luz emitida. Esta luz es
detectada por un dispositivo semiconductor en el receptor que también se halla
dispuesto en el cuerpo del sensor y que provoca un cambio en el estado de
conmutación.
El objeto a detectar puede ser reflectante, mate, transparente u opaco. Todo lo que se
necesita es que una parte suficientemente elevada de luz sea reflejada directamente o
de forma difusa. La distancia de detección puede variarse por medio de un
potenciómetro.
El sensor de proximidad tiene una salida PNP, es decir, la línea de señal es conmutada
a un potencial positivo en el estado de conmutación. El interruptor está diseñado como
un contacto normalmente abierto. La conexión de la carga se realiza entre la señal de
salida del sensor y el potencial cero. La superficie activa puede identificarse por el
disco de polímero azul. El estado de funcionamiento se indica por un LED. El sensor
se halla protegido contra polaridad inversa, sobrecarga y cortocircuito.

Nota:
La adecuada polaridad de la tensión aplicada es necesaria para un correcto
funcionamiento. Las conexiones para la tensión de alimentación están codificadas en
colores como se indica: rojo para positivo, azul para negativo y negro para la señal de
salida. La carga se conecta entre la salida de conmutación y el potencial 0 V de la
alimentació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

Datos técnicos Sujeto a cambios

Festo Didactic
Interruptor de proximidad 152905
para montaje en cilindro 1/1

BN

BK

BU

Diseño
Este interruptor de proximidad consta de un sensor y un kit
24V
de montaje. La conexión eléctrica se realiza por medio de una
clavija. El zócalo y el cable (incluido en el kit) se necesitan BN
para este fin.

Función
El interruptor de proximidad emite una señal eléctrica cuando BK
penetra en un campo magnético (es decir, el campo del imán
permanente montado sobre el émbolo del cilindro). Las
conexiones eléctricas se hallan embebidas en el interruptor. El BU
estado de conmutación se muestra por un LED. Este LED
amarillo luce cuando el interruptor está accionado. 0V

Nota
Para asegurar una operación de conmutación correcta,
asegurarse que la polaridad de las tensiones aplicadas al
interruptor son correctas. Los cables están codificados por
colores; azul (BU) para el negativo, rojo (BN) para el positivo
y negro (BK) para la señal de salida. La carga (relé) se
conecta entre este y el terminal negativo. El interruptor se
halla protegido contra polaridad incorrecta, sin embargo, no
se halla protegido contra cortocircuito.

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

Festo Didactic
Festo Didactic
Electroválvula de 5/2 vías 152909
1/1

4(A) 2(B)

5(R) 3(S)

1(P)

Diseño

Esta válvula de 5/2 vías de una sola bobina, con racores rápidos esta unida a una
placa de función que se halla provista de una conexión P y un silenciador. La
unidad se monta sobre la placa perfilada con un sistema de bloqueo rápido con leva
azul (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 la
señal. El estado de conmutación se visualiza por medio de un LED en la carcasa
del terminal

Nota
La bobina del solenoide se caracteriza por un muy bajo consumo y una baja
generación de calor. La conexión eléctrica incorpora protección contra polaridad
incorrecta para el LED y un circuito de protección.

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

Festo Didactic
Festo Didactic
Válvula de 5/2 vías, doble solenoide 152910
1/1

4(A) 2(B)

5(R) 3(S)

1(P)

Diseño
Esta válvula de 5/2 vías con racores rápidos está montada sobre una placa
equipada con una entrada P y un silenciador. La unidad se fija sobre la placa
perfilada 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 del
solenoide y permanece en esta posición aunque desaparezca la señal. Cuando
aparece una señal en la bobina opuesta, la válvula invierte de nuevo su estado. El
estado de conmutación se visualiza por medio de un LEDs incorporados en los
conectores de las bobinas.

Nota
Las bobinas del solenoide se caracterizan por su bajo consumo y su poca
generación de calor. La conexión eléctrica incorpora una protección contra polaridad
incorrecta para el LED y un circuito de protección.

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

Festo Didactic
Festo Didactic
Unidad de conexión E/S digitales 159385
1/2

Diseño
Esta unidad de conexión está dispuesta en un cuerpo
provisto de pasadores de fijación y se monta en el basti-
dor de un armario de maniobra o en la placa de montaje
perfilada 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ón
La unidad de conexión permite cablear interruptores, senso-
res y actuadores a las entradas y salidas de los controles
conectados 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 las
salidas se indica por medio de un diodo LED.

Festo Didactic
159385 Unidad de conexión E/S digitales
2/2

Tensión de funcionamiento admisible 24 VDC


Rizado residual máx. 10%
Entradas 8 entradas digitales
Corriente de entrada *
Tolerancias en el nivel de entrada *
Salidas 8 salidas digitales
Tensión de salida *
Corriente de salida *
Consumo del LED a 24 V 5 mA
Conexión eléctrica
Tensión de funcionamiento zócalos de 4 mm
Entradas y salidas zócalos de 4 mm y clavijas enchufables
con regleta

Datos técnicos Sujeto a cambios

* Para las especificaciones de los datos de entrada y salida, por favor, véase
el manual del control lógico programable utilizado.

Nota
La unidad de conexión se suministra con una regleta/conector de 18 pines para el
cable de conexión entre el control lógico programable y la unidad de conexión. La
asignación de los 18 pines se da en la tabla inferior.

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
Asignación de la
regleta/conector 5 I_.2 11 Q_.0 17 Q_.6
de 18 pines 6 I_.3 12 Q_.1 18 Q_.7
(de ariba a abajo)

Festo Didactic
D-3
Glosario

Acción
Elemento de una etapa. La acción contiene las partes de ejecución
de un programa en Diagrama de Funciones Secuencial.
Bit
Forma derivada de "binay digit / dígito binario": carácter bivalente
(binario), la más pequeña unidad de información.
Bloque de acción
Colección de calificador de acción, nombre de la acción, variables
de realimentación y contenido de la acción.
Bloques de función
Los 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 resultados
intermedios y tienen un nombre para cada aplicación.
Bus de control
Circuito del bus en un sistema de bus, que transmite exclusivamen-
te instrucciones de control.
Bus de datos
Bus de un PLC, con el que se transmite información (señales, da-
tos).
Bus de direcciones
Haz de conductores de un sistema, que transmite exclusivamente
información sobre direcciones, es decir, direcciones de entradas y
salidas del PLC, flags o dispositivos periféricos.
Byte
Una unidad de datos consistente en 8 bits
Calificador de acción
Cada acción tiene un calificador, que describe su comportamiento
en mayor detalle.
Ciclo
En 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 datos
Para poder acceder a datos con nombres simbólicos, estos deben
primero estar enlazados en declaraciones con tipos de datos.
Derechos de acceso
IEC 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.

Festo Didactic • TP301


D-4
Glosario

Derivación alternativa
La derivación es la ejecución de un programa en Diagrama de Fun-
ciones Secuencial en uno o varios recorridos posibles. El recorrido
tomado 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 un
Diagrama de Funciones Secuencial, que contienen un programa que
sigue por varias derivaciones simultáneamente. Cuando se alcanza
el final, se sincroniza su finalización.
Diagrama de bloques de función (FBD)
Un lenguaje de programación según IEC 1131-3, que interconecta
gráficamente las funciones y bloques de función para resolver una
tarea 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 Secuencial
Lenguaje gráfico de programación de IEC 1131-3. Su objetivo es
estructurar las tareas de los programas de control en etapas y tran-
siciones.
EEPROM
Desarrollo avanzado de las EPROMs. Se utiliza un impulso eléctrico
para borrar el contenido de la memoria, en lugar de rayos ultraviole-
tas. Subsecuentemente, puede escribirse nueva información en la
memoria.
EPROM
Memoria de sólo lectura, cuyo contenido se borra con luz UV, y que
puede reescribirse con nueva información.
Etapa
Las etapas son la parte de ejecución y al mismo tiempo los recursos
de organización del Diagrama de Funciones secuencial
Etapa inicial, Etapa de inicialización
Una etapa especial en el Diagrama de Funciones Secuencial, que
se ejecuta en primer lugar y al principio del programa. cada estruc-
tura secuencial (red) tiene una única etapa inicial.
Funciones
Una función es una parte del programa, que suministra un único
valor para las variables de entrada transmitidas. la información no
puede ser almacenada de forma intermedia en una función.

TP301 • Festo Didactic


D-5
Glosario

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 de
operación, que contiene información sobre lo que hay que hacer y
el operando o la parte de dirección. esto define dónde hay que
hacer algo y dónde debe leerse o almacenarse la información.
Interface paralelo
Interface para la transmisión de bits de datos en paralelo.
Ventaja: Se consiguen elevadas velocidades de transmisión como
resultado de la transmisión simultánea de 8 bits de datos.
Desventaja: longitud limitada de la línea.
Interface serie
Interface 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ón
IEC 1131-3 permite la utilización de diferentes lenguajes de progra-
mación, parcialmente incluso en forma mezclada, para la creación
de un programa de control. El diagrama de bloques de función, el
diagrama 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 declaraciones
La 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 de
variables.
Esto no significa que un sistema de programa no sea capaz de
crear listas de este tipo para la documentación de un programa de
control.
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 lectura
ROM Read Only Memory: Memoria cuyo contenido sólo puede ser
leído.
MPU
Abreviación de ’Main Processing Unit’ (Unidad de procesamiento
principal (antiguamente CPU - Central Process Unit o Unidad Cen-
tral de Proceso UCP)

Festo Didactic • TP301


D-6
Glosario

Palabra clave
Algunas palabras en el estándar están reservadas a tareas específi-
cas, por lo que no pueden utilizarse libremente.
Programa de control
El 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 bus
Sistema 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. Esta
asignación se realiza predominantemente por medio de operaciones
lógicas. Un programa combinatorio se realiza completamente en un
ciclo.
Sistema de control secuencial
Un 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 siguiente
depende de ciertas condiciones, las condiciones de transición.
Tabla de imagen
Los programas de PLC, normalmente no operan directamente en las
entradas y salidas del PLC, sino sobre una imagen (copia de los
valores de la señal en la memoria interna). Las entradas se leen al
principio del ciclo; al final del ciclo, la imagen de las salidas se emite
físicamente hacia las salidas.
Texto estructurado (ST)
Un lenguaje textual de alto nivel de IEC 1131-3 para la creación de
programas de control
Tiempo de ciclo
El tiempo de ciclo de un PLC es el tiempo requerido por la unidad
de control central para procesar una vez el programa desde el prin-
cipio al final. Esto también tiene en cuenta el tiempo requerido para
leer y para emitir la tabla de imagen. La indicación del tiempo se
hace generalmente en ms/K.
Tipo de datos
Las variables de IEC 1131-3 pueden ser de diferentes tipos. Las
declaraciones correspondientes permiten la definición de tipos de
datos.

TP301 • Festo Didactic


D-7
Glosario

Transición
El elemento de un Diagrama de funciones secuencial, que evalúa
una expresión booleana y habilita el paso el flujo del programa a la
siguiente etapa
Transmisión de datos en paralelo
La 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 serie
Forma de transmitir datos, en la que los datos se transmiten conse-
cutivamente bit a bit. Para ello se necesita por lo menos una línea
de datos.
Unidades de organización de programas
IEC 1131-3 distingue entre diferentes partes de un programa de
control y requiere estructuración en unidades de organización. Es-
tos son los programas, funciones y bloques de función. Una unidad
de mayor nivel de organización es la configuración.
Valor inicial, Valor de partida
A 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 el
programa.
Variable de realimentación
La memoria de realimentación es programada por el usuario e indi-
ca el final o eventualmente una condición de error de la acción
ordenada. La variable de realimentación se utiliza a menudo en la
siguiente condición de transición.

Festo Didactic • TP301


D-8
Glosario

TP301 • Festo Didactic

También podría gustarte