Automatismos Industriales - Info · PDF fileautomatismo así como en las...

254
Automatismos Industriales Álvaro Ángel Orozco Gutiérrez Universidad Tecnológica de Pereira Cristian Guarnizo Lemus Universidad Tecnológica de Pereira Mauricio Holguín Londoño Universidad Tecnológica de Pereira 2008 Taller de Publicaciones- Universidad Tecnológica de Pereira [email protected] *Realizado bajo el auspicio de COLCIENCIAS, Proyectos: 1110-14-17905: Sistema automatizado efectivo y apropiado de caracterización y clasificación de señales electromiográficas para el control de prótesis y brazos robóticos 1110-405-20247: Identificación en línea de modos tempranos de fallas dinámicas en máquinas rotativas

Transcript of Automatismos Industriales - Info · PDF fileautomatismo así como en las...

Page 1: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Automatismos Industriales

Álvaro Ángel Orozco GutiérrezUniversidad Tecnológica de Pereira

Cristian Guarnizo LemusUniversidad Tecnológica de Pereira

Mauricio Holguín LondoñoUniversidad Tecnológica de Pereira

2008

Taller de Publicaciones- Universidad Tecnológica de Pereira

[email protected]

*Realizado bajo el auspicio de COLCIENCIAS, Proyectos:

1110-14-17905: Sistema automatizado efectivo y apropiado de caracterización y clasificación de señales

electromiográficas para el control de prótesis y brazos robóticos

1110-405-20247: Identificación en línea de modos tempranos de fallas dinámicas en máquinas rotativas

Page 2: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

ISBN: 978-958-8272-99-3

Este libro está hecho con la ayuda de LYX 1.4.5

Page 3: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

PREFACIO

La industrialización rápida y continua que vive la sociedad ha llevado a unnuevo nivel la automatización de sistemas productivos. Se emplea cada vezmás los Controladores de Lógica Programable, o PLCs, y existe una tenden-cia hacia la incursión en sistemas de automatización basados enteramente enPC. Nuevos desafíos relacionados con la automatización tratan cada vez consistemas más difíciles de simular, implementar y validar por lo que ademásse hace necesario emplear técnicas de mayor generalidad y poder que permi-tan una posterior implementación en los sistemas tradicionales o actuales. Elobjetivo de este libro es presentar las principales técnicas de análisis e imple-mentación de sistemas para su automatización y ahondar en los estándaresactuales que permiten portabilidad y flexibilidad en los sistemas diseñados.

El material encontrado en este libro presenta una breve introducción a laevolución de los automatismos, pasando por los fundamentos básicos sobre loscuales se desarrolla como lo son la lógica de predicados, el álgebra de Boole,las funciones de conmutación y los sistemas secuenciales; también se encuentralas metodologías clásicas y modernas de diseño que permiten su mutua inte-gración a la hora de implementar un sistema global. Se hace énfasis final en lastécnicas de programación enmarcadas dentro del Estándar IEC 61131-3 con elobjeto de facilitar la integración de varios sistemas de diferente procedencia ode permitir la implementación de sistemas complejos.

El Capítulo 1 presenta una breve introducción al origen y motivación delos automatismos, mientras en el Capítulo 2 se hace énfasis en la evolución delos mismos y se centra en la descripción de los componentes generales de unautomatismo así como en las metodologías de lógica cableada y programada.

El fundamento básico de los automatismos está en la lógica de predicadosy el álgebra de Boole, los cuales se presentan en el Capítulo 3, donde ademásse encuentra contenido todo lo relacionado con la síntesis de sistemas com-binacionales y la presentación de los sistemas secuenciales y dispositivos dememoria, los cuales complementan la base general para el diseño de todo au-tomatismo. La lógica cableada, como método clásico de diseño, se presenta en

III

Page 4: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

el Capítulo 4, mientras otra técnica con mayor alcance se presenta en el Capí-tulo 5, donde está todo lo relacionado con las redes de Petri y su orientación almodelamiento, diseño y validación de automatismos.

Finalmente, en el Capítulo 6, se trata el Estándar IEC 61131-3 el cual presen-ta las diversas técnicas de programación más usadas para la implementaciónde automatismos con la motivación de brindar una metodología que permitala portabilidad e interoperabilidad de los diversos sistemas existentes.

IV

Page 5: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Notaciones

Notación SignificadoTexto en cursiva Resalta palabras clavesa, b, c, di Constantesw, x, y, z, xi, αi, ε, ζ VariablesJ, K, L Relatoresf , g, h Denotan una función| Descriptor{e1, e2, · · · , en} Conjunto en notación por extensión∪ Unión de conjuntos∩ Intersección de conjuntos∅ Conjunto vacíoH Función Booleana∧ Conectiva lógica AND∨ Conectiva lógica OR¬ Conectiva lógica NOT⊕ Conectiva lógica XOR� Conectiva lógica NXOR→ Conectiva lógica de implicación↔ Conectiva lógica de coimplicaciónL Lenguaje formal de primer ordenL Lenguaje formal sin descriptor∨

Cuantificador existencial∧Cuantificador universal

∈ PertenenciaF Expresión BooleanaFd Expresión Booleana Dual∑m Sumatoria de mintérminos∏M Productoria de maxtérminos

d Términos Don’t Care o no importaQ(t) Estado presente en una memoriaQ(t+ 1) Estado siguiente en una memoria

V

Page 6: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Notación SignificadoNA Contacto normalmente abiertoNC Contacto normalmente cerradoA, B, M, N ContactorCR, CR, CRB ReléTR Relé de temporizaciónTR ON Relé de temporización al trabajoTR OFF Relé de temporización al reposoTA Contacto temporizado a la aperturaTC Contacto temporizado al cierreCRc Relé de campoCRsc Relé de sobrecargaRdP Red de PetriP Conjunto de lugares de una RdPpi i-ésimo lugar de una RdPT Conjunto de Transiciones de una RdPtj j-ésima transición de una RdPF ⊆ (P x T ) ∪ (T x P ) Conjunto de arcos de una RdPW : F → {1, 2, 3, ...} Función de peso en los arcos de una RdPM0 Marcado inicial de una RdPMn n-ésimo marcado alcanzable de una RdPM(pi) Valor del marcado en el i-ésimo lugarN = {P, T, F, W} RdP sin marcado inicialPN = {N, M0} RdP con marcado inicialα (pi, tj) = w (pi, tj) Función de incidencia previaβ (tj , pi) = w (tj , pi) Función de incidencia posteriorσ Vector secuencia de disparoNG = {P, T, α, β} RdP generalizada� Número arbitrariamente grande de marcasG = {V, E} Gráfico de coberturaPN∗ Subred de PetriC+ Matriz de incidencia posteriorC− Matriz de incidencia previaC Matriz de incidenciac+ij Elemento ij de C+

c−ij Elemento ij de C−

cij Elemento ij de C•tj Lugares de entrada de la transición tjt•j Lugares de salida de la transición tj•pi Transiciones de entrada del lugar pi

p•i Transiciones de salida del lugar pi

ME Máquina de estadosGM Gráfico marcadoLE Red de libre elecciónµk Vector de disparoMT Matriz transpuesta de M

VI

Page 7: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Notación SignificadoΓ Vector anulador derecho de C

∆ Vector anulador izquierdo de C

γi i-ésimo elemento de Γδi i-ésimo elemento de ∆NGd RdP dual de NGCd Matriz de incidencia de una RdP dual‖Γ‖ Soporte del T-invariante‖∆‖ Soporte del P-invarianteCONSTRUCTOR Palabra reservada IEC 61131-3IF · · · THEN Palabra reservada resaltadaTexto a ingresar Texto código IEC 61131-3

VII

Page 8: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

VIII

Page 9: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Índice General

1. INTRODUCCIÓN 1

2. FUNDAMENTOS DE LOS AUTOMATISMOS 52.1. Reseña Histórica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2. Evolución de los Automatismos . . . . . . . . . . . . . . . . . . . 82.3. Componentes de los Automatismos . . . . . . . . . . . . . . . . 92.4. Lógica Cableada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5. Lógica Programada . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS 153.1. Lógica de Predicados . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1. Presentación del Lenguaje Formal . . . . . . . . . . . . . 153.1.2. Tablas de Verdad . . . . . . . . . . . . . . . . . . . . . . . 173.1.3. Definición del Lenguaje Formal . . . . . . . . . . . . . . . 193.1.4. Expresiones, Términos y Fórmulas . . . . . . . . . . . . . 20

3.2. Álgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2.1. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . 223.2.2. Teoremas Fundamentales . . . . . . . . . . . . . . . . . . 233.2.3. Funciones de Conmutación . . . . . . . . . . . . . . . . . 243.2.4. Funciones Lógicas . . . . . . . . . . . . . . . . . . . . . . 25

3.2.4.1. Universalidad de la NAND y la NOR . . . . . . 293.2.5. Formas Algebraicas Estándar . . . . . . . . . . . . . . . . 30

3.2.5.1. Formas SOP y POS . . . . . . . . . . . . . . . . 303.2.5.2. Formas Canónicas . . . . . . . . . . . . . . . . . 313.2.5.3. Formas Canónicas Equivalentes . . . . . . . . . 33

3.2.6. Términos “Don’t Care” . . . . . . . . . . . . . . . . . . . . 333.3. Simplificación de Funciones de Conmutación . . . . . . . . . . . 34

3.3.1. Mapas de Karnaugh . . . . . . . . . . . . . . . . . . . . . 343.3.2. Simplificación por Mapas de Karnaugh . . . . . . . . . . 373.3.3. Simplificación por Quine-McCluskey . . . . . . . . . . . 41

3.4. Automatismos Secuenciales . . . . . . . . . . . . . . . . . . . . . 443.4.1. Clasificación de los Sistemas Secuenciales . . . . . . . . . 45

3.4.1.1. Máquinas de Mealy y de Moore . . . . . . . . . 453.4.1.2. Sistemas Síncronos y Asíncronos . . . . . . . . 46

IX

Page 10: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4.2. Diagrama de Estados . . . . . . . . . . . . . . . . . . . . 463.4.3. Dispositivos de Memoria . . . . . . . . . . . . . . . . . . 47

3.4.3.1. Latch Set-Reset . . . . . . . . . . . . . . . . . . . 483.4.3.2. Latch SCR . . . . . . . . . . . . . . . . . . . . . . 513.4.3.3. Latch D . . . . . . . . . . . . . . . . . . . . . . . 523.4.3.4. Flip-Flop SR . . . . . . . . . . . . . . . . . . . . 533.4.3.5. Flip-Flop D . . . . . . . . . . . . . . . . . . . . . 543.4.3.6. Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . 553.4.3.7. Flip-Flop T . . . . . . . . . . . . . . . . . . . . . 56

3.4.4. Implementación de Automatismos Secuenciales . . . . . 563.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 62

4. LÓGICA CABLEADA 674.1. Dispositivos de Mando y Control . . . . . . . . . . . . . . . . . . 67

4.1.1. El Contactor . . . . . . . . . . . . . . . . . . . . . . . . . . 674.1.1.1. Categorías Según el Empleo . . . . . . . . . . . 70

4.1.2. El Relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.1.3. Relé de Enclavamiento . . . . . . . . . . . . . . . . . . . . 714.1.4. Contactor con Bobina de Autorretención . . . . . . . . . 714.1.5. Relé de Temporización al Trabajo (Relé Tipo ON) . . . . 714.1.6. Relé de Temporización al Reposo (Relé Tipo OFF) . . . . 724.1.7. Relé de Temporización al Trabajo y al Reposo . . . . . . . 734.1.8. Elementos de Mando . . . . . . . . . . . . . . . . . . . . . 73

4.2. Funciones Básicas de Lógica Cableada . . . . . . . . . . . . . . . 744.2.1. Función Interruptor y Función Sello . . . . . . . . . . . . 744.2.2. Función Detector de Flancos . . . . . . . . . . . . . . . . 754.2.3. Función Toggle . . . . . . . . . . . . . . . . . . . . . . . . 764.2.4. Función Memoria Biestable . . . . . . . . . . . . . . . . . 774.2.5. Función Tren de Pulsos . . . . . . . . . . . . . . . . . . . 784.2.6. Función Refresco . . . . . . . . . . . . . . . . . . . . . . . 794.2.7. Función Simulación de Relé Tipo OFF con ON . . . . . . 804.2.8. Función Simulación de Relé Tipo ON con OFF . . . . . . 804.2.9. Función Contador . . . . . . . . . . . . . . . . . . . . . . 81

4.3. Lógica de Conmutación con Lógica Cableada . . . . . . . . . . . 814.4. Diseños Básicos en Lógica Cableada . . . . . . . . . . . . . . . . 84

4.4.1. Activación Alternada de Cargas . . . . . . . . . . . . . . 844.4.2. Encendido Secuencial de Cargas . . . . . . . . . . . . . . 864.4.3. Arranque de Motor DC en Derivación . . . . . . . . . . . 884.4.4. Arranque de Motores Trifásicos . . . . . . . . . . . . . . . 90

4.4.4.1. Arranque Estrella-Delta con Transición Abierta 904.4.4.2. Arranque Estrella-Delta con Transición Cerrada 91

4.4.5. Inversión de Giro en Motores . . . . . . . . . . . . . . . . 924.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 93

X

Page 11: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5. Redes de Petri 995.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . . . 995.2. Definición y Presentación de las RdP . . . . . . . . . . . . . . . . 1005.3. Tipos de Transiciones y Lugares . . . . . . . . . . . . . . . . . . . 1025.4. Alcanzabilidad y Secuencia de Disparo . . . . . . . . . . . . . . 1035.5. Propiedades de las RdP . . . . . . . . . . . . . . . . . . . . . . . 104

5.5.1. RdP Limitada . . . . . . . . . . . . . . . . . . . . . . . . . 1045.5.2. RdP Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045.5.3. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . 1065.5.4. RdP Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.5.5. RdP Conforme . . . . . . . . . . . . . . . . . . . . . . . . 1065.5.6. RdP Persistente . . . . . . . . . . . . . . . . . . . . . . . . 1075.5.7. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . 107

5.6. RdP Interpretada . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085.7. RdP Autónoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

5.7.1. RdP Generalizada . . . . . . . . . . . . . . . . . . . . . . 1085.7.2. RdP Ordinaria y Pura . . . . . . . . . . . . . . . . . . . . 108

5.8. RdP Extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.9. Modelamiento de Procesos . . . . . . . . . . . . . . . . . . . . . . 109

5.9.1. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . 1095.9.2. Arquitectura de Decisión . . . . . . . . . . . . . . . . . . 1105.9.3. Arquitectura Paralela . . . . . . . . . . . . . . . . . . . . . 1105.9.4. Arquitectura de Confusión . . . . . . . . . . . . . . . . . 1115.9.5. Arquitecturas de Sincronización . . . . . . . . . . . . . . 1125.9.6. Arquitectura para Recurso Compartido . . . . . . . . . . 1135.9.7. Arquitectura Lectura-Escritura . . . . . . . . . . . . . . . 1145.9.8. Arquitectura Productor-Consumidor . . . . . . . . . . . 1155.9.9. Arquitectura Productor-Consumidor con Prioridad . . . 1165.9.10. Arquitectura para Capacidad Limitada . . . . . . . . . . 1165.9.11. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . 1175.9.12. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . 117

5.10. Simplificación de una RdP . . . . . . . . . . . . . . . . . . . . . . 1185.11. Análisis de las Redes de Petri . . . . . . . . . . . . . . . . . . . . 120

5.11.1. Análisis por Árbol de Cobertura . . . . . . . . . . . . . . 1215.11.2. Análisis por Transformación . . . . . . . . . . . . . . . . 124

5.11.2.1. Reducción de una Subred de Petri a un Lugar . 1255.11.3. Análisis por Representación Estructural . . . . . . . . . . 126

5.11.3.1. Matrices de Incidencia Previa y Posterior . . . . 1275.11.3.2. Subconjuntos y Subclases de una RdP . . . . . 1275.11.3.3. Matriz de Incidencia . . . . . . . . . . . . . . . . 1295.11.3.4. Ecuación de Estado . . . . . . . . . . . . . . . . 1305.11.3.5. Determinación de la Reversibilidad . . . . . . . 1315.11.3.6. Determinación de la Conservatividad . . . . . . 1325.11.3.7. Determinación de la Limitación . . . . . . . . . 1335.11.3.8. Determinación de la Vivacidad . . . . . . . . . 133

5.12. Análisis Local de Redes de Petri . . . . . . . . . . . . . . . . . . . 135

XI

Page 12: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.12.1. Red de Petri Dual . . . . . . . . . . . . . . . . . . . . . . . 1355.12.2. Invariantes de Marcado y de Disparo . . . . . . . . . . . 135

5.12.2.1. Obtención de los P-Invariantes . . . . . . . . . . 1365.13. Portabilidad entre Redes de Petri y Lógica Cableada . . . . . . . 1385.14. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 143

6. ESTÁNDAR IEC 61131-3 1496.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . . . 149

6.1.1. Deficiencias de la Programación Escalera . . . . . . . . . 1506.2. Marco Conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

6.2.1. Elementos del Modelo de Software . . . . . . . . . . . . . 1516.2.2. Partes de una POU . . . . . . . . . . . . . . . . . . . . . . 154

6.3. Elementos Comunes a los Lenguajes del Estándar . . . . . . . . 1576.3.1. Conjunto de Caracteres . . . . . . . . . . . . . . . . . . . 1576.3.2. Identificadores . . . . . . . . . . . . . . . . . . . . . . . . 1576.3.3. Palabras Reservadas . . . . . . . . . . . . . . . . . . . . . 1576.3.4. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . 1596.3.5. Delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . 1596.3.6. Tipos de Datos . . . . . . . . . . . . . . . . . . . . . . . . 160

6.3.6.1. Tipos de Datos Elementales . . . . . . . . . . . 1606.3.6.2. Datos Genéricos . . . . . . . . . . . . . . . . . . 1626.3.6.3. Propiedades de Tipos de Datos Elementales . . 1626.3.6.4. Tipos de Datos Derivados . . . . . . . . . . . . 163

6.3.7. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1656.3.7.1. Tipos de Variables . . . . . . . . . . . . . . . . . 1656.3.7.2. Atributos de las Variables . . . . . . . . . . . . . 1676.3.7.3. Inicialización de Variables . . . . . . . . . . . . 169

6.3.8. Tipos de Unidades de Organización de Programa . . . . 1696.3.8.1. Funciones . . . . . . . . . . . . . . . . . . . . . . 1706.3.8.2. Bloques de Funciones . . . . . . . . . . . . . . . 1746.3.8.3. Programas . . . . . . . . . . . . . . . . . . . . . 179

6.4. Texto Estructurado (ST) . . . . . . . . . . . . . . . . . . . . . . . 1816.4.1. Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 1816.4.2. Asignaciones, Operandos y Operadores . . . . . . . . . . 1816.4.3. Sentencias para Control de Flujo . . . . . . . . . . . . . . 182

6.5. Listado de Instrucciones (IL) . . . . . . . . . . . . . . . . . . . . . 1876.5.1. Estructura Básica del Listado de Instrucciones . . . . . . 1876.5.2. El Acumulador Universal . . . . . . . . . . . . . . . . . . 1886.5.3. Los Operadores . . . . . . . . . . . . . . . . . . . . . . . . 1886.5.4. Llamados a POUs . . . . . . . . . . . . . . . . . . . . . . . 190

6.6. Diagrama de Bloques de Funciones (FBD) . . . . . . . . . . . . . 1916.6.1. Elementos Gráficos de una Red FBD . . . . . . . . . . . . 1926.6.2. Elementos para Control de Flujo . . . . . . . . . . . . . . 1936.6.3. Reglas de la Evolución en una Red FBD . . . . . . . . . . 193

6.7. Diagrama Escalera (LD) . . . . . . . . . . . . . . . . . . . . . . . 1966.7.1. Elementos Gráficos de una Red LD . . . . . . . . . . . . . 196

XII

Page 13: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.7.2. Elementos Para Control de Flujo . . . . . . . . . . . . . . 1976.7.3. Llamados a Funciones y Bloques de Funciones . . . . . . 1976.7.4. Reglas de la Evolución en una Red LD . . . . . . . . . . . 198

6.8. Diagrama Funcional Secuencial (SFC) . . . . . . . . . . . . . . . 2006.8.1. Elementos Gráficos y Descripción de una Red SFC . . . . 200

6.8.1.1. Las Etapas . . . . . . . . . . . . . . . . . . . . . 2016.8.1.2. Las Transiciones . . . . . . . . . . . . . . . . . . 202

6.8.2. Secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 2046.8.2.1. Secuencias Divergentes . . . . . . . . . . . . . . 2056.8.2.2. Secuencias Simultáneas . . . . . . . . . . . . . . 2066.8.2.3. Redes Inseguras . . . . . . . . . . . . . . . . . . 206

6.8.3. Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2076.8.3.1. Bloques de Acciones . . . . . . . . . . . . . . . . 2076.8.3.2. Calificadores de las Acciones . . . . . . . . . . . 2096.8.3.3. Control de Acción . . . . . . . . . . . . . . . . . 213

6.8.4. Reglas de la Evaluación en una Red SFC . . . . . . . . . 2146.8.5. Reglas de la Evolución en una Red SFC . . . . . . . . . . 2166.8.6. Otras Características No Definidas en el Estándar . . . . 216

6.9. Portabilidad entre los Diferentes Lenguajes . . . . . . . . . . . . 2186.10. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2186.11. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 224

XIII

Page 14: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

XIV

Page 15: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Índice de Tablas

3.1. Tabla de Verdad para la Negación . . . . . . . . . . . . . . . . . . 173.2. Tabla de Verdad para la Conjunción . . . . . . . . . . . . . . . . 183.3. Tabla de Verdad para la Disyunción . . . . . . . . . . . . . . . . 183.4. Tabla de Verdad para la Implicación. . . . . . . . . . . . . . . . . 183.5. Tabla de Verdad para la Coimplicación . . . . . . . . . . . . . . . 193.6. Posibles Combinaciones para Función de Aridad 1. . . . . . . . 243.7. Posibles Combinaciones para Función de Aridad 2. . . . . . . . 253.9. Notación Simplificada de Mintérminos . . . . . . . . . . . . . . . 313.10. Notación Simplificada de Maxtérminos . . . . . . . . . . . . . . 323.11. Formas Canónicas Equivalentes . . . . . . . . . . . . . . . . . . . 333.12. Términos Don’t Care . . . . . . . . . . . . . . . . . . . . . . . . . 343.13. Lista de Mintérminos Ordenados por Vecindad . . . . . . . . . . 423.14. Primera Búsqueda de Términos Adyacentes . . . . . . . . . . . . 423.15. Segunda Búsqueda de Términos Adyacentes . . . . . . . . . . . 433.16. Listado de Términos No Agrupados y Mintérminos . . . . . . . 433.17. Identificación de Términos que Cubren Todos los Mintérminos . 443.18. Ejemplo de Tabla de Estados . . . . . . . . . . . . . . . . . . . . . 473.19. Secuencia de Excitación en una Latch SR. . . . . . . . . . . . . . 503.20. Tabla de Excitación para el Latch SR. . . . . . . . . . . . . . . . . 503.21. Tabla de Excitación para el Latch SCR. . . . . . . . . . . . . . . . 513.22. Tabla de Excitación para el Latch D. . . . . . . . . . . . . . . . . 523.23. Tabla de Excitación para el Flip-Flop SR. . . . . . . . . . . . . . . 543.24. Tabla de Excitación para el Flip-Flop D. . . . . . . . . . . . . . . 543.25. Tabla de Excitación para el Flip-Flop JK. . . . . . . . . . . . . . . 553.26. Tabla de Excitación para el Flip-Flop T. . . . . . . . . . . . . . . . 563.27. Tabla de Transiciones Automatismo Secuencial 1 . . . . . . . . . 573.28. Excitación de Flip-Flops Automatismo 1 . . . . . . . . . . . . . . 583.29. Tabla de Transiciones Automatismo Secuencial 2 . . . . . . . . . 603.30. Excitación de Flip-Flops Automatismo 2 . . . . . . . . . . . . . . 61

6.1. Tipos de POUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1526.2. Tipos de Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536.3. Palabras Reservadas IEC 61131-3 . . . . . . . . . . . . . . . . . . 1586.4. Tipos de Datos Elementales . . . . . . . . . . . . . . . . . . . . . 1616.5. Calificadores de Acciones . . . . . . . . . . . . . . . . . . . . . . 210

XV

Page 16: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

XVI

Page 17: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Índice de Figuras

2.1. Alarma de Platón Basada en Clepsydra . . . . . . . . . . . . . . 62.2. Odómetro de Herón . . . . . . . . . . . . . . . . . . . . . . . . . 72.3. Modelo de Sistema de Control . . . . . . . . . . . . . . . . . . . 10

3.1. Representación de la AND . . . . . . . . . . . . . . . . . . . . . . 263.2. Representación de la OR . . . . . . . . . . . . . . . . . . . . . . . 263.3. Representación de la NOT . . . . . . . . . . . . . . . . . . . . . . 273.4. Representación de la NAND . . . . . . . . . . . . . . . . . . . . . 273.5. Representación de la NOR . . . . . . . . . . . . . . . . . . . . . . 283.6. Representación de la XOR . . . . . . . . . . . . . . . . . . . . . . 283.7. Representación de la NXOR . . . . . . . . . . . . . . . . . . . . . 293.8. Universalidad de la NAND y la NOR . . . . . . . . . . . . . . . 303.9. Mapa de Karnaugh para Función de Aridad 2 . . . . . . . . . . 353.10. Mapa de Karnaugh para Función de Aridad 3 . . . . . . . . . . 353.11. Otra Representación del Mapa de Karnaugh . . . . . . . . . . . 363.12. Mapas de Karnaugh para Función de Aridad 4 . . . . . . . . . . 363.13. Mapa de Karnaugh para Simplificar Mintérminos . . . . . . . . 373.14. Agrupaciones para Simplificar Mintérminos . . . . . . . . . . . 383.15. Mapa de Karnaugh para Simplificar Maxtérminos . . . . . . . . 393.16. Agrupaciones para Simplificar Maxtérminos . . . . . . . . . . . 393.17. Simplificación con Términos “Don’t Care” . . . . . . . . . . . . . 403.18. Máquina de Estados Finitos . . . . . . . . . . . . . . . . . . . . . 443.19. Máquina de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . 453.20. Máquina de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . 463.21. Ejemplo de Diagrama de Estados . . . . . . . . . . . . . . . . . . 473.22. Latch Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.23. Latch Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.24. Latch Set-Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.25. Latch SCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.26. Latch D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.27. Flip-Flop SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533.28. Flip-Flop D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543.29. Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553.30. Flip-Flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

XVII

Page 18: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.31. Diagrama de Estados Automatismo Secuencial 1 . . . . . . . . . 573.32. Funciones Para el Flip-Flop A . . . . . . . . . . . . . . . . . . . . 583.33. Funciones Para el Flip-Flop B . . . . . . . . . . . . . . . . . . . . 583.34. Diagrama Lógico Automatismo 1 . . . . . . . . . . . . . . . . . . 593.35. Diagrama de Estados Automatismo Secuencial 2 . . . . . . . . . 603.36. Funciones Para los Flip-flops del Automatismo 2 . . . . . . . . . 613.37. Funciones Para los Flip-flops del Automatismo 2 . . . . . . . . . 623.38. Diagrama Lógico Automatismo 2 . . . . . . . . . . . . . . . . . . 62

4.1. Componentes de un Contactor . . . . . . . . . . . . . . . . . . . 694.2. Representación y Numeración de Contactos . . . . . . . . . . . . 704.3. Representación y Operación de Relé Tipo ON . . . . . . . . . . . 724.4. Representación y Operación de Relé Tipo OFF . . . . . . . . . . 734.5. Simbología Elementos de Mando y Protección . . . . . . . . . . 744.6. Función Interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . 754.7. Función Flanco de Subida. . . . . . . . . . . . . . . . . . . . . . . 754.8. Función Flanco de Bajada. . . . . . . . . . . . . . . . . . . . . . . 764.9. Función Toggle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.10. Función Memoria Biestable . . . . . . . . . . . . . . . . . . . . . 774.11. Función Tren de Pulsos con 2 Relés ON . . . . . . . . . . . . . . 784.12. Función Tren de Pulsos con 2 Relés OFF y con Un solo ON. . . . 794.13. Función Refresco . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.14. Función Simulación de Relé OFF con Relé ON . . . . . . . . . . 804.15. Función Simulación de Relé ON con Relé OFF . . . . . . . . . . 804.16. Función Contador . . . . . . . . . . . . . . . . . . . . . . . . . . . 814.17. Control de Alarma Visual . . . . . . . . . . . . . . . . . . . . . . 824.18. Lógica Cableada para Control de Alarma Visual . . . . . . . . . 824.19. Ejemplo de Lógica Cableada con Temporización . . . . . . . . . 844.20. Secuencia de Cargas A→B→C . . . . . . . . . . . . . . . . . . . . 854.21. Secuencia de Cargas A→B→C→D→C→B y A→B→C→D→B→C 864.22. Encendido en Secuencia M1↑, M2↑, M3↑, M3↓, M2↓, M1↓ . . . . 874.23. Encendido en Secuencia M1↑, M2↑, M3↑, M3↓, M1↓, M2↓ . . . . 874.24. Encendido en Secuencia M1↑, M2↑, M3↑, M2↓, M3↓, M1↓ . . . . 884.25. Arranque de Motor DC Utilizando Relés ON . . . . . . . . . . . 894.26. Arranque de Motor DC Utilizando Relés OFF . . . . . . . . . . . 894.27. Arranque de Motor Trifásico con Transición Abierta . . . . . . . 904.28. Arranque con Transición Abierta Usando Relé OFF . . . . . . . 914.29. Arranque de Motor con Transición Cerrada . . . . . . . . . . . . 914.30. Circuitos de Potencia para Inversión de Giro . . . . . . . . . . . 924.31. Circuito de Control para Inversión de Giro . . . . . . . . . . . . 93

5.1. Elementos de una Red de Petri . . . . . . . . . . . . . . . . . . . 1025.2. Transiciones Fuente y Sumidero . . . . . . . . . . . . . . . . . . . 1035.3. Tipos de Nodos OR . . . . . . . . . . . . . . . . . . . . . . . . . . 1035.4. Tipos de Nodos AND . . . . . . . . . . . . . . . . . . . . . . . . . 1035.5. RdP No Limitada . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

XVIII

Page 19: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.6. RdP No Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055.7. RdP No Viva en Punto Muerto . . . . . . . . . . . . . . . . . . . 1055.8. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.9. RdP No Persistente . . . . . . . . . . . . . . . . . . . . . . . . . . 1075.10. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 1075.11. Arco Inhibidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.12. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . . . . . 1105.13. Arquitectura de Decisión o de Conflicto . . . . . . . . . . . . . . 1105.14. Arquitectura Paralela o Concurrente . . . . . . . . . . . . . . . . 1105.15. Arquitectura de Confusión Simétrica . . . . . . . . . . . . . . . . 1115.16. Arquitectura de Confusión Asimétrica . . . . . . . . . . . . . . . 1115.17. Arquitectura de Punto de Encuentro Simple . . . . . . . . . . . . 1125.18. Arquitectura de Punto de Encuentro Simétrico . . . . . . . . . . 1125.19. Arquitectura de Punto de Encuentro Asimétrico . . . . . . . . . 1135.20. Arquitectura de Semáforo . . . . . . . . . . . . . . . . . . . . . . 1135.21. Arquitectura de Recurso Compartido . . . . . . . . . . . . . . . 1145.22. Arquitectura de Lectura-Escritura . . . . . . . . . . . . . . . . . 1155.23. Arquitectura Productor-Consumidor . . . . . . . . . . . . . . . . 1155.24. Arquitectura Productor-Consumidor con Prioridad . . . . . . . 1165.25. Arquitectura para Capacidad Limitada . . . . . . . . . . . . . . 1175.26. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . . . . . 1175.27. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . . . . . 1185.28. Fusión de Lugares en Serie . . . . . . . . . . . . . . . . . . . . . . 1195.29. Fusión de Transiciones en Serie . . . . . . . . . . . . . . . . . . . 1195.30. Fusión de Lugares Paralelos . . . . . . . . . . . . . . . . . . . . . 1195.31. Fusión de Transiciones Paralelas . . . . . . . . . . . . . . . . . . 1205.32. Eliminación de Lugar Auto-lazo . . . . . . . . . . . . . . . . . . 1205.33. Eliminación de Transición Auto-lazo . . . . . . . . . . . . . . . . 1205.34. Árbol de Cobertura para la Figura 5.10 . . . . . . . . . . . . . . . 1225.35. RdP con Nodo Terminal y Nodos Infinitamente Reproducibles. 1225.36. Árbol de Cobertura para la Figura 5.35 . . . . . . . . . . . . . . . 1235.37. Gráfico de Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . 1245.38. Subred de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255.39. Subred de Petri a Macrolugar . . . . . . . . . . . . . . . . . . . . 1265.40. Matrices de Incidencia Previa y Posterior . . . . . . . . . . . . . 1275.41. RdP No Pura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295.42. RdP No Pura a Pura . . . . . . . . . . . . . . . . . . . . . . . . . 1305.43. Gráfico Orientado Marcado . . . . . . . . . . . . . . . . . . . . . 1345.44. Sifón y Trampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1345.45. Arquitectura Secuencial a Lógica Cableada . . . . . . . . . . . . 1395.46. Arcos con Pesos a Lógica Cableada . . . . . . . . . . . . . . . . . 1395.47. Arco Inhibidor a Lógica Cableada . . . . . . . . . . . . . . . . . 1395.48. Nodo And a Lógica Cableada . . . . . . . . . . . . . . . . . . . . 1405.49. Arquitectura de Decisión a Lógica Cableada . . . . . . . . . . . . 1405.50. Arquitectura de Decisión con Prioridad a Lógica Cableada . . . 1415.51. Temporizador a Lógica Cableada . . . . . . . . . . . . . . . . . . 141

XIX

Page 20: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.52. Acción a Lógica Cableada . . . . . . . . . . . . . . . . . . . . . . 1415.53. Ejemplo de Red de Petri a Lógica Cableada . . . . . . . . . . . . 1425.54. Ejercicios sobre Propiedades . . . . . . . . . . . . . . . . . . . . . 1435.55. Ejercicio de Simplificación . . . . . . . . . . . . . . . . . . . . . . 144

6.1. Modelo Definido por el Estándar IEC 61131-3 . . . . . . . . . . . 1546.2. Partes de una POU . . . . . . . . . . . . . . . . . . . . . . . . . . 1556.3. Ejemplo de Texto Estructurado . . . . . . . . . . . . . . . . . . . 1556.4. Ejemplo de Listado de Instrucciones . . . . . . . . . . . . . . . . 1566.5. Ejemplo de Diagrama de Bloques Funcionales . . . . . . . . . . 1566.6. Ejemplo de Diagrama Escalera . . . . . . . . . . . . . . . . . . . 1566.7. Ejemplo de Diagrama Funcional Secuencial . . . . . . . . . . . . 1566.8. Ejemplo de Comentario . . . . . . . . . . . . . . . . . . . . . . . 1596.9. Ejemplo de Declaración de Tipo de Dato Derivado . . . . . . . . 1646.10. Ejemplo de Declaración de Atributos a Variables . . . . . . . . . 1686.11. Función que Evalúa Discriminante en Ecuación Cuadrática . . . 1716.12. Ejemplo de Invocación de Función . . . . . . . . . . . . . . . . . 1726.13. Uso de las Variables EN y ENO de una Función . . . . . . . . . 1736.14. Definición de Bloque de Función . . . . . . . . . . . . . . . . . . 1756.15. Definición de un Bloque de Función . . . . . . . . . . . . . . . . 1766.16. Característica de Tiempo del Temporizador TP . . . . . . . . . . 1786.17. Característica de Tiempo del Temporizador TON . . . . . . . . . 1786.18. Característica de Tiempo del Temporizador TOF . . . . . . . . . 1796.19. Reloj de Tiempo Real . . . . . . . . . . . . . . . . . . . . . . . . . 1796.20. Programa que Evalúa las Raices de la Ecuación Cuadrática . . . 1806.21. Formas de Sintaxis para la Sentencia IF ... THEN ... ELSE . . . . 1836.22. Sintaxis para la Sentencia CASE . . . . . . . . . . . . . . . . . . . 1836.23. Sentencia CASE con Variable Enumerada . . . . . . . . . . . . . 1846.24. Sintaxis para la Sentencia FOR ... DO . . . . . . . . . . . . . . . . 1856.25. Sintaxis para la Sentencia WHILE ... DO . . . . . . . . . . . . . . 1856.26. Sintaxis para la Sentencia REPEAT ... UNTIL . . . . . . . . . . . 1856.27. Sintaxis para la Sentencia EXIT . . . . . . . . . . . . . . . . . . . 1866.28. Sintaxis para Listado de Instrucciones . . . . . . . . . . . . . . . 1876.29. Operadores Booleanos en IL . . . . . . . . . . . . . . . . . . . . . 1896.30. Operadores ANY en IL . . . . . . . . . . . . . . . . . . . . . . . . 1896.31. Operadores de Salto y Comparación en IL . . . . . . . . . . . . . 1906.32. Llamado a Función en IL . . . . . . . . . . . . . . . . . . . . . . . 1916.33. Llamado a Bloque de Función en IL . . . . . . . . . . . . . . . . 1916.34. Elementos Gráficos de una Red FBD . . . . . . . . . . . . . . . . 1926.35. Elementos Gráficos Para Control de Flujo en FBD . . . . . . . . 1936.36. Ejemplo de Evolución en Red FBD . . . . . . . . . . . . . . . . . 1946.37. Ejemplo Red FBD con Realimentación y Salto . . . . . . . . . . . 1956.38. Representación de Bobina y Contacto en LD . . . . . . . . . . . . 1966.39. Ejemplo de Evolución en Red LD . . . . . . . . . . . . . . . . . . 1996.40. Determinación de Secuencia en Ejecución . . . . . . . . . . . . . 1996.41. Componentes Básicos de una Red SFC . . . . . . . . . . . . . . . 201

XX

Page 21: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.42. Transiciones con Sintaxis Inmediata . . . . . . . . . . . . . . . . 2036.43. Transición con Sintaxis de Conector . . . . . . . . . . . . . . . . 2036.44. Transiciones con Sintaxis de Nombre de Transición . . . . . . . . 2046.45. Secuencias Divergentes y Prioridades . . . . . . . . . . . . . . . 2056.46. Convergencia de Secuencias Divergentes . . . . . . . . . . . . . 2066.47. Secuencias Simultáneas y su Convergencia . . . . . . . . . . . . 2066.48. Redes Inseguras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2076.49. Elementos de un Bloque de Acción . . . . . . . . . . . . . . . . . 2086.50. Bloques de Acciones en los Lenguajes LD y FBD . . . . . . . . . 2096.51. Acción con Calificador N . . . . . . . . . . . . . . . . . . . . . . . 2106.52. Acción con Calificadores S y R . . . . . . . . . . . . . . . . . . . . 2116.53. Acción con Calificador L . . . . . . . . . . . . . . . . . . . . . . . 2116.54. Accón con Calificador D . . . . . . . . . . . . . . . . . . . . . . . 2116.55. Acción con Calificador P . . . . . . . . . . . . . . . . . . . . . . . 2126.56. Acción con Calificador SD . . . . . . . . . . . . . . . . . . . . . . 2126.57. Acción con Calificador DS . . . . . . . . . . . . . . . . . . . . . . 2136.58. Acción con Calificador LS . . . . . . . . . . . . . . . . . . . . . . 2136.59. Control de Acción . . . . . . . . . . . . . . . . . . . . . . . . . . . 2146.60. Módulo Secuenciador de Etapa . . . . . . . . . . . . . . . . . . . 2156.61. Acción con Calificador C . . . . . . . . . . . . . . . . . . . . . . . 2166.62. Partes de una Macro-Etapa . . . . . . . . . . . . . . . . . . . . . . 2176.63. Ejemplo en Texto Estructurado . . . . . . . . . . . . . . . . . . . 2196.64. Ejemplo en Listado de Instrucciones . . . . . . . . . . . . . . . . 2206.65. Ejemplo en Diagrama de Bloques de Funciones . . . . . . . . . . 2216.66. Ejemplo en Diagrama Escalera . . . . . . . . . . . . . . . . . . . 2226.67. Ejemplo en Diagrama Funcional Secuencial . . . . . . . . . . . . 2236.68. Ejercicio Propuesto 2 . . . . . . . . . . . . . . . . . . . . . . . . . 2256.69. Ejercicio Propuesto 4 . . . . . . . . . . . . . . . . . . . . . . . . . 227

XXI

Page 22: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

XXII

Page 23: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 1

INTRODUCCIÓN

El origen de los automatismos no se encuentra definido para una fecha es-pecífica, probablemente se puede hablar de los primeros sistemas automáticosdesde los mismos inicios de la era prehistórica de la humanidad en el Paleo-lítico1, cuando se realizaban trampas de caza con funcionamiento automáticoconsistentes básicamente en fosas cavadas y cubiertas adecuadamente para seractivadas por el peso de la presa. Pero es desde los comienzos de la revoluciónindustrial, a finales del siglo XIX y principios del XX, cuando la automatizaciónde procesos ha cobrado un interés especial por parte de la ciencia y de los inge-nieros, presentando la perspectiva que tenemos hoy de ellos como sistemas enlos cuales se realizan acciones sobre un sistema mediante la manipulación di-recta de magnitudes físicas haciendo uso de otro sistema denominado de con-trol. Los esfuerzos se han enfocado en reducir significativamente todos los cos-tos derivados de la producción de bienes, manteniendo una calidad constantetanto en los productos terminados como en los mismos medios de produccióny apartando al hombre de labores rutinarias, peligrosas, con gran incidenciade error, con riesgos para la salud humana e incluso donde se involucra uncomponente importante de estrés.

El uso de los sistemas de automatización se ha incrementado especialmentedurante la última mitad del siglo XX, debido principalmente a la globalizaciónde los mercados, lo cual ha llevado a todas las organizaciones productivas a es-tar dentro de ámbitos competitivos y sometidos a rápidos procesos de cambiospara adecuarse a las exigencias de cada tiempo, más aún cuando este mismoentorno pide respuestas rápidas y adecuadas con el fin de poder mantenerseen los niveles demandados por una competencia cada vez más especializada.

Los automatismos, han sido entonces, la herramienta sobre la cual las or-ganizaciones han basado su estrategia, desde los tiempos en los cuales sólose empleaban dispositivos de accionamiento y control con base en lógica “to-do o nada”, hasta los tiempos actuales donde con base en la microelectróni-ca y procesadores se emplean equipos mucho más sofisticados como lo son

1Probablemente desde el Paleolítico inferior y entre 600000 a 400000 A.J.

1

Page 24: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

2 CAPÍTULO 1. INTRODUCCIÓN

los autómatas de lógica programable. Es por esta razón fundamental que losautores han querido presentar este libro como una herramienta básica en elaprendizaje y conocimiento de estas tecnologías, iniciando desde los concep-tos básicos de lógica secuencial y combinacional, pasando por la lógica cablea-da y programada enmarcadas dentro de la norma IEC 61131-3, y presentandoherramientas especializadas de diseño como lo son las redes de Petri.

Page 25: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 26: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 27: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 2

FUNDAMENTOS DE LOSAUTOMATISMOS

2.1. Reseña Histórica

Los automatismos se han observado desde los tiempos antiguos cuando secreaban toda clase de máquinas provistas de alguna forma de fuente de energíacon el fin de imitar los movimientos de los seres vivos. Los primeros autó-matas de los que se tenga noticia provienen de los tiempos de Dédalo dondese crearon estatuas animadas. Luego, los griegos y más tarde los romanos ela-boraban juguetes con accionamiento mecánico [3].

En el año de 1500 A.C. en Etiopía, Amenhotep construyó una estatua del reyMemon la cual emitía sonidos cuando era iluminada por los primeros rayos delsol al amanecer. En el siglo IV A.C. Ktesibios diseña un reloj de agua conocidocon el nombre de Clepsydra, el cual constaba de un mecanismo cuyo objetivoera que el nivel de un depósito de agua subiera a velocidad constante; paralograr este fin se empleaba un flotador que regulaba la entrada de agua a undepósito auxiliar. En el año 378 A.C. a Platón se le ocurre crear un sistemaautomático de alarma con base en una Clepsydra, ver Figura 2.1; en el vasode la Clepsydra se ubicó un flotador, sobre el cual se depositan unas esferas,durante un tiempo determinado el vaso es llenado a una rata constante de aguay al final, cuando se alcanza el nivel máximo, las esferas caen sobre un platode cobre lo cual es indicativo que el tiempo ha transcurrido. El uso dado porPlatón a las Clepsydras suscitó un gran interés y durante todo el siglo siguientese efectuaron muchos diseños basados en el reloj de agua.

En el siglo I A.C., Herón de Alejandría escribe una serie de libros reunidosen una Enciclopedia Técnica entre los cuales se destacan los primeros docu-mentos conocidos sobre automatismos. En ellos es de resaltar los libros sobre“Pneumática” y “Autómata”. En estos libros de Herón se describe uno de losprimeros sistemas realimentados de los que se tenga conocimiento, el cual esel dispensador de vino.

5

Page 28: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6 CAPÍTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS

Figura 2.1: Alarma de Platón Basada en Clepsydra

A Herón también se le debe la creación de un Odómetro, sistema empleadopara cuantificar una distancia recorrida, el cual constaba de un sistema de en-granajes que cada vez que se producía un giro completo de la volante dejabacaer un esfera en un contenedor, ver Figura 2.2; al final el número de esferaspermitían cuantificar la distancia recorrida.

Uno de los autómatas más reconocidos es el Gallo de Estrasburgo, el cualformaba parte del reloj de la catedral de Estrasburgo y movía el pico y las alasal dar las horas. Este funcionó entre los años de 1352 y 1789 y es el autómatamás antiguo que se conserva en la actualidad [6].

Pero entre los más célebres creadores de autómatas en la historia se en-cuentra a Vaucanson, el cual creó muchas maravillas que merecen gran re-conocimiento aún en los días actuales. Entre sus creaciones está el Flautista,que representa un fauno según modelo de la estatua de Coysevox, que ejecutauna docena de aires valiéndose de movimientos de la lengua, labios y dedos.También se encuentra al Tamborilero y la Tañedora que se puede admirar en elconservatorio de artes y oficios de París. La reputación de Vaucanson se debeen gran medida a su obra el Pato, el cual era capaz de batir las alas, zambullir-se, nadar, tragar grano y hasta expeler una forma de excremento. Vaucanson ensus obras no trató de copiar vida, sino únicamente de imitar algunas funciones

Page 29: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

2.1. RESEÑA HISTÓRICA 7

individuales.En [6] se puede encontrar imágenes y descripciones de la mayoría de los

automatismos mencionados previamente, incluso se puede encontrar variantesy la evolución que algunos de estos sistemas han tenido. Además, igualmenteen [6] se puede encontrar la presentación de automatismos de los siglos XVII aXIX, como es el caso de los primeros componentes automatizados en molinosde viento.

Figura 2.2: Odómetro de Herón

Con el advenimiento de la electricidad y de la electrónica apareció una nue-va generación de autómatas capaces de imitar realmente algunas funcionesy reproducir comportamientos de seres vivos. En 1912, el jugador de ajedrezeléctrico de Torres Quevedo era capaz de jugar finales de partida.1 El jugadorde Nim, construido en 1951 en la Universidad de Manchester constituye otroejemplo de autómata elemental, dado que existe un algoritmo que permite ga-nar con seguridad en este juego. Para esos mismos días Strachey construyó en

1Juego rey contra rey y torre

Page 30: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

8 CAPÍTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS

los Estados Unidos un jugador de damas capaz de enfrentarse a un buen ju-gador; para ello la máquina debía analizar, con varias jugadas de antelación,todas las jugadas posibles a partir de una situación inicial [3].

2.2. Evolución de los Automatismos

Para la década de los setenta, la complejidad y servicios de los automa-tismos se incrementó gracias al uso de los circuitos integrados y a los sistemasbasados en microprocesadores. Durante esta misma época se desarrollaba lacomputadora digital, aunque con un empleo muy restrictivo en la industriadebido a sus elevados costos, requerimientos de personal altamente calificadoy poca interconectividad con otros sistemas, pero especialmente debido a susproblemas para el control de señales en voltaje y corriente de valor elevado.

La demanda proveniente de la industria, en busca de un sistema económi-co, robusto, flexible, de fácil modificación y con mayor tratamiento de nivelesde voltaje a los presentados por los ordenadores, provocó el desarrollo del con-trolador de lógica programable o PLC. Este primer equipo autómata pretendíabásicamente sustituir a los sistemas básicos compuestos por relés o circuitoslógicos con las ventajas evidentes de una plataforma estándar de hardware.Dado lo anterior, en su nacimiento presentaron prestaciones muy similares alas tecnologías convencionales con lenguajes de programación que emulabana los diagramas esquemáticos empleados por dichas tecnologías.

Los autómatas actuales han evolucionado con respecto a las prestacionesde sus ancestros, incorporando fundamentalmente sistemas de programaciónmás versátiles, con mejor velocidad de procesamiento y de respuesta y concapacidades de comunicación. En los lenguajes actuales de programación paraautómatas se incorporan, además de las instrucciones clásicas de lógica binaria,temporizaciones y contadores, otras series de operaciones lógicas con palabras,funciones aritméticas, procesamiento para señales análogas, funciones de co-municación con los estándares más representativos en la industria y muchasfunciones de control [1].

Sin embargo, la principal característica que sigue distinguiendo a los con-troladores de lógica programable es su robustez y capacidad de interconectivi-dad con los procesos, esto sin acercarlo a las funcionalidades de una computa-dora digital, sino potenciándolo cada vez más para comunicación entre si ycon las computadoras. Al integrar el autómata con las computadoras digitales,se presenta lo mejor de las prestaciones de ambos sistemas en uno solo, perose hace entonces evidente la necesidad de replantear los métodos de diseño,por lo cual hoy en día emergen nuevas metodologías para el modelamiento desistemas automáticos como es el caso de las redes de Petri.

Page 31: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

2.3. COMPONENTES DE LOS AUTOMATISMOS 9

2.3. Componentes de los Automatismos

El objetivo de un automatismo es controlar una planta o sistema sin necesi-dad que un operario intervenga directamente sobre los elementos de salida. Eloperario solo debe intervenir sobre las variables de control y el automatismoes el encargado de actuar sobre las salidas mediante los accionamientos con elfin de poder llevar a efecto el control de la planta.

Entre los principales componentes de un automatismo se encuentran lostransductores y los captadores de información, los preaccionamientos y los ac-cionadores, así como los órganos de tratamiento de la información y elementosde interfaz entre el hombre y la máquina.

Desde un punto de vista estructural, un automatismo se compone de dospartes claramente diferenciables, las cuales se describen a continuación.

Parte Operativa: Formada principalmente por el conjunto de dispositivos, má-quinas y/o subprocesos diseñados para realizar determinadas funcionesde producción y corresponden en su gran mayoría a elementos de poten-cia.

Parte de Control: Formada por los elementos de procesamiento y/o mando,interfaz de comunicación y de diálogo con el hombre.

El sometimiento de la parte operativa se logra mediante un intercambio conti-nuo de información entre ésta y la parte de mando o control. Este flujo de infor-mación se establece mediante los captadores (sensores binarios, transductoresanálogos y digitales) y los preaccionadores (contactores, relés). Los captadoresse encargan entonces de recoger datos de magnitudes físicas y de cambios deestado a controlar y envían dicha información a la parte de control para suprocesamiento [4]. La parte de control envía entonces acciones de mando através de los preaccionadores, que son elementos que permiten el manejo degrandes potencias a partir de señales de baja potencia. En la Figura 2.3 se ob-serva un diagrama de bloques con los diferentes elementos constitutivos de unautomatismo [1, 3].

Los automatismos modernos constan de una gran diversidad de compo-nentes y tecnologías, entre los cuales se puede hallar sistemas de naturalezaeléctrica, neumática, hidráulica, mecánica, etc. Se trata entonces de la inte-gración de elementos de variada naturaleza u origen demandando sistemasintegradores capaces de realizar la adecuada coordinación entre ellos. Debidoa esta fuerte demanda se creó y apareció una dicotomía clara entre dos formasdiferentes de afrontar la implementación de un automatismo. Esta dicotomíada origen a la clasificación tecnológica de los sistemas de control en sistemasde Lógica Cableada y sistemas de Lógica Programada [1].

Page 32: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

10 CAPÍTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS

������

�������� �

����������

� ��� ������������ �

���������������

� ������������ �

���������

�������

�������������� �������� ��!��"�#$����

� %� ��&����

� %� �� ����

Figura 2.3: Modelo de Sistema de Control

2.4. Lógica Cableada

Toma su nombre de la naturaleza de las conexiones empleadas entre losdiferentes componentes individuales que intervienen en el sistema. Si los ele-mentos son de origen eléctrico, entonces la conexión entre relés, interruptores,finales de carrera, etc., se realiza mediante conductores eléctricos. Si los ele-mentos son de origen electrónico, entonces la conexión entre las compuertaslógicas se realiza mediante caminos conductores. En las tecnologías neumáti-ca e hidráulica, las conexiones entre los elementos se realizan mediante ductospor entre los cuales corre el elemento fluídico.

Todas estas tecnologías se basan en órganos de mando del tipo “Todo oNada” que pueden ser modelados mediante el álgebra de Boole y son común-mente denominados como sistemas de conmutación. Según el sistema, esta con-sideración de “todo o nada” se puede relacionar con “abierto o cerrado”, “ca-liente o frío”, “conduce o no conduce”, “verdadero o falso”. En analogía a losórganos de mando, los órganos receptores no pueden encontrarse más que endos estados posibles “alimentados o no alimentados”. La solución de un pro-blema de conmutación radica en la disposición adecuada de órganos de mandopara lograr que los órganos receptores estén alimentados cuando se satisfacenciertas condiciones [2].

Este tipo de sistemas es bien aceptado entre los desarrolladores de automa-tismos para la creación de sistemas de baja complejidad. Sin embargo, pre-senta grandes dificultades especialmente cuando se requiere el desarrollo desistemas robustos, ya que no facilita la integración de funcionalidad aritméti-ca, limita el control de la ejecución de instrucciones, reduce la creación de se-cuencias complejas y la conducción y manipulación de estructuras de datosy presenta una deficiencia para la realización de programas estructurados yjerárquicos.

Page 33: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

2.5. LÓGICA PROGRAMADA 11

2.5. Lógica Programada

Con el advenimiento de la tecnología de los microprocesadores y los sis-temas subsiguientes desarrollados a partir de estos, como es el caso de los con-troladores lógicos, los autómatas programables y el computador, se logró, y secontinúa mejorando constantemente, un alto nivel de integración en los com-ponentes electrónicos, con lo cual esta tecnología allana cada día más la posibi-lidad de integración de sistemas de diversificada naturaleza, entrega la capaci-dad de realizar cálculos de orden científico y la implementación de complejosalgoritmos en arquitecturas de control distribuidas e inmersas en variados sis-temas de gestión y comunicación.

Durante los últimos diez años el mercado de procesos industriales y decontrol ha crecido significativamente. Los PLCs se han mostrado como la basesobre la cual se fundamentan estos sistemas, pero además han aparecido lascomputadoras digitales como competencia directa gracias a las velocidades deprocesamiento y los costos reducidos logrados y divisados hacia un futuro.Con el desarrollo de estas tecnologías, cada uno de los proveedores trató deofrecer sistemas amigables de programación que en principio funcionaron biendentro de cada uno de sus sistemas orígenes. Pero debido a la fuerte demandaen la industria por una integración entre sistemas de diferentes naturalezas,fuentes y proveedores se hizo necesario la creación de un marco de referenciadentro del cual se mueva cada uno de los lenguajes de programación.

Debido a lo anterior se produjo la publicación del estándar IEC 1131-3 enMarzo de 1993, hoy denominado IEC 61131-3, donde se define la forma enla cual deben ser programados los sistemas de control basados en PLCs y queademás permite que los programas y comportamientos de las plantas bajo con-trol sean de fácil entendimiento por personal de diferentes industrias [5].

Page 34: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

12 CAPÍTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS

Page 35: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Bibliografía

[1] Balcells, Josep. Romeral, Jose LuisAutómatas ProgramablesAlfaomega marcombo 1998, ISBN 970-15-0247-7

[2] Delhaye C.Concepción Lógica de Automatismos IndustrialesMarcombo 1971, ISBN 26.676-1968

[3] García Moreno, EmilioAutomatización de Procesos IndustrialesAlfaomega 2001, ISBN 970-15-0658-8

[4] Pallás Areny, RamónSensores y Acondicionadores de Señal 3ra EdAlfaomega marcombo 2001, ISBN 970-15-0577-8

[5] Lewis, R. W.Programming Industrial Control Systems Using IEC 1131-3Revised EditionIEE 1998. ISBN 0-85296-950-3

[6] http://automata.cps.unizar.es/Historia/Webs.

13

Page 36: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 37: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 3

ANÁLISIS Y SÍNTESIS DEAUTOMATISMOS

3.1. Lógica de Predicados

3.1.1. Presentación del Lenguaje Formal

El lenguaje es la herramienta básica en la comunicación humana. La lógi-ca, como instrumento para la formalización del conocimiento humano, no estáexenta de requerir un lenguaje que permita expresar de forma ordenada y clarasucesiones de afirmaciones y que contenga todos los elementos necesarios decomunicación. Las frases declarativas son el fundamento básico de la descrip-ción del conocimiento, por tanto interesa la formalización de un lenguaje parasu estudio [4].

En la lógica de proposiciones, o lógica de enunciados, se estudia las frasesdeclarativas simples como elementos de una frase que pueden tomar un y soloun valor entre dos posibles (Verdadero y Falso, 1 y 0) y constituyen por si solasla unidad de comunicación. La lógica de predicados estudia con mayor pro-fundidad las frases declarativas, colocando atención a sus objetos constitutivosy las relaciones que las gobiernan.

Si la proposición está formada por una sola frase declarativa simple se diceque posee aridad1 cero. Si la proposición en estudio consta de más de una frasedeclarativa simple, entonces es necesario introducir elementos adicionales deenlace entre los diferentes elementos simples, o argumentos, y además se diceen este caso que posee aridad igual al número de argumentos [4, 5].

Para la conformación de los predicados se define la siguiente estructura:

Variables: Son símbolos conformados por las últimas letras del alfabeto y enminúsculas. Se permite la adición de subíndices y el uso del alfabeto

1La aridad de una función o de un predicado se define como el número de argumentos quetiene.

15

Page 38: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

16 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

griego, por ejemplo: w, x, y, z, y1, z2, α2.

Constantes: Primeras letras del alfabeto en minúsculas con o sin subíndices,por ejemplo: a, b, c, d1, bj . Se emplean para designar los objetos de loscuales se quiere hablar. Para hacer referencia a un equipo industrial cual-quiera, por ejemplo al motor 5 o al motor 6, se pueden asignar las cons-tantes m5 y m6 respectivamente, o para hacer referencia a la caldera sim-plemente se puede asignar la c.

Funciones: Se emplean las letras f, g, h. Pueden igualmente llevar subíndicesy en algunos casos superíndices para indicar la aridad. Por ejemplos lafunción g2 indica que la función g posee una aridad de 2.

Relatores: Se representan mediante letras en mayúsculas, por ejemplo J, K, L.Igualmente se puede indicar la aridad de un predicado o relator median-te un superíndice. Los relatores tienen la función de representar a los he-chos, el equivalente de los verbos en un lenguaje natural. Si el relator Jsignifica “pertenecer a la fábrica 1”, entonces “Jc” significa que “la calderapertenece a la fábrica 1”. Si el relator K significa “estar acoplados”, en-tonces “Km5m6” significa que “los motores 5 y 6 están acoplados”. Paralos casos anteriores, se dice que el relator J es monádico o de rango 1y que el relator K es diádico o de rango 2. El rango de un relator es elnúmero de complementos que requiere para tener sentido, sin embargopor conveniencia, se limita el rango de los relatores. Si por ejemplo K esdiádico “Km5m6m7” no tiene sentido y para expresar que los motores 5, 6y 7 están acoplados se puede emplear a K usándolo varias veces de formaconveniente.

Cuantificadores: Son signos que proporcionan mayor fuerza al lenguaje for-mal. Se emplean conjuntamente con las variables y son principalmentedos. El primero de ellos es el cuantificador particularizador o existencial“∨

” el cual se lee “existe”, por ejemplo, para la variable x “∨xJx” sig-

nifica “Existe un x de manera que x pertenece a la fábrica 1”. De formageneral “

∨x algo” significa que “algo” es cierto si la variable “x” se in-

terpreta de forma adecuada. El segundo de los cuantificadores es el uni-versal o generalizador “

∧” el cual se lee “para todo”, por ejemplo, para

la variable x “∧xJx” significa “Para todo x, x pertenece a la fábrica 1”.

Funtor: El funtor es un signo que complementado con nombres de objetosnombra a otros objetos, en contraste con un relator que da lugar a unaafirmación. Ejemplo de un funtor diádico puede ser “M” que significa“el de mayor revoluciones”, así “Mm5m6” significa “el de mayor revolu-ciones entre m5 y m6. Se puede tener funtores de cualquier rango. Enmatemáticas se tiene funtores como “

⋂” , “+”, “−”, etc.

Descriptor: El descriptor se representa por “|” y se lee “tal que”.

Page 39: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.1. LÓGICA DE PREDICADOS 17

Como ya se dijo, cuando se trata con proposiciones de orden uno o superiorse hace necesario introducir el uso de conectivos lógicos con el propósito deenlazar las frases declarativas simples. A continuación se indica su simbología:

La Negación: Se lee como “NO” o “ES FALSO QUE” y se representa por laconectiva ¬. En este sentido “¬Jc” significa que “la caldera NO pertenecea la fábrica 1”.

La Conjunción: Se lee como “Y” y se representa por la conectiva ∧. En estesentido si el relator L significa “ser motor”, entonces “Lm ∧¬Lc” significa“m es un motor Y la caldera NO es un motor”.

La Disyunción: Se lee como “O” y se representa por la conectiva ∨. En lengua-je natural la disyunción se puede interpretar de formas diferentes, en unapuede significar “lo uno, lo otro o ambos” y en otra “lo uno, lo otro, perono ambos”. De forma estricta en la lógica de predicados se emplea en elprimero de los sentidos, es decir, en una forma inclusiva y no en formaexclusiva como en el segundo caso.

La Implicación: Se lee como “SI ... ENTONCES ...” o “ ... IMPLICA ...” y serepresenta por la conectiva →.

Coimplicación o Bicondicional: Se lee como “... SI Y SOLO SI ...” y se repre-senta por la conectiva ↔. Lo cual quiere decir que lo que es válido parauna afirmación, también lo es para otra afirmación, cuando ambas estánrelacionadas mediante el bicondicional.

3.1.2. Tablas de Verdad

Toda frase declarativa puede tener uno de los dos siguientes valores posi-bles “Verdadero o Falso”, “V o F”, “1 o 0”. Estos valores de verdad en proposi-ciones con más de una frase declarativa están determinados por los valoresde verdad de las frases declarativas simples y los conectivos lógicos que lasrelacionan [4].

En forma general, si ε y ζ son dos afirmaciones cualesquiera, si ε es ver-dadera entonces ¬ε es falsa y si ε es falsa entonces ¬ε es verdadera. Lo anteriorse presenta de forma resumida en la Tabla 3.1, a la cual se le denomina tabla deverdad para la conectiva de negación.

ε ¬ε

V F

F V

Tabla 3.1: Tabla de Verdad para la Negación

Page 40: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

18 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

La tabla de verdad para dos afirmaciones relacionadas mediante la conecti-va de conjunción se muestra en la Tabla 3.2.

ε ζ ε∧ζ

V V V

V F F

F V F

F F F

Tabla 3.2: Tabla de Verdad para la Conjunción

La tabla de verdad para dos afirmaciones relacionadas mediante la conecti-va de disyunción se muestra en la Tabla 3.3.

ε ζ ε∨ζ

V V V

V F V

F V V

F F F

Tabla 3.3: Tabla de Verdad para la Disyunción

La tabla de verdad para la conectiva de implicación ha sido ampliamentediscutida a lo largo de la historia. Filón consideraba que el enunciado ε→ζ esverdadero a no ser que ε fuera verdadero pero ζ falso. Por otro lado Diodorodaba la interpretación que ε→ζ es verdadero si siempre que ε es verdadero ζtambién lo es. La interpretación de implicación en el lenguaje natural se acer-ca más a la entregada por Diodoro [4]. Para los propósitos de la lógica, la in-terpretación de Filón es más práctica y por tanto deberá ser interpretada deacuerdo con la Tabla 3.4.

ε ζ ε→ζ

V V V

V F F

F V V

F F V

Tabla 3.4: Tabla de Verdad para la Implicación.

De la tabla anterior se puede concluir que una afirmación falsa implicacualquier afirmación, esto es si εes falsa ε→ζ es verdadera para cualquiera quesea ζ; y que una afirmación verdadera es implicada por cualquier afirmación,esto es si ζ es verdadera ε→ζ es verdadera para cualquiera que sea ε.

Page 41: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.1. LÓGICA DE PREDICADOS 19

La tabla de verdad para la coimplicación o bicondicional se muestra en laTabla 3.5, donde se puede observar que para ε↔ζ ambas son verdaderas oambas son falsas.

ε ζ ε↔ζ

V V V

V F F

F V F

F F V

Tabla 3.5: Tabla de Verdad para la Coimplicación

3.1.3. Definición del Lenguaje Formal

Definición: Un lenguaje formal de primer orden L es una colección de sig-nos divididos en las siguientes categorías y cumpliendo las propiedadesindicadas [3, 4, 5, 8].

1. Variables: L debe tener infinitas variables, a cada una de las cuales se leasocia un número natural distinto denominado índice, de forma tal quetodo natural es índice de una variable de L. La variable de índice i de Lserá entonces xi.

2. Constantes: L puede tener desde ninguna hasta infinitas constantes. Acada constante se le asocia un índice natural, así ci es la constante deíndice i de L.

3. Relatores: Cada relator debe tener un número natural no nulo asociadodenominado rango. Un relator n-ádico es un relator de rango n. Cadarelator n-ádico lleva asociado un índice, de tal forma que el relator Rn

i esel relator n-ádico de índice i, en caso de existir en L. Cómo mínimo debeexistir un relator diádico R2

0, al que se le da el nombre de igualador o“=”.

4. Funtores: Cada funtor debe tener asociado un rango e índice en las mis-mas condiciones mencionadas para los relatores. Fn

i es el funtor n-ádicode índice i, en caso de existir en L.

5. Negador: ¬ es el negador de L.

6. Implicador: → es el implicador de L.

7. Cuantificador Existencial:∨

es el cuantificador existencial o particulari-zador de L.

8. Cuantificador Universal:∧

es el cuantificador universal o generalizadorde L.

Page 42: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

20 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

9. Descriptor: | es el descriptor, el cual puede o no existir en L. En general Lpuede ser un lenguaje con o sin descriptor.

Cada signo de L debe pertenecer a una y solo una de las anteriores categorías.Si L es un lenguaje formal con descriptor, entonces L es el lenguaje resultanteal retirar el descriptor.

3.1.4. Expresiones, Términos y Fórmulas

La utilidad del lenguaje formal que se ha presentado tiene que ver princi-palmente con la necesidad de construir afirmaciones con sus signos. Se defineun término como una cadena de símbolos utilizada para representar objetoscumpliendo las siguientes reglas [4, 5, 8]:

Toda variable o constante individual es un término.

Si se tienen los términos t1, t2, ... ,tj , ..., tn y fn es una función de aridadn entonces fn (t1, t2, .., tj , ..., tn) es un término.

Todos los términos posibles se obtienen aplicando únicamente las dosreglas anteriores.

Una fórmula es una cadena de símbolos que toma un valor de Verdadero oFalso y posee la forma Pn (t1, t2, .., tj, ..., tn) donde Pn es un relator de aridadn y t1, t2, ... ,tj , ..., tn son términos.

Una cadena de signos en el lenguaje se denominará expresión si es un tér-mino o una fórmula dentro del lenguaje.

Ejemplo: La frase “Todos los motores de la fábrica 1 están operables” se puedeformalizar de la siguiente forma: Empleando el relator “J” que significa“pertenecer a la fábrica 1”, el relator “O” que significa “estar operable” ydefiniendo la variable “x” como “motor” entonces se puede escribir:

∧x(Jx→ Ox

)

Ejemplo: Encontrar la función que describe el siguiente enunciado: El flujo deagua que llega a una solución salina para ser empleada en un proceso in-dustrial será suspendido si se cumple una de las siguientes condiciones:

Si el tanque se llena o si la salida del tanque permanece abierta, el nivelde agua no está bajo el nivel mínimo y la concentración de la solución noexcede el 3 %.

En este caso, se designa a f como la función que describe el enunciado.Las variables serán: l que se lee como “Tanque lleno”, v que se lee “tanquevacío, o bajo nivel mínimo”, s que se lee “salida del tanque abierta” y cque se lee “concentración de solución excede el 3 %”. Bajo las anterioresasignaciones se observa que la función posee una aridad de 4, lo cual

Page 43: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 21

se indica como f4(l, v, s, c

). La función se verifica si se cumple una de

las dos condiciones, a su vez la condición 2 se verifica si se cumplen si-multáneamente las tres condiciones que la forman, por tanto se puedeescribir:

f4(l, v, s, c

)= l ∨

(s ∧ ¬v ∧ ¬c

)

3.2. Álgebra de Boole

George Boole, presentó en 1949 un sistema algebraico basado en dos valo-res, el cual se convirtió en la base fundamental para el desarrollo de las cienciasde la computación, programación y control industrial. Con base en el uso deeste sistema, se puede formular proposiciones que toman uno de dos valoresposibles (verdadero o falso, 1 o 0) y combinarlas para formas nuevas proposi-ciones y determinar su verdad o falsedad.

El álgebra booleana se puede presentar mediante unos postulados que re-sumen sus elementos y propiedades básicas, los cuales se muestran a continua-ción [6, 10]:

Postulado 1. Definición de Álgebra Booleana: Sistema algebraico cerrado, dis-tributivo y complementado formado por un conjunto H de dos o máselementos y los dos funtores “∧” y “∨” tal que si ε y ζ pertenecen a H

entonces ε∧ ζ pertenece a H y ε∨ζ también pertenece a H . De maneraformal:

∧(ε, ζ

)∈ H

(ε ∧ ζ ∈ H y ε ∨ ζ ∈ H

)

Postulado 2. Existencia de los Elementos 1 y 0: En el conjunto H existen loselementos 1(uno) y 0(cero), únicos, denominados elementos neutros, talque se cumple:

∧ε ∈ H

(ε ∨ 0 = ε

)∧ε ∈ H

(ε ∧ 1 = ε

)

Postulado 3. Conmutatividad

∧(ε, ζ

)∈ H

(ε ∧ ζ = ζ ∧ ε

)∧(

ε, ζ)∈ H

(ε ∨ ζ = ζ ∨ ε

)

Page 44: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

22 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Postulado 4. Asociatividad

∧(ε, ζ, ψ

)∈ H

(ε ∧ (ζ ∧ ψ) = (ε ∧ ζ) ∧ ψ

)∧(

ε, ζ, ψ)∈ H

(ε ∨ (ζ ∨ ψ) = (ε ∨ ζ) ∨ ψ

)

Postulado 5. Distributividad

∧(ε, ζ, ψ

)∈ H

(ε ∨ (ζ ∧ ψ) = (ε ∨ ζ) ∧ (ε ∨ ψ)

)∧(

ε, ζ, ψ)∈ H

(ε ∧ (ζ ∨ ψ) = (ε ∧ ζ) ∨ (ε ∧ ψ)

)

Postulado 6. Complemento: Para todo ε ∈ H existe un único elemento ¬ε enH denominado complemento de ε, de forma que:

∧ε ∈ H

∨¬ε ∈ H

(ε ∨ ¬ε = 1

)∧ε ∈ H

∨¬ε ∈ H

(ε ∧ ¬ε = 0

)

3.2.1. Principio de Dualidad

Establece que si una expresión F es válida en el álgebra booleana, entoncessu expresión dual, la que se denomina Fd también lo es. La expresión dual seobtiene el reemplazar el operador ∨ por ∧, el operador ∧ por ∨, los 1 por 0 ylos 0 por 1. Se debe seguir manteniendo las precedencias relacionadas por losparéntesis. Con este principio se verifica la validez de la expresión dual, másno su equivalencia con la expresión original. De manera formal este principioestablece:

∧F∈ H

∨Fd

(Fd ∈ H

)Ejemplo: Encontrar la expresión dual para:

F(ε, ζ, ψ

):{

(¬ε ∨ ¬ζ) ∧((ε ∧ ζ) ∨ ψ

)= ψ ∧ (¬ε ∨ ¬ζ)

}

si F(ε, ζ, ψ

):

{(¬ε ∨ ¬ζ) ∧

((ε ∧ ζ) ∨ ψ

)= ψ ∧ (¬ε ∨ ¬ζ)

}ahora Fd

(ε, ζ, ψ

):

{(¬ε ∧ ¬ζ) ∨

((ε ∨ ζ) ∧ ψ

)= ψ ∨ (¬ε ∧ ¬ζ)

}

El principio de dualidad se puede verificar en las expresiones de los postulados2 hasta 6. Se presenta a continuación los teoremas fundamentales del álgebrabooleana [6, 10].

Page 45: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 23

3.2.2. Teoremas Fundamentales

Teorema 1: Idempotencia

∧ε ∈ H

(ε ∨ ε = ε

)∧ε ∈ H

(ε ∧ ε = ε

)

Teorema 2: Elementos neutros

∧ε ∈ H

(ε ∨ 1 = 1

)∧ε ∈ H

(ε ∧ 0 = 0

)

Teorema 3: Involución

∧ε ∈ H

(¬(¬ε) = ε

)

Teorema 4: Absorción

∧(ε, ζ

)∈ H

(ε ∨ (ε ∧ ζ) = ε

)∧(

ε, ζ)∈ H

(ε ∧ (ε ∨ ζ) = ε

)

Teorema 5: Segundo Teorema de Absorción

∧(ε, ζ

)∈ H

(ε ∨ (¬ε ∧ ζ) = ε ∨ ζ

)∧(

ε, ζ)∈ H

(ε ∧ (¬ε ∨ ζ) = ε ∧ ζ

)

Teorema 6: Tercer Teorema de Absorción

∧(ε, ζ

)∈ H

((ε ∧ ζ) ∨ (ε ∧ ¬ζ) = ε

)∧(

ε, ζ)∈ H

((ε ∨ ζ) ∧ (ε ∨ ¬ζ) = ε

)

Teorema 7: Cuarto Teorema de Absorción

∧(ε, ζ, ψ

)∈ H

((ε ∧ ζ) ∨ (ε ∧ ¬ζ ∧ ψ) = (ε ∧ ζ) ∨ (ε ∧ ψ)

)∧(

ε, ζ, ψ)∈ H

((ε ∨ ζ) ∧ (ε ∨ ¬ζ ∨ ψ) = (ε ∨ ζ) ∧ (ε ∨ ψ)

)

Page 46: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

24 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Teorema 8: Teorema de DeMorgan

∧(ε, ζ

)∈ H

(¬(ε ∨ ζ) = ¬ε ∧ ¬ζ

)∧(

ε, ζ)∈ H

(¬(ε ∧ ζ) = ¬ε ∨ ¬ζ

)

Este teorema se puede generalizar para n variables de la siguiente forma:

∧(ε, ζ, ..., ψ

)∈ H

(¬(ε ∨ ζ ∨ ... ∨ ψ) = ¬ε ∧ ¬ζ ∧ ... ∧ ¬ψ

)∧(

ε, ζ, ..., ψ)∈ H

(¬(ε ∧ ζ ∧ ... ∧ ψ) = ¬ε ∨ ¬ζ ∨ ... ∨ ¬ψ

)

Teorema 9: Teorema de Consenso

∧(ε, ζ, ψ

)∈ H

((ε ∧ ζ) ∨ (¬ε ∧ ψ) ∨ (ζ ∧ ψ) = (ε ∧ ζ) ∨ (¬ε ∧ ψ)

)∧(

ε, ζ, ψ)∈ H

((ε ∨ ζ) ∧ (¬ε ∨ ψ) ∧ (ζ ∨ ψ) = (ε ∨ ζ) ∧ (¬ε ∨ ψ)

)

3.2.3. Funciones de Conmutación

El concepto de función de conmutación se puede definir como sigue:Sean α0, α1, ... , αn−1 variables, cada una de las cuales representa el elemen-

to 0 o 1, es decir al conjunto de los posibles valores que toma la variable, y seafn (α0, α1, ... , αn−1) la función de aridad n para las variables α0, α1, ... , αn−1.La función fnpuede tomar los valores 0 o 1 según el conjunto de valores de-finidos por las variables. Como se tienen n variables y cada variable puedetomar uno de dos posibles valores se tendrán 2n posibles combinaciones deasignación de valores para las n variables y 22n

posibles combinaciones para lafunción de aridad n.

Para una función de aridad cero los posibles valores son f 00 = 0 y f0

1 = 1. Acontinuación se muestra en las Tablas 3.6 y 3.7 las posibles combinaciones parafunciones de aridad 1 y 2.

α0 f10 f1

1 f12 f1

3

0 0 1 0 1

1 0 0 1 1

Tabla 3.6: Posibles Combinaciones para Función de Aridad 1.

Page 47: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 25

α0 α1 f20 f2

1 f22 f2

3 f24 f2

5 f26 f2

7 f28 f2

9 f210 f2

11 f212 f2

13 f214 f2

15

0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Tabla 3.7: Posibles Combinaciones para Función de Aridad 2.

En las tablas anteriores se puede observar que f 12 = α0, mientras f1

1 = ¬α0

es la negación de la variable, además f 214 = α0 ∨ α1 y f2

8 = α0 ∧ α1. Lo anteriorindica que aún no se han presentado todas las posibles funciones, aunque engran parte unas se pueden obtener a partir de la combinación de las otras [6].

3.2.4. Funciones Lógicas

Existen tres funciones básicas: la conjunción, la disyunción y la negación,a partir de las cuales por combinación se puede obtener otras 4 que por suamplia utilización se definen de forma independiente.

AND: Representa la conjunción y se define como:

∧(α0, ... , αn−1

)∈ H

(fn (α0, ... , αn−1) = α0 ∧ ... ∧ αn−1 = β | β ∈ H

)

Cumple las propiedades de asociatividad y conmutatividad, específica-mente para el caso de tres variables:

β = f3 (α0, α1, α2) = α0 ∧ α1 ∧ α2

= (α0 ∧ α1) ∧ α2

= α0 ∧ (α1 ∧ α2)

β = f3 (α0, α1, α2) = α0 ∧ (α1 ∧ α2)= α0 ∧ (α2 ∧ α1)= (α0 ∧ α2) ∧ α1

= α2 ∧ α0 ∧ α1

En la Figura 3.1 se muestra el símbolo de esta función según la normaANSI/IEEE St 91-1984 junto con la representación para lógica cableada ysu tabla de verdad.

Page 48: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

26 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

�'

�(

�) �' �(

α0 α1 α0 ∧α1

0 0 0

0 1 0

1 0 0

1 1 1

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.1: Representación de la AND

OR: Representa la disyunción y se define como:

∧(α0, ... , αn−1

)∈ H

(fn (α0, ... , αn−1) = α0 ∨ ... ∨ αn−1 = β | β ∈ H

)

Cumple las propiedades de asociatividad y conmutatividad, específica-mente para el caso de tres variables:

β = f3 (α0, α1, α2) = α0 ∨ α1 ∨ α2

= (α0 ∨ α1) ∨ α2

= α0 ∨ (α1 ∨ α2)

β = f3 (α0, α1, α2) = α0 ∨ (α1 ∨ α2)= α0 ∨ (α2 ∨ α1)= (α0 ∨ α2) ∨ α1

= α2 ∨ α0 ∨ α1

En la Figura 3.2 se muestra el símbolo de esta función junto con la repre-sentación para lógica cableada y su tabla de verdad.

�'

�(

��( �'

�(�

α0 α1 α0 ∨α1

0 0 0

0 1 1

1 0 1

1 1 1

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.2: Representación de la OR

Page 49: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 27

NOT: Representa la negación y se define como:

∧(α0

)∈ H

(f1 (α0) = ¬α0 = β | β ∈ H

)

En la Figura 3.3 se muestra el símbolo de esta función junto con la repre-sentación para lógica cableada y su tabla de verdad.

(�' � '�

�α0 ¬α0

0 1

1 0

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.3: Representación de la NOT

A partir de las tres funciones anteriores se puede obtener las siguientes cuatro,aunque debido a su amplia utilización se han definido independientemente yse les ha asignado un símbolo.

NAND: Se obtiene al implementar la conjunción y al resultado aplicarle lanegación, se define como:

∧(α0, ... , αn−1

)∈ H

(fn (α0, ... , αn−1) = ¬(α0∧...∧αn−1) = β | β ∈ H

)

Cumple la propiedad de conmutatividad más no la de asociatividad. Enla Figura 3.4 se muestra el símbolo de esta función junto con la repre-sentación para lógica cableada y su tabla de verdad.

�'

�(

�) �'

�(�

α0 α1 ¬(α0 ∧α1)

0 0 1

0 1 1

1 0 1

1 1 0

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.4: Representación de la NAND

Page 50: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

28 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

NOR: Se obtiene al implementar la disyunción y al resultado aplicarle la ne-gación, se define como:

∧(α0, ... , αn−1

)∈ H

(fn (α0, ... , αn−1) = ¬(α0∨...∨αn−1) = β | β ∈ H

)

Cumple la propiedad de conmutatividad más no la de asociatividad. Enla Figura 3.5 se muestra el símbolo de esta función junto con la repre-sentación para lógica cableada y su tabla de verdad.

�'

�(

��( �' �(

α0 α1 ¬(α0 ∨α1)

0 0 1

0 1 0

1 0 0

1 1 0

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.5: Representación de la NOR

XOR: También denominada OR exclusiva, se define como:

y = f2 (α0, α1) = α0 ⊕ α1

= (α0 ∧ ¬α1) ∨ (¬α0 ∧ α1)

Cumple las propiedades de asociatividad y conmutatividad. En la Figu-ra 3.6 se muestra el símbolo de esta función junto con la representaciónpara lógica cableada y su tabla de verdad.

�'

�(

�*( �(

�(�

�'

�'

α0 α1 α0⊕α1

0 0 0

0 1 1

1 0 1

1 1 0

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.6: Representación de la XOR

Page 51: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 29

NXOR: Se obtiene al implementar la XOR y al resultado aplicarle la negación,se define como:

β = f2 (α0, α1) = ¬(α0 ⊕ α1)= α0 � α1

= ¬((α0 ∧ ¬α1) ∨ (¬α0 ∧ α1)

)

Cumple la propiedad de conmutatividad más no la de asociatividad. Enla Figura 3.7 se muestra el símbolo de esta función junto con la repre-sentación para lógica cableada y su tabla de verdad.

�'

�(

�*( �(

�(�

�'

�'

α0 α1 α0 � α1

0 0 1

0 1 0

1 0 0

1 1 1

Símbolo ANSI/IEEE Lógica Cableada Tabla de Verdad

Figura 3.7: Representación de la NXOR

3.2.4.1. Universalidad de la NAND y la NOR

Toda función de conmutación se puede representar usando solo compuer-tas NAND o NOR, lo cual se deduce de las siguientes propiedades, donde g esuna función NAND y h es una función NOR:

g11 (α0) = ¬(α0 ∧ α0) = ¬α0

g22 (α0, α1) = ¬

(¬(α0 ∧ α1)

)= α0 ∧ α1

g23 (α0, α1) = ¬

(¬α0 ∧ ¬α1

)= α0 ∨ α1

h11 (α0) = ¬(α0 ∨ α0) = ¬α0

h22 (α0, α1) = ¬

(¬(α0 ∨ α1)

)= α0 ∨ α1

h23 (α0, α1) = ¬

(¬α0 ∨ ¬α1

)= α0 ∧ α1

En la Figura 3.8 se puede observar la universalidad de estas dos funciones.

Page 52: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

30 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Función NAND NOR

NOT

�' )��'

�' �(��'

g11 h1

1

AND

�'

�(

) )

�'

�(

�(

�(

�(

g22 h2

2

OR

�'

�(

)

)

) �'

�(

�( �(

g23 h2

3

Figura 3.8: Universalidad de la NAND y la NOR

3.2.5. Formas Algebraicas Estándar

3.2.5.1. Formas SOP y POS

Las funciones de conmutación se pueden representar de muchas formas,pero particularmente son de interés las dos siguientes [6, 9].

Page 53: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 31

La primera de ellas es la forma SOP (suma de productos) la cual se cons-truye al realizar la disyunción, es decir función OR, de términos en conjunción,donde cada término conjunción se obtiene mediante la función AND de variasvariables, las cuales pueden estar complementadas o sin complementar (connegación o sin ella). A continuación se presenta un ejemplo para una funciónde tres variables la cual está en forma SOP:

f3 (α0, α1, α2) = (α0 ∧ ¬α1 ∧ ¬α2) ∨ (¬α1 ∧ α2) ∨ (¬α0 ∧ α2)

La segunda forma es la POS (producto de sumas) la cual se construye alrealizar la conjunción, es decir la función AND, de términos en disyunción,donde cada término en disyunción se obtiene mediante la función OR de variasvariables, las cuales pueden estar complementadas o sin complementar. Unejemplo de una función de tres variables en forma POS se muestra a continua-ción:

f3 (α0, α1, α2) = (¬α0 ∨ α1 ∨ ¬α2) ∧ (α0 ∨ ¬α1 ∨ ¬α2) ∧ (α0 ∨ ¬α2)

3.2.5.2. Formas Canónicas

Mintérmino Es un término en conjunción el cual contiene exactamente unavez a cada una de las variables de la función, ya sea complementadas osin complementar. En el ejemplo anterior de una función en forma SOP,el término (α0 ∧ ¬α1 ∧ ¬α2) es un mintérmino ya que cumple con ladefinición dada.

Si una función se expresa en forma SOP y además todos sus términos sonmintérminos, entonces se dice que la función posee la forma Canónica deSuma de Productos, o simplemente la forma SOP Canónica. A continuaciónse presenta un ejemplo de forma SOP canónica.

f3 (α0, α1, α2) = (α0 ∧¬α1 ∧¬α2) ∨ (¬α0 ∧¬α1 ∧α2) ∨ (¬α0 ∧α1 ∧α2)

Como para que un mintérmino tome un valor lógico de 1 se necesita quecada variable no complementada tome un valor de 1 y cada variable com-plementada tome un valor de 0, se aprovecha este valor de cada variablepara hacer un código binario con tantos bits como variables en la fun-ción, con el cual se podrá simplificar la escritura del mintérmino en unafunción de forma SOP canónica. En la Tabla 3.9 se muestra esta simplifi-cación para los mintérminos de la función anterior.

Mintérmino Código Simplificación

(α0 ∧ ¬α1 ∧ ¬α2) 100 m4

(¬α0 ∧ ¬α1 ∧ α2) 001 m1

(¬α0 ∧ α1 ∧ α2) 011 m3

Tabla 3.9: Notación Simplificada de Mintérminos

Page 54: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

32 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Se observa que se ha simplificado la escritura de cada mintérmino me-diante mi, donde i es el entero decimal correspondiente al código bina-rio del mintérmino. Así la función se puede escribir de cualquiera de lassiguientes formas:

f3 (α0, α1, α2) = (¬α0 ∧ ¬α1 ∧ α2) ∨ (¬α0 ∧ α1 ∧ α2)

∨ (α0 ∧ ¬α1 ∧ ¬α2) =∑

m(1, 3, 4)

Maxtérmino Es un término en disyunción el cual contiene exactamente unavez a cada una de las variables de la función, ya sea complementadas osin complementar. En el ejemplo anterior de una función en forma POSlos términos (¬α0 ∨ α1 ∨ ¬α2) y (α0 ∨ ¬α1 ∨ ¬α2) son maxtérminos alcumplir ambos con la definición dada.

Si una función se expresa en forma POS y además todos sus términos sonmaxtérminos, entonces se dice que la función posee la forma Canónica deProducto de Sumas, o simplemente la forma POS Canónica. A continuaciónse presenta un ejemplo de forma POS canónica.

f3 (α0, α1, α2) = (¬α0 ∨α1 ∨¬α2) ∧ (α0 ∨¬α1 ∨α2) ∧ (α0 ∨¬α1 ∨¬α2)

Como para que un maxtérmino tome un valor lógico de 0 se necesitaque cada variable no complementada tome un valor de 0 y cada varia-ble complementada tome un valor de 1, se aprovecha este valor de cadavariable para hacer un código binario con tantos bits como variables enla función, con el cual se podrá simplificar la escritura del maxtérminoen una función de forma POS canónica. En la Tabla 3.10 se muestra estasimplificación para los maxtérminos de la función anterior.

Maxtérminos Código Simplificación

(¬α0 ∨ α1 ∨ ¬α2) 101 M5

(α0 ∨ ¬α1 ∨ α2) 010 M2

(α0 ∨ ¬α1 ∨ ¬α2) 011 M3

Tabla 3.10: Notación Simplificada de Maxtérminos

Se observa que se ha simplificado la escritura de cada maxtérmino me-diante Mi, donde i es el entero decimal correspondiente al código binariodel maxtérmino. Así la función se puede escribir de cualquiera de lassiguientes formas:

f3 (α0, α1, α2) = (α0 ∨ ¬α1 ∨ α2) ∧ (α0 ∨ ¬α1 ∨ ¬α2)

∧ (¬α0 ∨ α1 ∨ ¬α2) =∏

M(2, 3, 5)

Page 55: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.2. ÁLGEBRA DE BOOLE 33

3.2.5.3. Formas Canónicas Equivalentes

Cada forma SOP canónica tiene una forma POS canónica equivalente dandouna representación única para cada función [6]. Lo anterior se puede observaral examinar la Tabla 3.11 de verdad siguiente para una función dada.

α0 α1 α2 f3 (α0, α1, α2)

0 0 0 1

0 0 1 0

0 1 0 1

0 1 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 0

Tabla 3.11: Formas Canónicas Equivalentes

Las posiciones donde la función toma un valor de 1 deben correspondera los mintérminos que la componen, de igual forma las posiciones donde lafunción toma un valor de 0 deben corresponder con los maxtérminos. Por tantocada función se puede representar de forma equivalente ya sea mediante susmintérminos o sus maxtérminos. Para el caso de la función de la Tabla 3.11,ésta se puede representar de cualquiera de las siguientes formas:

f3 (α0, α1, α2) =∑

m(0, 2, 3, 6)

=∏

M(1, 4, 5, 7)

3.2.6. Términos “Don’t Care”

Los términos “Don’t Care” o “No Importa” son aquellos que dentro de unafunción se derivan de combinaciones de las variables de entrada que se sabenunca se presentarán, por tanto se pueden considerar indistintamente comomintérminos o maxtérminos sin afectar el comportamiento, es más, a conve-niencia se pueden incluir o excluir. A estos términos, debido a su inclusiónopcional en las formas canónicas, se les denomina frecuentemente como pres-cindibles [6, 10].

Ejemplo: Encontrar las formas canónicas para una función que indica con unvalor lógico de 1 si un número de entrada en código BCD es mayor a 3 ymenor o igual a 7.

Para este caso, la entrada posee cuatro variables con las cuales se repre-sentan los números enteros del 0 al 15, pero un código BCD solo codificalos números del 0 al 9, por tanto las posiciones 10 a 15 son “Don’t Care”

Page 56: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

34 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

y se podrán de forma indistinta incluir en la representación por mintér-minos o maxtérminos. A continuación se muestra la tabla de verdad paraeste ejemplo.

Código α0 α1 α2 α3 f4 (α0, α1, α2, α3)

0 0 0 0 0 0

1 0 0 0 1 0

2 0 0 1 0 0

3 0 0 1 1 0

4 0 1 0 0 1

5 0 1 0 1 1

6 0 1 1 0 1

7 0 1 1 1 1

8 1 0 0 0 0

9 1 0 0 1 0

10 1 0 1 0 d

11 1 0 1 1 d

12 1 1 0 0 d

13 1 1 0 1 d

14 1 1 1 0 d

15 1 1 1 1 d

Tabla 3.12: Términos Don’t Care

En la Tabla 3.12, mediante una d se ha notado los términos que son “Don’tCare” y que corresponden a aquellas entradas que se sabe nunca se presentaránpara este ejemplo. La función se podrá representar de las siguientes formas:

f4 (α0, α1, α2, α3) =∑

m {(4, 5, 6, 7) + d (10, 11, 12, 13, 14, 15)}=

∏M {(0, 1, 2, 3, 8, 9) + d (10, 11, 12, 13, 14, 15)}

3.3. Simplificación de Funciones de Conmutación

3.3.1. Mapas de Karnaugh

El objetivo de la simplificación de las funciones de conmutación radica enla minimización de costos, ya sea de realización o de implementación. Uno delos métodos más ampliamente empleados para la simplificación son los de-nominados Mapas de Karnaugh, los cuales están basados en los principios delálgebra de conjuntos, álgebra de Boole, tablas de verdad y mintérminos o max-términos [1, 6].

Page 57: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 35

Para una función de aridad 2, se tendrán cuatro posibles combinaciones delas variables, las cuales se pueden representar de forma gráfica en un Diagramade Venn2 como se muestra en la Figura 3.9.

Cód α0 α1 min

0 0 0 m0

1 0 1 m1

2 1 0 m2

3 1 1 m3

�������

������ �������������

+�

+ + +�

¬α0

(0)α0

(1)

¬α1

(0) m0 m2

α1

(1) m1 m3

' (

'

(

����

' ,

( -

Tabla de Verdad Diagrama de Venn Diagr. Rectangular Mapa de Karnaugh

Figura 3.9: Mapa de Karnaugh para Función de Aridad 2

Cód α0 α1 α2 min

0 0 0 0 m0

1 0 0 1 m1

2 0 1 0 m2

3 0 1 1 m3

4 1 0 0 m4

5 1 0 1 m5

6 1 1 0 m6

7 1 1 1 m7

����������

+����������

���������

���������

�������

�������� ��������

��������

+�

+

+�

+�

++

+�

' (

''

������

' .

( /

- 0

, 1

'(

((

('

Tabla de Verdad Diagrama de Venn Mapa de Karnaugh

Figura 3.10: Mapa de Karnaugh para Función de Aridad 3

Para una función de aridad 3, se tendrán 8 posibles combinaciones de lasvariables, las cuales se pueden observar en la Figura 3.10 representadas en unMapa de Karnaugh.

El mapa de Karnaugh para el caso de función de aridad 3 también puedeser representado de forma horizontal como se muestra en la Figura 3.11.

2Un Diagrama de Venn es una representación gráfica para el álgebra de conjuntos, y como elálgebra de conjuntos es un álgebra booleana en la que los conjuntos son los elementos del álge-bra, esta representación es posible. La operación de intersección corresponde a la conjunción y laoperación de unión a la disyunción.

Page 58: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

36 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

''

'

������

' ,

( -(

1 .

0 /

'( (( ('

Figura 3.11: Otra Representación del Mapa de Karnaughpara Función de Aridad 3

Para el caso de una función de aridad 4, el mapa de Karnaugh se podríarepresentar en las formas indicadas en la Figura 3.12.

Cód α0 α1 α2 α3 min

0 0 0 0 0 m0

1 0 0 0 1 m1

2 0 0 1 0 m2

3 0 0 1 1 m3

4 0 1 0 0 m4

5 0 1 0 1 m5

6 0 1 1 0 m6

7 0 1 1 1 m7

8 1 0 0 0 m8

9 1 0 0 1 m9

10 1 0 1 0 m10

11 1 0 1 1 m11

13 1 1 0 0 m12

13 1 1 0 1 m13

14 1 1 1 0 m14

15 1 1 1 1 m15

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

('

''

''

�����

���

'(

' (

. /

- ,

0 1

'( (( ('

(, (-

2 3

(/ (.

(( ('

((

('

Tabla de Verdad Mapas de Karnaugh

Figura 3.12: Mapas de Karnaugh para Función de Aridad 4

En general, en un mapa de Karnaugh para una función de aridad n, unacelda posee n celdas adyacentes, donde las celdas son enumeradas medianteel Código Gray3 y cada una representa a un posible mintérmino o maxtérminode la función. Debido a que una celda debe poseer n celdas adyacentes, enel mapa de Karnaugh para una función de aridad 4 por ejemplo, la celda del

3El código Gray es un código no aritmético donde de una cantidad a otra solo varía un bit a lavez.

Page 59: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 37

mintérmino m0es adyacente con las celdas de los mintérminos m1, m2, m4 ym8. Lo anterior significa que los lados derecho e izquierdo de un mapa deKarnaugh son continuos y lo mismo sucede con los lados superior e inferior.En otras palabras, para una celda sus adyacentes son todas aquellas en las quesolamente una variable cambia a la vez.

3.3.2. Simplificación por Mapas de Karnaugh

Para la simplificación de una función sobre un mapa de Karnaugh, se copiael valor para cada combinación de entrada en la celda correspondiente (un 1para los mintérminos y un 0 para los maxtérminos), aunque por simplicidadse acostumbra colocar solo los 1 o 0, más no ambos [6, 10].

El objetivo será entonces realizar agrupaciones de celdas donde hay un 1en grupos potencias de 2 (grupos de 2, 4, 8 etc. celdas). Cada grupo debe serlo más grande posible ya que ello eliminará más variables, además la cantidadtotal de agrupaciones debe ser la menor posible tal que todos los mintérminosqueden incluidos como mínimo en un grupo.

Un grupo formado por 2n celdas elimina n variables. Las variables que seeliminan son aquellas que dentro de un grupo presentan cambio en su valor(cambian de 1 a 0) y permanecen aquellas que dentro del grupo no presentancambio (permanecen en 1 o en 0). Al final la función simplificada estará for-mada por la disyunción de términos en conjunción, donde cada término es ungrupo ya simplificado desde el mapa de Karnaugh.

Ejemplo: Mediante un mapa de Karnaugh simplificar la siguiente función.

f4 (α0, α1, α2, α3) =∑

m (3, 5, 7, 8, 10, 13, 15)

La función representada sobre un mapa de Karnaugh queda como semuestra en la Figura 3.13.

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

('

( (

((

(

(

(�

��

��

Figura 3.13: Mapa de Karnaugh para Simplificar Mintérminos

Page 60: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

38 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Con el objeto de poder incluir a todos los mintérminos en el menor númerode agrupaciones, pero a la vez con cada grupo lo más grande posible, seforman las siguientes agrupaciones las cuales también se muestran en laFigura 3.14.

Grupo 1 = m8, m10

Grupo 2 = m3, m7

Grupo 3 = m5, m7, m13, m15

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

('

( (

((

(

(

(�

��

��

Figura 3.14: Agrupaciones para Simplificar Mintérminos

Para el Grupo 1 se puede observar que la variable α2 es la única quecambia, igualmente es de esperarse que solo lo haga una, ya que como elgrupo está formado por 21 celdas se debe eliminar solo 1 variable.

Para el Grupo 2 se puede observar que la variable α1 es la única quecambia y por tanto es la variable a eliminar para este grupo.

Para el Grupo 3 se puede observar que las variables α0 y α2 son las quecambian, igualmente es de esperarse que cambien dos, ya que como elgrupo está formado por 22 celdas se debe eliminar 2 variables.

Del procedimiento anterior, se puede entonces escribir la función simpli-ficada de la siguiente forma:

f4 (α0, α1, α2, α3) = (α0 ∧ ¬α1 ∧ ¬α3) ∨ (¬α0 ∧ α2 ∧ α3) ∨ (α1 ∧ α3)

La simplificación de funciones en los mapas de Karnaugh también se puederealizar utilizando los maxtérminos. Para ello se debe copiar un 0 en cada cel-da correspondiente a un maxtérmino y realizar la agrupación siguiendo losmismos criterios ya expuestos para los mintérminos. Al final la función sim-plificada estará formada por la conjunción de términos en disyunción, dondecada término es un grupo ya simplificado desde el mapa de Karnaugh.

Page 61: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 39

Ejemplo: Simplificar la siguiente función usando un mapa de Karnaugh.

f4 (α0, α1, α2, α3) =∑

M (2, 9, 10, 12, 13, 14, 15)

A continuación se procede a copiar un 0 en el mapa de Karnaugh en cadacelda correspondiente a un maxtérmino, como se indica en la Figura 3.15.

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' '

'

'

'

'

''

��

��

Figura 3.15: Mapa de Karnaugh para Simplificar Maxtérminos

Conservando el objetivo de incluir a todos los maxtérminos en el menornúmero de agrupaciones, pero a la vez con cada grupo lo más grandeposible, se forman las siguientes agrupaciones, las cuales también se pue-den observar en la Figura 3.16.

Grupo 1 = M9, M13

Grupo 2 = M2, M10

Grupo 3 = M12, M13, M14, M15

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' '

'

'

'

'

''

��

��

Figura 3.16: Agrupaciones para Simplificar Maxtérminos

Page 62: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

40 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Para el Grupo 1 se puede observar que la variable α1 es la única quecambia, ya que como el grupo está formado por 21 celdas esta es la únicavariable a eliminar.

Para el Grupo 2 se puede observar que la variable α0 es la única quecambia y por tanto es la variable a eliminar para este grupo.

Para el Grupo 3 se puede observar que las variables α2 y α3 son las quecambian, igualmente es de esperarse que cambien dos, ya que como elgrupo está formado por 22 celdas se debe eliminar 2 variables.

Del procedimiento anterior, se puede entonces escribir la función simpli-ficada de la siguiente forma:

f4 (α0, α1, α2, α3) = (¬α0 ∨ α2 ∨ ¬α3) ∧ (α1 ∨ ¬α2 ∨ α3) ∧ (¬α0 ∨ ¬α1)

Ejemplo: Simplificar la siguiente función la cual posee términos “Don’t Care”.

f4 (α0, α1, α2, α3) =∑

m {(0, 2, 5, 6, 8, 9, 10, 14) + d (4, 7, 13, 15)}

La función sobre un mapa de Karnaugh, incluyendo tanto los mintérmi-nos como los “Don’t Care” se muestran en la Figura 3.17.

''

''

���

�����

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' (

(

(

((

��

��

(

((

Figura 3.17: Simplificación con Términos “Don’t Care”

Como los términos “Don’t Care” se pueden considerar de forma indis-tinta como mintérminos o maxtérminos, según conveniencia, en este casose han incluido como mintérminos, pero adicionalmente ellos pueden serincluidos o no en las agrupaciones. En el caso de este ejemplo el térmi-no d15 no se ha incluido ya que con los grupos formados se han cubiertoa todos los mintérminos de la función. Los grupos formados son los si-guientes:

Page 63: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 41

Grupo 1 = m0, m2, m8, m10

Grupo 2 = m4, m5, m6, m7

Grupo 3 = m2, m6, m10, m14

Grupo 4 = m9, m13

Eliminando las variables que cambian en cada uno de los grupos, se ob-tiene la siguiente función simplificada:

f4 (α0, α1, α2, α3) = (¬α1∧¬α3)∨ (¬α0∧α1)∨ (α2∧¬α3)∨ (α0∧¬α2∧α3)

3.3.3. Simplificación por Quine-McCluskey

Este método de simplificación de funciones de conmutación es un algorit-mo tabular con base en los mapas de Karnaugh. Permite la implementación deuna metodología sistemática para encontrar una función mínima con la ven-taja adicional de poder manejar un gran número de variables, lo cual es degran ayuda ya que los mapas de Karnaugh están limitados en la practica a sólocuatro o máximo cinco variables [6, 9].

El método inicia con una lista enumerada de todos los mintérminos de unafunción de aridad n, agrupados en forma ordenada de acuerdo al número deunos “1” que contiene cada uno. Lo anterior con el fin de identificar todos losposibles términos adyacentes los cuales se caracterizan por diferenciarse ensolo una variable.

Seguidamente en una nueva columna se anota el resultado de búsquedade mintérminos adyacentes entre grupos vecinos. En esta nueva lista se debeindicar mediante un signo de guión “-” la variable que cambia y adicional-mente señalar los términos agrupados desde la columna anterior. En esta nue-va columna lo que se ha logrado es la identificación de términos con n-1 varia-bles producto de la simplificación de una de ellas gracias a la adyacencia.

El paso anterior se debe repetir iterativamente adicionando nuevas colum-nas hasta que no sea posible agrupar más términos. Cada nueva columna im-plica términos con una variable menos. Al final, los términos no señalados (esdecir aquellos no agrupados en un grupo mayor) serán los candidatos a cubrircompletamente la función de forma mínima.

Finalmente se debe hacer una tabla que liste en las columnas todos losmintérminos y en las filas los términos no agrupados en los pasos anteriores.Lego se indica mediante un signo “X” los mintérminos que abarca un términodeterminado. Los mintérminos cubiertos por solo un término determinan a tér-minos esenciales para cubrir la función. Luego de la identificación de todos losmintérminos cubiertos por los términos esenciales se busca el mínimo númerode términos adicionales que abarquen a los mintérminos no cubiertos aún.

Ejemplo: Simplificar la siguiente función empleando el método tabular deQuine-McCluskey.

Page 64: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

42 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

f4 (α0, α1, α2, α3) =∑

m {0, 2, 3, 6, 7, 8, 9, 10, 13}

El primer paso consiste en realizar la lista enumerada de todos los mintér-minos ordenados de acuerdo al número de “1” en cada uno de ellos.

Columna 1

Mintérminos α0α1α2α3

0 0000 Cero unos

2 0010 Dos unos8 1000

3 00116 01109 1001 Tres unos10 1010

7 0111 Cuatro13 1101 Unos

Tabla 3.13: Lista de Mintérminos Ordenados por Vecindad

A continuación se realiza la búsqueda de términos adyacentes entre veci-nos de la primera columna y el resultado se anota en una nueva columna,tal como se muestra a continuación:

Columna 1 Columna 2

Mintér α0α1α2α3 Mintér α0α1α2α3

0 0000 * 0 y 2 00_00 y 8 _000

2 0010 *8 1000 * 2 y 3 001_

2 y 6 0_103 0011 * 2 y 10 _0106 0110 * 8 y 9 100_9 1001 * 8 y 10 10_0

10 1010 *3 y 7 0_11

7 0111 * 6 y 7 011_13 1101 * 9 y 13 1_01

Tabla 3.14: Primera Búsqueda de Términos Adyacentes

Page 65: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 43

Seguidamente se continúa con la búsqueda de adyacencias, ahora entrelos términos de la segunda columna y los resultados se anotan en otranueva columna, tal como se indica a continuación:

Columna 1 Columna 2 Columna 3

Mintér α0α1α2α3 Mintér α0α1α2α3 Mintér α0α1α2α3

0 0000 * 0 y 2 00_0 * 0,2,8,10 _0_0 T10 y 8 _000 * 2,3,6,7 0_1_ T2

2 0010 *8 1000 * 2 y 3 001_ *

2 y 6 0_10 *3 0011 * 2 y 10 _010 *6 0110 * 8 y 9 100_ T39 1001 * 8 y 10 10_0 *

10 1010 *3 y 7 0_11 *

7 0111 * 6 y 7 011_ *13 1101 * 9 y 13 1_01 T4

Tabla 3.15: Segunda Búsqueda de Términos Adyacentes

Como ya no es posible realizar nuevas agrupaciones entre los términosde la tercera columna, entonces se procede a identificar los términos queno han sido agrupados, con los cuales ahora se realiza una nueva tablacon ellos listados en las filas y todos los mintérminos de la función en lascolumnas, tal como se indica a continuación:

0 2 3 6 7 8 9 10 13

T1 0,2,8,10 _0_0 X X X XT2 2,3,6,7 0_1_ X X X XT3 8,9 100_ X XT4 9,13 1_01 X X

Tabla 3.16: Listado de Términos No Agrupados y Mintérminos

De la tabla anterior se puede observar que el término T1 es esencial parala función ya que es el único que cubre a los mintérminos 0 y 10, ademásel término T2 igualmente es esencial al ser el único de cubre los mintérmi-nos 3, 6 y 7, e igualmente T4 es el único que cubre al mintérmino 13. Conestos tres términos esenciales se cubre la totalidad de los mintérminos dela función tal como se muestra a continuación:

Page 66: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

44 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

* * * * * * * * *0 2 3 6 7 8 9 10 13

T1 0,2,8,10 _0_0 * X X X XT2 2,3,6,7 0_1_ * X X X XT3 8,9 100_ X XT4 9,13 1_01 * X X

Tabla 3.17: Identificación de Términos que Cubren Todos los Mintérminos

La función simplificada entonces es la siguiente:

f4 (α0, α1, α2, α3) = (¬α1 ∧ ¬α3) ∨ (¬α0 ∧ α2) ∨ (α0 ∧ ¬α2 ∧ α3)

3.4. Automatismos Secuenciales

En los sistemas secuenciales los valores de las variables de salida, para uninstante determinado, dependen no sólo de los valores de las entradas en eseinstante (como era el caso de los sistemas combinacionales) sino también delestado presente en el cual se encuentre el sistema. En esta configuración, losestados se asocian con elementos de memoria que determinan el estado pre-sente, el estado siguiente y la forma de hacer la transición de un estado a otro.Además, el valor del estado siguiente de los elementos de memoria es funciónde los valores de las entradas y del estado presente [1, 2, 6].

Se define como Variables de Estado a los valores binarios asociados con cadauno de los elementos de memoria. Un Estado es cada una de las combinacionesque puede tomar el conjunto de variables de estado, conteniendo toda la infor-mación necesaria para definir el comportamiento futuro.

Con l variables de estado, un sistema secuencial posee 2l posibles estados,siendo éste un valor finito, de donde se deriva el nombre de Máquinas de EstadosFinitos.

�45���

���!���������

�������

�(�,�

�(�,�+

�( �� �(��

Figura 3.18: Máquina de Estados Finitos

Page 67: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 45

Como se puede observar en la Figura 3.18, un sistema secuencial que poseen variables de entrada (x1, x2, ... , xn), m variables de salida (z1, z2, ... , zm), lentradas a los elementos de memoria (w1, w2, ... , wl) y l salidas de los elemen-tos de memoria (W1, W2, ... , Wl), las salidas y variables de estado son dadaspor las siguientes funciones:

zi = φn+li (x1, x2, ... , xn , W1, W2, ... , Wl)

wi = ϕn+li (x1, x2, ... , xn , W1, W2, ... , Wl)

Donde φn+li y ϕn+l

i son respectivamente la i− sima función de salida y deestado siguiente de aridad n+ l.

3.4.1. Clasificación de los Sistemas Secuenciales

3.4.1.1. Máquinas de Mealy y de Moore

De acuerdo con la topología adoptada por los sistemas secuenciales, se dis-tinguen dos principalmente, dependiendo de si las salidas son función única-mente de las variables de estado o también de las entradas [2, 6, 10].

La primera es la Máquina de Mealy, donde en todo instante sus salidas sonfunción de las variables de estado y de las entradas. La disposición de esteautómata se puede observar en la Figura 3.19.

���� +

� +���������� � �

�67��

��+8�����

9�� ����

��7�� �

����������

�67��

��+8�����

� �����

Figura 3.19: Máquina de Mealy

La segunda es la Máquina de Moore, donde en todo instante sus salidas sonfunción únicamente de las variables de estado. Esta topología se muestra en laFigura 3.20.

Page 68: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

46 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

���� +

� +���

������� � �

�67��

��+8�����

9�� ����

��7�� �

����������

�67��

��+8�����

� �����

Figura 3.20: Máquina de Moore

3.4.1.2. Sistemas Síncronos y Asíncronos

Los sistemas secuenciales también se pueden clasificar en Síncronos y Asín-cronos. Los síncronos son aquellos donde los cambios de estado y de las varia-bles se realizan de forma sincronizada con los pulsos de un reloj sin importarque se presenten cambios entre pulsos consecutivos. En los sistemas asíncronoslas variables de entrada actúan sobre el estado interno del sistema en el mismoinstante que estas cambian de valor, o en otras palabras, las transiciones en-tre estados dependen de la frecuencia con que se presenten cambios en dichasseñales.

3.4.2. Diagrama de Estados

El Diagrama de Estados es una representación gráfica de un sistema secuen-cial que ayuda a presentar de forma clara la relación funcional existente en-tre las entradas, las salidas, el estado presente y el estado siguiente. En estosdiagramas, los estados se representan como círculos, mientras las transicionesentre estados se indican mediante arcos orientados. En cada arco se relacionalos valores de las entradas y las salidas para la transición indicada.

Otra forma de representación de un sistema secuencial es mediante la Tablade Estados, en ella las columnas corresponden a los valores de las variables deentrada y las filas a los estados presentes del sistema. En cada celda se relacionapara el valor de entrada y de estado actual el estado siguiente y el valor de lassalidas.

En el diagrama de estados de la Figura 3.21, se muestra un ejemplo en elcual se tiene cuatro posibles estados en los cuales puede estar el sistema (repre-sentados por dos variables de estado ya que 22 = 4), una variable de entrada yuna variable de salida.

Page 69: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 47

Entrada (x)

Estado Actual 0 1

A C/0 B/1

B B/1 C/0

C A/0 D/1

D D/1 A/0

Tabla 3.18: Ejemplo de Tabla de Estados

� !

��

((

''

''

((

'(

('

('

'(

Figura 3.21: Ejemplo de Diagrama de Estados

Para este diagrama la respectiva tabla de estados es la que se muestra en laTabla 3.18.

3.4.3. Dispositivos de Memoria

Para la implementación de una máquina finita de estados es necesario con-tar entonces con dispositivos de memoria en los cuales se pueda guardar elvalor de los estados presentes y con base en los cuales se pueda determinarel estado futuro al que pasará el sistema. Estos dispositivos son denominadosBiestables, ya que conservan de forma permanente uno de dos estados posibles,0 y 1. Para su estudio se considerará que el valor de la salida en un instantedeterminado de tiempo será Q(t) y el valor de salida para el estado siguienteserá Q(t+ 1) el cual dependerá del valor de las entradas y del estado presente[6, 10].

Page 70: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

48 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

3.4.3.1. Latch Set-Reset

El latch, conocido también como cerrojo estático, es un elemento de memo-ria cuyas señales de excitación o entrada determinan el estado del dispositivo.El dispositivo latch más básico se puede lograr utilizando una compuerta ORy retroalimentando la salida hacia una de las entradas como se muestra en laFigura 3.22. Si inicialmente ambas entradas se encuentran en un valor lógicode 0, la salida será igualmente 0. Al aplicar un valor lógico de 1 a la entradalibre, la salida pasará a un valor de 1 y éste se realimentará a la otra entradacon lo cual la salida estará estable en 1. Si seguidamente se aplica un valor deentrada de 0, la salida permanecerá en 1 debido al valor lógico de 1 en la en-trada con realimentación. De la forma anterior se ha logrado guardar el valor1 de forma permanente y este no cambiará a pesar de los valores que tome laentrada libre. Para este caso, al dispositivo se le denomina un latch set y de estemismo nombre asume la designación la entrada libre (S) ya que cuando éstatoma el valor lógico 1 la salida permanecerá indefinidamente en 1.

�('

''

�((

((

�((

'(

�$

Figura 3.22: Latch Set

Ahora, haciendo uso del teorema de involución y universalizando con com-puertas NOR la configuración anterior se puede representar como se indica enla Figura 3.23. Entre la salida de la primera compuerta NOR y la entrada dela segunda se ha tomado una señal que claramente es la negación de la salidavista para el latch set (¬Q). A esta nueva configuración se le denomina latchreset, ya que análogamente al anterior, iniciando con valores lógicos de 0 enambas entradas la salida de la primera NOR será 1, luego al aplicar un valorde 1 en la entrada libre se obtendrá el valor 0 a la salida de la primera NOR yun valor de 1 a la salida de la segunda NOR, éste último valor se retroalimentacon lo cual ahora la primera NOR tiene un valor de 1 en ambas entradas, lo cualvuelve y produce un 0 a la salida y la configuración tendrá un estado estable.Si luego se coloca un valor de cero a la entrada libre de la primera NOR nueva-mente su salida será 0 y permanecerá así sin importar el valor lógico aplicadoen la entrada libre. Dado el anterior comportamiento, esta configuración recibeel nombre de latch reset y la entrada se designa como (R).

Page 71: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 49

�('

'(

�('

(

�((

('

�((

'

�((

''

�((

� �$

Figura 3.23: Latch Reset

Las dos configuraciones anteriores no tienen una aplicación útil ya que unavez se ha fijado un valor de 1 o 0 respectivamente en cada una de ellas, noes posible volver a cambiarlo. En la práctica se necesita de un dispositivo quepermita ser activado o desactivado según los requerimientos. Si en la configu-ración del latch reset se deja libre una de las entradas a la segunda compuertaNOR (la que realiza la función de negación) se obtiene un sistema como el dela Figura 3.24, el cual es conocido como un latch set-reset o simplemente LatchSR.

�(�(

�$

$

�(

�(

�$

$

$

$

Figura 3.24: Latch Set-Reset

En la Tabla 3.19 se muestra el valor que toma la salidaQ para un latch SR deacuerdo con las secuencias de excitación mostradas. Se puede observar comoal aplicar un valor lógico de 1 en la entrada S la salida Q irá inmediatamentea 1 independiente del valor presente en ella, además al aplicar un valor lógicode 1 en la entrada R la salida Q tomará el valor lógico 0. En la configuración

Page 72: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

50 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

anterior, si las entradas S y R toman simultáneamente el valor lógico 1 lassalidas Q y su complemento (¬Q) toman el valor 0, lo cual crea una condiciónde competencia entre las compuertas y, dependiendo de la estructura física deéstas, no se podría asegurar el valor de la salida. Por lo anterior la combinaciónde entrada R = S = 1 no es permitida para este sistema.

S R Q

0 0 00 1 0

Se guarda un 1 1 0 10 0 1

Se guarda un 0 0 1 00 0 0

Entrada ilegal 1 1 X

Tabla 3.19: Secuencia de Excitación en una Latch SR.

La tabla de excitación para el latch SR se muestra en la Tabla 3.20, con lacual además se puede encontrar la ecuación característica, relacionando el va-lor futuro de la salida con las entradas y el valor presente.

EntradasEstado

PresenteEstado

Siguiente

S R Q(t) Q(t + 1)

0 0 0 0

0 0 1 1

0 1 0 0

0 1 1 0

1 0 0 1

1 0 1 1

1 1 0 X

1 1 1 X

Tabla 3.20: Tabla de Excitación para el Latch SR.

La ecuación característica se puede verificar llevando los datos de la tablade excitación para el latch SR a un mapa de Karnaugh y obteniendo la funciónsimplificada para Q(t+ 1):

Q(t+ 1) = S ∨ ¬R ∧Q(t)

Page 73: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 51

3.4.3.2. Latch SCR

Posee la misma configuración del latch SR, pero a su entrada se le disponeun arreglo que permite habilitar o inhibir los cambios de estado. De esta forma,se introduce un control en los valores de entrada restringiendo su aplicación allatch sólo cuando un valor lógico de 1 se aplica a la entrada de control C. Cuan-do la entrada de control tiene un valor lógico de 0 las entradas se inhiben y ellatch SR no cambiará de estado ya que en set y reset tendrá simultáneamenteel valor 0. La configuración de este latch y su representación se muestran enla Figura 3.25. Basado en el nombre de sus entradas, este latch recibe la desig-nación de Latch SCR.

$

$

��

$

$�

Figura 3.25: Latch SCR

La tabla de excitación y la ecuación característica para el latch SCR se mues-tran a continuación en la Tabla 3.21.

EntradasEstado

PresenteEstado

Siguiente

C S R Q(t) Q(t + 1)

0 d d 0 0

0 d d 1 1

1 0 0 0 0

1 0 0 1 1

1 0 1 0 0

1 0 1 1 0

1 1 0 0 1

1 1 0 1 1

1 1 1 0 X

1 1 1 1 X

Tabla 3.21: Tabla de Excitación para el Latch SCR.

Q(t+ 1) = (S ∧ C) ∨ (¬R ∧Q(t)) ∨ (¬C ∧Q(t))

Page 74: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

52 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

En la tabla y ecuación anterior se puede observar que cuando la entrada decontrol toma un valor lógico de 0, no importa que valores asuman las entradasS y R, el estado siguiente es siempre el mismo estado presente. Cuando laentrada de control toma el valor 1, la tabla es exactamente la misma que parael latch SR.

3.4.3.3. Latch D

Es la misma configuración de una latch SCR, pero en este caso a la entra-da R se asigna el valor negado de la entrada S, dando lugar a un único datode entrada denominado D. La configuración y representación del Latch D semuestra en la Figura 3.26. Para este dispositivo, dada su configuración, la tablade excitación del latch SCR se restringe a aquellos valores donde S es diferen-te de R dando como resultado que para poder almacenar un valor lógico, yasea 1 o 0, se debe ingresar como dato el mismo valor a almacenar. La tabla deexcitación se puede observar en la Tabla 3.22.

$

$

��

$

$

Figura 3.26: Latch D

EntradasEstado

PresenteEstado

Siguiente

C D Q(t) Q(t + 1)

0 d 0 0

0 d 1 1

1 0 0 0

1 0 1 0

1 1 0 1

1 1 1 1

Tabla 3.22: Tabla de Excitación para el Latch D.

A continuación se muestra la ecuación característica del latch D.

Q(t+ 1) = (D ∧ C) ∨ (¬C ∧Q(t))

Page 75: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 53

3.4.3.4. Flip-Flop SR

Los flip-flops realizan el cambio a un estado siguiente en sincronismo conlos pulsos de un sistema de reloj, a diferencia de los latch donde cualquiercambio en las entradas producirá de inmediato el paso al estado siguiente.Para lograr este comportamiento, la configuración más empleada es la maestro-esclavo de dos latch SCR. En ella, como puede observarse en la Figura 3.27, doslatch SCR comparten la misma señal de control pero complementada una enrelación con la otra.

�:� ��;<

$

$�

$

$�

$

$�

� �

� ���� ����=�

Figura 3.27: Flip-Flop SR

Cuando la señal del reloj, que es la misma señal de control, tiene un valorlógico de 0 el latch maestro se encuentra con sus entradas habilitadas mientrasel latch esclavo las tiene inhibidas, esto hace que los valores en las entradas S yR sean tenidos en cuenta en el latch maestro pero ignorados en el latch esclavo.Luego cuando el reloj hace su transición de 0 a 1, el latch maestro ignorará losvalores en sus entradas dando estabilidad en su salida y así permitiendo queel latch esclavo pase a su estado siguiente justo con la transición de subida delreloj.

La tabla de excitación y ecuación característica del flip-flop SR se muestrana continuación, donde se puede observar que son iguales a la del latch SR conla única diferencia que los pasos a estado siguiente se producen justamente enel pulso de subida del reloj.

Page 76: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

54 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

EntradasEstado

PresenteSeñal de

ActivaciónEstado

Siguiente

S R Q(t) C Q(t + 1)

0 0 0 ↑ 0

0 0 1 ↑ 1

0 1 0 ↑ 0

0 1 1 ↑ 0

1 0 0 ↑ 1

1 0 1 ↑ 1

1 1 0 ↑ X

1 1 1 ↑ X

Tabla 3.23: Tabla de Excitación para el Flip-Flop SR.

Q(t+ 1) = S ∨ ¬R ∧Q(t)

3.4.3.5. Flip-Flop D

Este flip-flop emplea para la configuración maestro esclavo a dos latch D.La representación y configuración se puede observar en la Figura 3.28.

�:� ��;<

$

$

$

$

$

$

� �

� ���� ����=�

Figura 3.28: Flip-Flop D

La tabla de excitación para este flip-flop se reduce a la que se muestra en laTabla 3.24.

EntradaEstado

PresenteSeñal de

ActivaciónEstado

Siguiente

D Q(t) C Q(t + 1)

0 0 ↑ 0

0 1 ↑ 0

1 0 ↑ 0

1 1 ↑ 1

Tabla 3.24: Tabla de Excitación para el Flip-Flop D.

Page 77: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 55

La ecuación característica se muestra a continuación.

Q(t+ 1) = D

3.4.3.6. Flip-Flop JK

Este flip-flop se comporta igual a uno SR con la diferencia que elimina larestricción existente para S = R = 1. Para lograr este cometido, se realizala configuración mostrada en la Figura 3.29, donde ahora la entrada J hacelas veces de la entrada S y la entrada K de R. En esta configuración cuandoJ = K = 1 se obtiene la conmutación de la salida, es decir, si el estado presentees 0 entonces el siguiente será 1 y recíprocamente para un estado actual de 1.

>?

$

$�

?

>

$

$�

� ��;

Figura 3.29: Flip-Flop JK

La tabla de excitación resumiendo el comportamiento del flip-flop JK semuestra en la Tabla 3.25.

EntradasEstado

PresenteSeñal de

ActivaciónEstado

Siguiente

J K Q(t) C Q(t + 1)

0 0 0 ↑ 0

0 0 1 ↑ 1

0 1 0 ↑ 0

0 1 1 ↑ 0

1 0 0 ↑ 1

1 0 1 ↑ 1

1 1 0 ↑ 1

1 1 1 ↑ 0

Tabla 3.25: Tabla de Excitación para el Flip-Flop JK.

La ecuación característica está dada como se muestra a continuación.

Q(t+ 1) = ¬K ∧Q(t) ∨ J ∧ ¬Q(t)

Page 78: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

56 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

3.4.3.7. Flip-Flop T

Es el mismo flip-flop JK donde las entradas J = K = 1. Este tipo de configu-ración, la cual se muestra en la Figura 3.30, se comporta como un conmutador(Toggle en inglés) cuando la entrada T toma un valor lógico de 1 y retendrá elestado actual si el valor de entrada es 0.

� ?

>

$

$�

$

$� ��;

Figura 3.30: Flip-Flop T

La tabla de excitación es un subconjunto de la tabla obtenida para el flip-flop JK ya que se restringe a los valores de J y K iguales. Esta tabla de excita-ción se muestra en la Tabla 3.26.

EntradaEstado

PresenteSeñal de

ActivaciónEstado

Siguiente

T Q(t) C Q(t + 1)

0 0 ↑ 0

0 1 ↑ 1

1 0 ↑ 1

1 1 ↑ 0

Tabla 3.26: Tabla de Excitación para el Flip-Flop T.

La ecuación característica se muestra a continuación.

Q(t+ 1) = ¬T ∧Q(t) ∨ T ∧ ¬Q(t)

3.4.4. Implementación de Automatismos Secuenciales

Para la implementación de automatismos secuenciales se puede seguir unalgoritmo de diseño bien definido, el cual se describe a continuación [1, 6]:

1. A partir de la descripción de un problema se obtiene el diagrama de es-tados correspondiente y de éste la tabla de transiciones.

2. De acuerdo con el número de variables de estado se encuentra el númerode filp-flops necesarios para la implementación y se determina su tipo,ya sea por conveniencia con el diseño o por requerimiento.

Page 79: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 57

3. Con la tabla de transiciones y el tipo de flip-flop escogido, se hallan lasfunciones de entrada a cada uno de los flip-flops y las funciones de salida.

4. El punto anterior entrega la información necesaria para representar grá-ficamente mediante un diagrama lógico el automatismo. Este diagramalógico igualmente sirve como referencia para cualquier otro tipo de im-plementación independiente de la tecnología.

Ejemplo Una máquina industrial realiza un proceso el cual consta de cuatroetapas, o estados, diferentes. Un operario mediante un pulsado sin reboteindica cuando la máquina debe cambiar de estado. Así, cuando el pul-sador está en reposo, estado lógico 0, la máquina permanece en el estadoactual y cuando el pulsador es activado la máquina avanza al siguienteestado. El automatismo debe terminar en el estado que inició.

Siguiendo los pasos para la implementación del automatismo, a conti-nuación se muestra inicialmente el diagrama de estados correspondiente.

'' '(

('((

(

(

(

'

'

(

'

'

Figura 3.31: Diagrama de Estados Automatismo Secuencial 1

Como existen cuatro estados posibles se requiere entonces de dos va-riables de estado, las cuales se han denominado como A y B respecti-vamente. El orden seleccionado para cada una de ellas se debe respetardurante toda la fase de diseño. La tabla de transiciones entonces será lasiguiente:

Estado Actual Estado Siguiente

A BEntrada (x) = 0

A BEntrada (x) = 1

A B

0 0 0 0 0 1

0 1 0 1 1 0

1 0 1 0 1 1

1 1 1 1 0 0

Tabla 3.27: Tabla de Transiciones Automatismo Secuencial 1

Page 80: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

58 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

Como ya se determinó, se requiere de dos variables de estado para reali-zar la implementación, o sea que se necesita igual número de flip-flops,en nuestro caso se ha seleccionado el tipo JK. Si las entradas a cada uno delos flip-flops se designan respectivamente como JAKA y JBKB , entoncesla tabla de verdad que describe las funciones para cada una de las en-tradas es la siguiente:

Actual x Siguiente FF A FF B

A B A B JA KA JB KB

0 0 0 0 0 0 d 0 d

0 0 1 0 1 0 d 1 d

0 1 0 0 1 0 d d 0

0 1 1 1 0 1 d d 1

1 0 0 1 0 d 0 0 d

1 0 1 1 1 d 0 1 d

1 1 0 1 1 d 0 d 0

1 1 1 0 0 d 1 d 1

Tabla 3.28: Excitación de Flip-Flops Automatismo 1

Con base en la tabla anterior se procede a obtener la simplificación decada una de las funciones que representa respectivamente a cada entra-da en los flip-flops. A continuación se muestran los mapas de Karnaughrespectivos para cada una de las entradas:

''

'

���

' ,

( -(

1 .

0 /

'( (( ('� ''

'

���

' ,

( -(

1 .

0 /

'( (( ('�

(

� �

��

� �

� �(?�*�� >�*��

Figura 3.32: Funciones Para el Flip-Flop A

''

'

���

' ,

( -(

1 .

0 /

'( (( ('� ''

'

���

' ,

( -(

1 .

0 /

'( (( ('�

(

��

� � � �(?!*� >!*�

( (

��

Figura 3.33: Funciones Para el Flip-Flop B

Page 81: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 59

Ahora se puede proceder a implementar el diagrama lógico para el auto-matismo secuencial pedido con base en las Figuras 3.32 y 3.33, el cual sepuede observar en la Figura 3.34.

?

>

$

$�

� ?

>

$

$�

��@

��

!

�"�

�"!

Figura 3.34: Diagrama Lógico Automatismo 1

El automatismo implementado en este ejemplo corresponde a una má-quina de Moore, ya que en todo instante sus salidas solo dependen de lasvariables de estado. Particularmente, en este ejemplo las salidas son lasmismas variables de estado.

Ejemplo En una estación de prueba se realiza la verificación de cuatro pro-piedades diferentes de un producto. El producto terminado se coloca so-bre una banda transportadora la cual lo llevará por las cuatro estacionesdiferentes de prueba, una por cada propiedad a verificar. Sin embargo,estando en un estado cualquiera un operario puede decidir mediantedos pulsadores si continuar a la siguiente estación (ir a la derecha D)o si regresar a la estación previa (ir a la izquierda I). Por seguridad sedesea instalar un sistema visual que indique al personal la dirección demovimiento de la banda transportadora, así: si la banda se mueve haciala derecha se debe encender una luz roja R, si la banda se mueve hacia laizquierda se debe encender una luz verde V, si la banda se encuentra de-tenida entonces se deben encender ambas luces. Presionar derecha en laúltima estación indica regresar al inicio pero con un desplazamiento a laizquierda. Los pulsadores de dirección poseen enclavamiento mecánicoque impide su accionamiento simultáneo.

En este ejemplo se requiere de dos entradas (una por cada pulsador dedirección) y de dos salidas (una por cada luz indicadora). El primer pasoes obtener el diagrama de estados a partir del enunciado, el cual se puedeobservar en la Figura 3.35 y donde el valor de las entradas y de las salidasen cada caso es indicado por la relación DI/RV.

Page 82: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

60 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

'' '( (' ((

('('

('('

('('

'('(

'('(

'('(

'(('

((''

((''

((''

(('�

Figura 3.35: Diagrama de Estados Automatismo Secuencial 2

Dado que se tiene un total de cuatro estados se requerirá entonces de dosvariables de estado las cuales serán designadas como Q1 y Q2, y para lascuales la tabla de transiciones se muestra a continuación:

Estado Actual Estado Siguiente

Q1 Q2 DI = 00 DI = 01 DI = 10

A 0 0 A/11 A/11 B/10

B 0 1 B/11 A/01 C/10

C 1 0 C/11 B/01 D/10

D 1 1 D/11 C/01 A/01

Tabla 3.29: Tabla de Transiciones Automatismo Secuencial 2

De la Tabla 3.29 se puede deducir la tabla de verdad para cada una de lasentradas de los 2 flip-flops que se requieren, solo basta seleccionar quetipo usar, en este caso se empleará flip-flops tipo T. Igualmente se realizala tabla de verdad para las dos salidas. Los resultados se muestran en laTabla 3.30.

Seguidamente, y con base en la misma Tabla 3.30, se puede realizar lasimplificación de cada una de las funciones de las entradas a los flip-flops y para cada una de las salidas, tal como se puede observar en lasFiguras 3.36 y 3.37.

Page 83: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.4. AUTOMATISMOS SECUENCIALES 61

Actual Entradas Siguiente FF 1 FF 2 Salidas

Q1 Q2 D I Q1 Q2 T1 T2 R V

0 0 0 0 0 0 0 0 1 1

0 0 0 1 0 0 0 0 1 1

0 0 1 0 0 1 0 1 1 0

0 0 1 1 d d d d d d

0 1 0 0 0 1 0 0 1 1

0 1 0 1 0 0 0 1 0 1

0 1 1 0 1 0 1 1 1 0

0 1 1 1 d d d d d d

1 0 0 0 1 0 0 0 1 1

1 0 0 1 0 1 1 1 0 1

1 0 1 0 1 1 0 1 1 0

1 0 1 1 d d d d d d

1 1 0 0 1 1 0 0 1 1

1 1 0 1 1 0 0 1 0 1

1 1 1 0 0 0 1 1 0 1

1 1 1 1 d d d d d d

Tabla 3.30: Excitación de Flip-Flops Automatismo 2

''

''

$(��$,

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' (

(

(

����

''

''

$(��$,

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' (

(

(

����

( (

((

�(*:$,��<�:$(��$,��< �,*��:$,��<�:$(��<

Figura 3.36: Funciones Para los Flip-flops del Automatismo 2

Page 84: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

62 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

''

''

$(��$,

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

(' (

(

(

����

''

''

$(��$,

'(

' .

( /

(, 2

(- 3

'( (( ('

- 0

, 1

(/ ((

(. ('

((

('

(

(

(

����

(

(

((

�*:����<�:�$(��$,<�������:�$(��<�:$(��$,��<

A*���:$(�$,��<

(

( ( ( ( (

(

Figura 3.37: Funciones Para los Flip-flops del Automatismo 2

Finalmente, con base en la información anterior se obtiene el diagramalógico de la Figura 3.38.

$

$

�(

��@

�(

$

$

�(

�(

���(

���,

A

Figura 3.38: Diagrama Lógico Automatismo 2

El automatismo implementado en esta ocasión corresponde a una má-quina de Mealy, ya que en todo instante sus salidas dependen de las va-riables de estado y del valor de las entradas.

3.5. Ejercicios Propuestos

1. Encontrar la función que describe el siguiente enunciado:

Page 85: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

3.5. EJERCICIOS PROPUESTOS 63

La alarma de seguridad en un almacén sonará si se cumple una de lassiguientes afirmaciones:

Si las puertas están abiertas y se activa el sensor de humo

Si las puertas están cerradas y se activa el sensor de humo

Si las puertas están cerradas y se activa el sensor de movimiento

2. Encontrar la función que describe el siguiente enunciado:

En un proceso industrial se prepara una mezcla mediante la combinaciónde 3 reactivos diferentes, para lo cual se dispone de 3 válvulas, una porcada uno. Un agitador activado por un motor se debe encender en cual-quiera de los siguientes casos:

Si se abre la válvula que deposita el primer reactivo

Si se abre la válvula que deposita el segundo reactivo

Si por cualquier razón están abiertas más de dos válvulas simultánea-mente

3. Simplificar las siguientes funciones empleando únicamente los postula-dos y teoremas del álgebra de Boole:

f5(α1, α2, α3, α4, α5) = (α1∧α2α3∨α4)∧(¬α3∨α4)∧(¬α3∨α4∨α5)

f3(α1, α2, α3) = ¬α2 ∧ (α2 ∨ α3) ∨ ¬α1 ∨ (α1 ∧ α3)

f3(α1, α2, α3) = (α1 ∧ α2) ⊕ (α1 ∧ α3)

f4(α1, α2, α3, α4) = ¬{(α2 ⊕ ¬α3) ∨ ¬(α1 ∧ α2) ∧ ¬(¬α1 ∨ α3)}4. Llevar las siguientes funciones a su representación SOP canónica:

f3(α1, α2, α3) = (¬α2 ∧ ¬α3) ∨ (α1 ∧ α3) ∨ (¬α1 ∧ α2 ∧ ¬α3)

f4(α1, α2, α3, α4) = (α1 ∧α2 ∧¬α3)∨ (¬α2 ∧¬α3)∨ (α1 ∧α3 ∧α4)∨(¬α1 ∧ α2 ∧ α3 ∧ α4)

5. Llevar las siguientes funciones a su representación POS canónica:

f3(α1, α2, α3) = (α1 ∨ α2 ∨ α3) ∧ (α1 ∨ ¬α3) ∧ (¬α2 ∨ α3)

f4(α1, α2, α3, α4) = (α1∨α3∨¬α4) ∧ (α2∨α3∨α4) ∧ (¬α1∨α2∨α3)

6. Simplificar las siguientes funciones empleando los Mapas de Karnaugh:

f4(α1, α2, α3, α4) =∑m(2, 3, 4, 8, 9, 12, 13, 14)

f3(α1, α2, α3) =∑m(3, 5, 6, 7)

f4(α1, α2, α3, α4) =∑m(3, 4, 6, 7, 11, 14, 15)

f4(α1, α2, α3, α4) =∑m(0, 2, 4, 5, 7) +

∑d(6, 8, 10, 15)

f4(α1, α2, α3, α4) =∏M(0, 7, 10, 15) .

∏d(2, 12)

Page 86: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

64 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS

7. Simplificar las siguientes funciones con base en el método tabular deQuine-McCluskey:

f5(α1, α2, α3, α4, α5) =∑m(1, 3, 5, 7, 11, 12, 21, 26, 27, 29, 30, 31) +∑

d(14, 15, 20, 23)

f5(α1, α2, α3, α4, α5) =∑m(3, 4, 6, 11, 12, 13, 14, 17, 19, 20, 22, 30) +∑

d(2, 10, 15, 16, 24)

8. Obtener el diagrama de estados y el circuito secuencial que implementeel problema propuesto:

En un sistema industrial de manufacturación se tiene un conjuntode tres labores, las cuales se deben realizar en sincronismo con lospulsos de un reloj de tal forma que con el reloj contando de 0 a 7 encada cuenta impar se debe realizar el proceso 1, en cada cuenta parel proceso 2 y en la cuenta igual a 5 el proceso 3. El circuito a diseñarconsta del sistema de conteo y tres salidas (una por cada proceso)de tal forma que cada una tenga un valor lógico de uno para indicarque su respectivo proceso se debe realizar.

Una puerta codificada requiere la introducción de la cadena binaria1101 para validar su apertura. El sistema debe exigir la introduccióncompleta de la cadena cada vez que detecte un ingreso incorrecto, esdecir si por ejemplo alguien introduce 1011 los dos últimos unos nopueden ser tomados como el inicio de la cadena correcta y por lo queen este caso se debe introducir 10111101. El circuito a implementarconsta de una entrada sin rebote que permite el ingreso de los va-lores binarios, la lógica secuencial que detecta la cadena correcta yuna salida que se pone en un valor lógico de uno para permitir laapertura de la puerta.

Page 87: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Bibliografía

[1] Floyd, Thomas L.Fundamentos de Sistemas Digitales, 7ma EdPrentice Hall 2000. ISBN 84-205-2994-X

[2] García Moreno, Emilio.Automatización de Procesos IndustrialesAlfaomega 2001. ISBN 970-15-0658-8

[3] Groenendijk, Jeroen. Stokhoff, MartinDynamic Predicate LogicDepartment of Computational Linguistics,University of Amsterdam, 1990.

[4] Ivorra Castillo, CarlosLógica y Teoría de Conjuntos.

[5] Labra Gayo, Jose Emilio. Fernández Lanvin, Daniel.Lógica de Predicados. Cuaderno Didáctico, Universidad de Oviedo.

[6] Nelson, Victor P. Nagle, H. Troy. Carroll, Bill D. Irwin, J. David.Análisis y Diseño de Circuitos Lógicos DigitalesPrentice Hall 1996. ISBN 968-880-706-0.

[7] Rios Luis H., Alzate Alfonso.Sistemas DigitalesISBN: en trámite, 2008.

[8] Teller, PaulA Modern Formal Logic Primer:Volume II, Predicate Logic and Metatheory (TBD) 1st EdPrentice Hall Callege Div, 1989. ISBN-13: 978-0139031700.

[9] Tinder, Richard F.Engineering Digital Design, 2nd EdAcademic Press 2000. ISBN 0-12-691295-5.

[10] Wakerly, John F.Digital Design: Principles and Practices, Third EditionPrentice Hall, 1999. ISBN-10: 0137691912, ISBN-13: 978-0137691913.

65

Page 88: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 89: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 4

LÓGICA CABLEADA

4.1. Dispositivos de Mando y Control

4.1.1. El Contactor

Elemento básico sobre el cual se fundamenta una lógica de tipo “todo onada”, la cual corresponde a operaciones del tipo “abierto o cerrado”, “ver-dadero o falso”, “1 ó 0”, “caliente o frío”, etc. El contactor es un dispositivocompuesto por pares metálicos montados sobre un mecanismo el cual puedemantenerlos en estado de unión o separación, representando así la naturaleza“todo o nada”. En el estado de unión se presentará conducción ya que habráuna resistencia ideal de cero entre los contactos y en el estado de separación sepresentará no conducción por la presencia de resistencia infinita entre los paresmetálicos [4]. Lo importante de este accionamiento es la utilización externa delestado en el cual se encuentren los contactos o pares metálicos [2, 6].

El contactor es un dispositivo mecánico de accionamiento mediante elec-troimán. Cuando la bobina del electroimán se encuentra bajo tensión, el con-tactor se cierra, estableciendo un camino a través de los pares metálicos entreuna red de alimentación y un receptor. El desplazamiento de la parte móvil delelectroimán que arrastra las partes móviles de los pares metálicos puede serrotacional, lineal o combinación de los dos anteriores. Cuando se suspende laalimentación de la bobina, el circuito magnético se desmagnetiza y regresa asu posición de reposo debido a la acción conjunta de resortes que actúan comoelementos de reposición tanto en los mismos pares metálicos como en la partemóvil de la armadura, y de la acción de la misma gravedad en determinadosequipos.

A continuación se presentan los principales elementos que forman un con-tactor:

El Electroimán: Se comporta como el elemento proveedor de desplazamien-to de los contactos. Se compone principalmente del circuito magnéticoy la bobina. Su forma depende del tipo de contactor y de si la fuente

67

Page 90: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

68 CAPÍTULO 4. LÓGICA CABLEADA

de alimentación es de corriente continua o alterna. El circuito magnéti-co incluye un entrehierro reducido en posición “cerrado”. El recorrido dellamado es la distancia entre la parte fija y la móvil cuando el contactor seencuentra en reposo. Los resortes de reposición se comprimen durante elrecorrido de aplastamiento y hasta el final del mismo. El circuito mag-nético para corriente continua posee chapas de acero al silicio unidasmediante remache o soldadura y circuito laminado para reducir las co-rrientes de Foucault.1 Para el circuito magnético en corriente continua sepuede emplear dependiendo del caso ya sea el mismo circuito magnéti-co laminado de corriente alterna o específicamente un electroimán paracorriente continua de acero macizo [4].

La Bobina: Es la encargada de generar el flujo magnético requerido para atraerla parte móvil de la armadura. Está diseñada para soportar los choquesmecánicos provocados por los cierres y aperturas del circuito magnéti-co y los choques electromagnéticos que se producen cuando la corrienterecorre las espiras.

Pares Metálicos: También denominados como polos, establecen o interrum-pen la corriente dentro del circuito de potencia. Se dimensionan parasoportar la corriente nominal del contactor en servicio permanente sinpresentar calentamientos. Su fabricación se basa en una aleación de plataresistente a la oxidación y al arco. Estos pares metálicos pueden estar dis-puestos de tal forma que en estado de reposo permitan o no el paso de lacorriente y en estado de accionamiento la operación inversa [3].

Contactos Auxiliares: Realizan funciones de automantenimiento, esclavización,enclavamiento de contactos y señalización. Se pueden identificar tres tiposbásicos, a saber:

1. Contactos instantáneos de cierre: se encuentran normalmente abier-tos en posición de reposo, NA, y se cierran cuando el contactor estábajo tensión.

2. Contactos instantáneos de apertura: se encuentran normalmente ce-rrados en posición de reposo, NC, y se abren cuando el contactorestá bajo tensión.

3. Contactos instantáneos NA/NC: Los dos contactos comparten unpolo en común. En reposo el contacto NA se encuentra abierto y elNC cerrado. Con la energización de la bobina del contactor amboscambian de estado.

Contactos Principales: Realizan las operaciones de paso o interrupción de co-rriente a los receptores.

1Las corrientes de Foucault reducen el flujo útil de una corriente magnetizante y calientan in-necesariamente el circuito magnético

Page 91: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.1. DISPOSITIVOS DE MANDO Y CONTROL 69

Sistema de Soplado: Normalmente un contacto se abre para interrumpir elpaso de corriente que previamente llegaba hasta el equipo receptor. Enla mayoría de los casos los equipos son de tipo inductivo y solo con muypocas excepciones la corriente no se interrumpe de manera instantánea.2

Cuando la corriente es superior a un amperio, se establece un arco eléc-trico entre los pares metálicos cuando se separan. El arco es una formade descarga eléctrica en los gases o en vacío, su parte central alcanza latemperatura máxima que a menudo supera varios miles de grados, val-ores muy superiores a los que pueden superar los metales y los aislantesutilizados en la fabricación de contactos. De lo anterior se deduce que sedebe limitar la duración del arco, ni demasiado largo como para que sedeterioren las paredes o los materiales metálicos, ni demasiado corto conel fin de limitar las sobretensiones producto de los cambios muy rápidosen la corriente del circuito de carga. Para controlar este arco, se sitúanpiezas ferromagnéticas que crean un campo perpendicular al arco con elfin de atraerlo y enfriar el medio lo más rápido posible [4].

La Figura 4.1 muestra un esquema resumido de los principales componentesde un contactor, mientras que la Figura 4.2 muestra la representación esque-mática del mismo.

�B+����9���� ����

�������C�;��

�������+6=�� �� ���� ��� � 9�����6�������

��+���+6=��

��+���C�;

!�8�

� ���� �� � 9�����6�+���

!�

Figura 4.1: Componentes de un Contactor

2La corriente se interrumpe de forma instantánea solo en el caso de una apertura en el momentojusto de cruce por cero de una corriente alterna.

Page 92: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

70 CAPÍTULO 4. LÓGICA CABLEADA

!�8�

��( �,

��������� ���� ��

( , - . / 1

���������D���� �

���������D���� �� ��� ��

���������D���� �� �9 ����

(- (. ,- ,. -( -, .( .,

Figura 4.2: Representación y Numeración de Contactos

La numeración de los contactos se realiza mediante pares ordenados (1,2),(3,4), etc. para los contactos principales y mediante pares (#1,#2) y (#3,#4) paralos contactos auxiliares instantáneos de apertura y los de cierre respectiva-mente. El símbolo # representa la numeración consecutiva de contactos ini-ciando siempre por los normalmente abiertos, así para un contactor con doscontactos auxiliares instantáneos de cierre y dos de apertura la numeraciónrespectivamente es: (13,14), (23,24), (31,32) y (41,42) [ 3, 5].

4.1.1.1. Categorías Según el Empleo

En la elección de un contactor para un uso específico se determina la ca-pacidad del aparato para establecer, soportar e interrumpir la corriente en elreceptor bajo control, con unas condiciones de utilización, sin presentar reca-lentamiento o desgaste excesivo de los contactos. En la elección de un contactorse debe tener en cuenta los siguientes aspectos.

Tipo y características del receptor a controlar: intensidad y tipo de co-rriente, tensión, regímenes transitorios, etc.

Condiciones de explotación: ciclos de maniobra, factor de marcha, cortesen vacío o con carga, coordinaciones, durabilidad eléctrica, etc.

Condiciones ambientales: temperatura, humedad, altitud, etc.

En la norma IEC 158-1 se establecen categorías de los contactores según suempleo en corriente alterna de la siguiente manera [4]:

Categoría AC1: Se aplica a todos los receptores que emplean corriente alternay cuyo factor de potencia es al menos igual a 0,95.

Categoría AC2: Se refiere al arranque, frenado en contracorriente y marcha aimpulsos en motores de anillos. Al cierre, el contactor establece la intensi-dad de arranque, del orden de 2,5 veces la intensidad nominal del motor.

Categoría AC3: Se refiere a los motores de jaula de ardilla, el corte se realiza amotor lanzado. Al cierre, el contactor establece la intensidad de arranque,del orden de 5 a 7 veces la intensidad nominal de motor.

Page 93: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.1. DISPOSITIVOS DE MANDO Y CONTROL 71

Categoría AC4: Se refiere al arranque, frenado en contracorriente y marcha aimpulsos en motores de jaula de ardilla. El contactor se cierra con un arcoque puede alcanzar de 5 a 7 veces la intensidad nominal del motor.

4.1.2. El Relé

Su operación, constitución y finalidad es igual a las ya descritas para uncontactor. Su diferencia principal radica en que el relé sólo posee contactosauxiliares, por lo que no se emplea para controlar los accionamientos de losreceptores. Debido a que sus contactos son todos auxiliares, se emplea en lasección de control de un circuito con el fin de actuar como elemento de auto-mantenimiento, esclavización, enclavamiento de contactos, señalización y pro-tección.

4.1.3. Relé de Enclavamiento

Éste es un tipo especial de relé que posee dos bobinas, una bobina prin-cipal de operación normal, la cual al ser energizada cambia el estado de loscontactos que son todos del tipo auxiliar, pero una vez desenergizada los con-tactos no regresan al estado de reposo debido a la acción de un dispositivo deenclavamiento. Para regresar los contactos al estado de reposo es preciso ener-gizar una bobina auxiliar la cual es la encargada de retirar el enclavamiento.

Este tipo de relé se emplea como función de memoria en un proceso, per-mitiendo recordar el estado en el cual se encontraba un proceso ante posiblescortes en el suministro de potencia del circuito de control y reanudar en laposición correcta [4, 5].

4.1.4. Contactor con Bobina de Autorretención

Es un contactor que posee además de la bobina principal una adicional debloqueo o de autorretención. La función de la bobina de bloqueo es impedirel accionamiento de la bobina principal, así si la bobina principal no ha sidoenergizada, y por ende los contactos se encuentran en posición de reposos,y se energiza la bobina de autorretención los contactos permanecerán en susposiciones de reposo así se energice la bobina principal. La bobina de bloqueosólo actúa como medio para impedir el recorrido de la bobina principal desdesu posición de reposo al de energización más no al contrario, es decir, no sepuede emplear como medio para regresar los contactos al estado de reposo[4, 5].

4.1.5. Relé de Temporización al Trabajo (Relé Tipo ON)

Son relés dotados de un mecanismo neumático o electrónico el cual retardael accionamiento de contactos auxiliares desde la energización de la bobina delrelé y por un tiempo programado mediante algún elemento de ajuste (tornillo

Page 94: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

72 CAPÍTULO 4. LÓGICA CABLEADA

guía o potenciómetro). Estos relés también pueden poseer contactos auxilia-res instantáneos los cuales cambiarán de estado inmediatamente se energizala bobina, pero los contactos auxiliares temporizados retardan su conmutaciónpor el tiempo ajustado, sin embargo cuando se desenergiza la bobina del relé,todos los contactos auxiliares, ya sean instantáneos o temporizados, regresan alestado de reposo. En este tipo de relé, si antes de terminarse la temporizaciónpara conmutación se desenergiza la bobina, los contactos temporizados nocambian de estado, es decir, permanecen en reposo. En la Figura 4.3 se ob-serva la representación de contactos y un diagrama de tiempo de su operaciónante posibles situaciones de energización de bobina versus tiempo de ajuste,además se puede notar el tipo de numeración que siguen los contactos tempo-rizados mediante el par (#5,#6) para los contactos temporizados a su aperturay el par (#7,#8) para los contactos temporizados a su cierre [3, 5].

!�8�

����( �,

������������B ��

(- (. ,( ,,

-0 -2 ./ .1

��������� +9���E���

��"�� ��"��

!�8�

����B �

� +9���E��

�;��� �;���

Figura 4.3: Representación y Operación de Relé Tipo ON

4.1.6. Relé de Temporización al Reposo (Relé Tipo OFF)

Son relés dotados de un mecanismo neumático o electrónico el cual retar-da el regreso al estado de reposo de contactos auxiliares luego de la desener-gización de la bobina del relé y por un tiempo programado mediante algún ele-mento de ajuste. Estos relés también pueden poseer contactos auxiliares instan-táneos los cuales cambiarán de estado inmediatamente se energice la bobina aligual que lo harán los contactos auxiliares temporizados, sin embargo cuandose desenergice la bobina solo los contactos instantáneos regresan de forma in-mediata al reposo mientras que los temporizados retardan dicha acción por eltiempo de ajuste. En este tipo de relé, si se vuelve a energizar la bobina antes determinar la temporización, los contactos auxiliares temporizados continuaránen su estado conmutado y volverán a temporizar con la nueva desenergizaciónde la bobina, es decir, no harán conmutación a reposo. En la Figura 4.4 se obser-va la representación de contactos y un diagrama de tiempo para su operaciónante posibles situaciones de energización de bobina versus tiempo de ajuste,además se puede notar que el tipo de numeración que siguen los contactos es

Page 95: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.1. DISPOSITIVOS DE MANDO Y CONTROL 73

igual al del relé tipo ON con la única diferencia que ahora un contacto auxiliartemporizado que en reposo está normalmente abierto temporiza su aperturamientras que en un tipo ON temporiza su cierre y análogamente para un con-tacto auxiliar temporizado que en reposo está normalmente cerrado [3, 5].

!�8�

���CC�( �,

������������B ��

(- (. ,( ,,

-0 -2 ./ .1

��������� +9���E���

��"�� ��"��

!�8�

����B �

� +9���E��

�;��� �;���

Figura 4.4: Representación y Operación de Relé Tipo OFF

4.1.7. Relé de Temporización al Trabajo y al Reposo

Son relés dotados de un mecanismo electrónico que implementa simultánea-mente las características de los relés temporizados al trabajo y al reposo. Suoperación se basa en un oscilador el cual se emplea como elemento base de con-teo para la temporización y que además definirá la resolución de las unidadesde tiempo para temporización. Ya que su funcionalidad se puede representarpor la suma de un relé tipo ON más de uno tipo OFF no se realizarán posterio-res discusiones sobre su funcionamiento [4].

4.1.8. Elementos de Mando

Son elementos empleados para ingresar las órdenes hacia los dispositivosde control con el fin de actuar sobre los órganos receptores, los cuales en gen-eral son elementos de potencia que forman la parte operativa del sistema.Aunque existen muchos elementos de mando solo se verán los necesarios parael desarrollo de las siguientes secciones y que servirán como interfaz entre elhombre y el sistema [2, 3, 5, 6, 8].

Breaker: Aparato mecánico que protege los circuitos contra corto circuitos den-tro de unos límites de corte asignados con la característica que la aperturade uno solo de los polos es suficiente para abrir todos los demás. Adi-cionalmente permite protección por sobre cargas.

Pulsadores: Representan el elemento natural de ingreso de órdenes de tipo“Todo o Nada”. Son elementos que no retienen el cambio de posición,

Page 96: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

74 CAPÍTULO 4. LÓGICA CABLEADA

así, si se emplea un pulsador que en estado de reposo es normalmenteabierto al pulsarlo pasará al estado cerrado y permanecerá así hasta quese libere regresando entonces de inmediato a su estado de reposo. Loshay con estado de reposo normalmente abierto y con estado de reposonormalmente cerrado.

Indicadores: Son elementos que van ubicados en el lado de control cumplien-do propósitos de información, seguridad o detección de estado actualde otros elementos de mando y/o control. Pueden ser luces indicadoras,alarmas visuales o sonoras y demás elementos informativos.

La Figura 4.5 muestra la representación gráfica de algunos de los elementos demando y protección más comúnmente empleados.

������� �

���+�+ � 8� ���

���+�+ � � ����

������� ���� ��=+� ��

!�@ ��8�9��� ����8� � ���� ��8� ����� �

���� ���� �

Figura 4.5: Simbología Elementos de Mando y Protección

4.2. Funciones Básicas de Lógica Cableada

4.2.1. Función Interruptor y Función Sello

Consiste en implementar a partir de un pulsador normalmente abierto, queactúa como acción de encendido, y de uno normalmente cerrado, que actúacomo acción de apagado, la funcionalidad de un interruptor monopolar queretiene efectivamente el estado actual así se libere el pulsador. En la Figura 4.6se muestra la implementación y un diagrama de tiempo donde se observa elcomportamiento de un órgano receptor cualesquiera (en este caso se empleauna luz) ante diferentes acciones de los elementos de mando. El contacto nor-malmente abierto del contactor A que va en paralelo con el pulsador P1 es elencargado de retener la instrucción de encendido por lo que frecuentemente sele refiere con el nombre de función sello.

Page 97: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.2. FUNCIONES BÁSICAS DE LÓGICA CABLEADA 75

��

!

��

��

�(�,

��

!

�, �(

���������� �������

���������� �9�� ��

Figura 4.6: Función Interruptor

4.2.2. Función Detector de Flancos

Consiste en realizar una implementación que permita a un órgano receptorver solo la conmutación de bajo a alto (flanco de subida) o de alto a bajo (flancode bajada) de un pulsador normalmente abierto [5, 7]. En este caso se asociael estado de pulsación como el nivel alto (conducción) y el estado de reposocomo el nivel bajo (no conducción).

��(

��,

!

��(

�(

��(

��,

��!

�( �(

���������� �������

���������� �9�� ��

���( ��,

Figura 4.7: Función Flanco de Subida.

Page 98: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

76 CAPÍTULO 4. LÓGICA CABLEADA

La Figura 4.7 muestra el diseño para un circuito detector de flancos de subi-da, donde la duración del pulso en la bobina A y la carga B es de solo un in-stante de conmutación o del tiempo que toma realizar un scan de programa enlas implementaciones basadas en lenguajes de programación. La configuraciónde contacto abierto de CR1 en serie con el contacto cerrado de CR2 recibe elnombre de detector de flanco de subida.

La configuración para un detector de flancos de bajada se muestra en laFigura 4.8, donde la topología asociada es el contacto cerrado de CR1 en seriecon el contacto abierto de CR2.

��(

��,

!

��(

�(

��(

��,

��!

�( �(

���������� �������

���������� �9�� ��

���( ��,

Figura 4.8: Función Flanco de Bajada.

En general, para la gran mayoría de implementaciones de funciones que serealizan en las secciones siguientes, el circuito de potencia siempre consiste enrealizar la activación de un órgano receptor mediante el empleo de un contactode potencia perteneciente al contactor adecuado, por tanto, a menos que serequiera de una implementación diferente en potencia se seguirá obviado estaparte en los circuitos implementados, no con ello ignorándola.

4.2.3. Función Toggle

La función toggle se puede realizar con base en las implementaciones paralos detectores de flancos y consiste en hacer que una carga permanezca en suestado actual hasta que ocurra un nuevo flanco, momento en el cual debe con-mutar de estado [7]. En esta implementación al presionar, o soltar, un pulsadorse ocasiona que una carga se active, la cual debe permanecer en ese estadoaunque se libere el pulsador, la carga sólo debe pasar al estado de reposo enel instante que se vuelva a pulsar, o soltar, y debe permanecer inactiva hasta

Page 99: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.2. FUNCIONES BÁSICAS DE LÓGICA CABLEADA 77

la siguiente pulsación. Como ejemplo, en la Figura 4.9 se muestra la imple-mentación de un circuito toggle ante flancos de bajada para la activación de unórgano receptor cualquiera A.

��(

��,��(

�(

��(���,

��.

��-��

���������� �������

�( �(

��-��( ��,

��.��( ��,

��.

��-

��-

��.

��-

�( �( �( �(

Figura 4.9: Función Toggle.

4.2.4. Función Memoria Biestable

Permite almacenar un dato binario (1, 0) haciendo uso de una bobina decontactor [3, 7]. En la Figura 4.10 cuando se presiona el pulsador P1 se almacenaun 1 lógico en la bobina Q, dato que permanece indefinidamente almacenadohasta cuando se presione el pulsador P2 el cual pone la salida inmediatamenteen un valor de 0 lógico. El pulsador P1 hace las veces de set y el pulsador P2las veces de reset en analogía con el dispositivo latch visto en la Sección 3.4.3.1.

$

�( �( �, �,

�(

���������� �������

$� �

$

�,

Figura 4.10: Función Memoria Biestable

Page 100: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

78 CAPÍTULO 4. LÓGICA CABLEADA

4.2.5. Función Tren de Pulsos

Consiste en implementar un circuito de lógica cableada que permita la per-mutación de una carga entre el estado de encendida por un tiempo dado t1y el estado apagada durante un tiempo dado t2 [5, 7]. La implementación serealiza haciendo uso de pares de relés de temporización los cuales se puedenemplear en cualquier combinación (2 ON, 2 OFF y ON con OFF) [5]. Si se de-sea que el ancho del pulso de trabajo sea igual al ancho del pulso de reposose puede emplear un único relé de temporización haciendo uso de una fun-ción de memoria biestable. En la Figura 4.11 se muestra la implementación ydiagrama de tiempo para la función tren de pulsos realizada con dos relés detemporización ON, mientras en la Figura 4.12 se muestra la implementacióncon dos relés de temporización OFF y con un solo relé ON.

��(�� ��,"��

���������� �������

��

��

�,�(

��,��("��

��� ��("��

��

��

�(

�,

��(

��,

�,

�( �,

Figura 4.11: Función Tren de Pulsos con 2 Relés ON

En el diagrama de la derecha en la Figura 4.12 se puede observar el uso deun contacto de CR en la línea de alimentación vertical izquierda con el propósi-to de impedir que algún elemento se energice antes de la orden de inicio conel pulsador P2, además en esta implementación se ha hecho uso de la funciónmemoria biestable guardando en el relé CR1 la información sobre el ciclo ac-tual que se realiza en el tren de pulsos. Igualmente con el contactor A se puedetener un tren de pulsos donde el primer ciclo se realiza con carga encendida,mientras con el contactor B se obtiene el primer ciclo con carga apagada. En eldiagrama de la izquierda el control para la carga A efectúa un tren de pulsosque inicia con primer ciclo en carga encendida, si se desea iniciar con carga apa-gada únicamente basta con cambiar el contacto en serie con A de temporizadoa la apertura por temporizado al cierre del mismo relé TR1.

Page 101: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.2. FUNCIONES BÁSICAS DE LÓGICA CABLEADA 79

��(�� ��,"��

���������� �����������������

��

��

�,�(

��� ��("��

���

�(

��,�� ��("�� ���

�,

���������� �������������������

��

��

�,�(

��(

��(�

����"��

��"��

��

��

!

��( �

��(!

!

!

Figura 4.12: Función Tren de Pulsos con 2 Relés OFF y con Un solo ON.

4.2.6. Función Refresco

Ésta es una función de gran importancia al implementar la acción de unpulsador que enciende una carga al ser presionado y la cual solo debe estaractiva por un instante dado de tiempo, ya sea que se suelte el pulsador o no. Siantes de terminar el tiempo para el cual la carga debe estar activa se vuelve apresionar el pulsador, entonces la orden se debe refrescar y nuevamente debeiniciar el conteo de tiempo para el cual debe permanecer en ese estado. En laFigura 4.13 se muestra su implementación y el diagrama de tiempo que descri-be su comportamiento ante diferentes situaciones de entrada.

��

����

�(

���������� �������

���"��

���

� �

�(

� � �

Figura 4.13: Función Refresco

Page 102: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

80 CAPÍTULO 4. LÓGICA CABLEADA

4.2.7. Función Simulación de Relé Tipo OFF con ON

Esta función permite implementar la funcionalidad de un relé de tempo-rización tipo OFF mediante el empleo de un relé tipo ON. En la Figura 4.14 semuestra el circuito de control que permite realizar la misma funcionalidad delrelé tipo OFF haciendo uso de un relé ON y además se indica claramente loselementos de circuito que son análogos entre sí [5].

��(�� ��"��

��+����6�� �� ������

��

��

�,�(

���(

����( ��

��

����

����� ��� �� ������

��

��

�,�(

���"��

���

Figura 4.14: Función Simulación de Relé OFF con Relé ON

4.2.8. Función Simulación de Relé Tipo ON con OFF

Esta función permite implementar la funcionalidad de un relé de tempo-rización tipo ON mediante el empleo de un relé tipo OFF. En la Figura 4.15 semuestra el circuito de control que permite realizar la misma funcionalidad delrelé tipo ON haciendo uso de un relé OFF y además se indica claramente loselementos de circuito que son análogos entre sí [5].

��(

�����

�� ��(

��+����6�� �� �����

��

��

�,�(

���,

���

����

����� ��� �� �����

��

��

�,�(

���"��

��

��,��( ��"��

Figura 4.15: Función Simulación de Relé ON con Relé OFF

Page 103: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.3. LÓGICA DE CONMUTACIÓN CON LÓGICA CABLEADA 81

4.2.9. Función Contador

Su diseño se basa en un circuito que permite ir guardando, o contando, lasveces que un pulsador se presiona y libera con lo cual se implementa un conteode flancos de subida y bajada y al cabo de los cuales se pueden ejecutar accionesdeseadas. En la Figura 4.16 se muestra un circuito que permite encender unacarga A a la tercera pulsación de P2, donde se observa como los relés CR2 y CR4actúan como memorias que guardan los flancos de subida que han ocurrido,mientras los relés CR3 y CR5 guardan los flancos de bajada, a su vez el pulsadorP1 actúa como un reset para la cuenta de flancos.

��,��(

��(

�,�(

���(

��-��, ��(

��(

��(

��.

��/

��-

��.

��/

��/

Figura 4.16: Función Contador

4.3. Lógica de Conmutación con Lógica Cableada

Por naturaleza, la lógica cableada es lógica de conmutación donde los ele-mentos de tipo “todo o nada” son implementados mediante contactores, relés ysus contactos asociados. Para obtener una minimización de la implementaciónse puede recurrir a cualquiera de los métodos vistos en la Sección 3.3 con el finde minimizar la función de conmutación [2, 3].

Para ilustrar la metodología general se realiza un ejemplo.

Ejemplo Se hace la implementación de un circuito en lógica cableada que per-mite el control de una alarma visual en un proceso que es controlado por3 motores. Como condiciones, el proceso exige que máximo un motor es-té fuera de servicio a la vez pero en todo caso el motor 1 siempre debeestar encendido. Como elementos de captación se emplean relés en serie

Page 104: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

82 CAPÍTULO 4. LÓGICA CABLEADA

con los motores, de tal forma que si un motor sale de operación su reléasociado se desenergiza.

Designando como CRA, CRB y CRC a cada uno de los relés en serie conlos motores, se puede construir la siguiente tabla de verdad y mapa deKarnaugh para simplificar la función:

Cód CRA CRB CRC Al

0 0 0 0 1

1 0 0 1 1

2 0 1 0 1

3 0 1 1 1

4 1 0 0 1

5 1 0 1 0

6 1 1 0 0

7 1 1 1 0

''

'

���

�������!

' ,

( -(

1 .

0 /

'( (( ('

((

( (

(

Tabla de Verdad Mapa de Karnaugh

Figura 4.17: Control de Alarma Visual

����

��

��

�,�(

��! ���

���

Figura 4.18: Lógica Cableada para Control de Alarma Visual

Del mapa de Karnaugh de la Figura 4.17 se obtiene que la función a im-plementar para la alarma es Al= ¬A ∨ (¬B ∧ ¬C) la cual implementadaen lógica cableada se puede observar en la Figura 4.18, donde P1, P2 y CRúnicamente se comportan como la función interruptor para energizar elcircuito. Cuando los motores están energizados, también lo están los tresrelés y por ende se abren los contactos normalmente cerrados de estos.Ante cualquiera de las condiciones de alarma descritas se producirá laactivación del contactor denominado Al, el cual se encarga de activar laalarma visual.

Page 105: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.3. LÓGICA DE CONMUTACIÓN CON LÓGICA CABLEADA 83

En muchas ocasiones los problemas de lógica cableada involucran situacionesde temporización las cuales no se pueden analizar inmediatamente desde lalógica de conmutación. Sin embargo aplicando los conocimientos sobre fun-ciones básicas y lógica combinacional se puede lograr encontrar la soluciónadecuada para este tipo de problemas [2]. A manera de ejemplo se realiza laimplementación de un circuito para el control de un sistema de seguridad deuna caja fuerte.

Ejemplo En una sucursal bancaria, una vez que el empleado a cargo intro-duce la clave correcta para acceder a una caja fuerte, dispone de dos pul-sadores así: uno para la apertura de la caja denominado A y otro parael cierre denominado C. Una vez el funcionario oprime A se enciendede forma automática un sistema de video, pero la apertura de la caja seretrasa durante 5 segundos. A su vez, cuando el operario sale y oprimecerrar la caja se cierra de forma automática e inmediata, pero el sistemade video sigue registrando durante 5 segundos más. Se desea implemen-tar el sistema de control que da apertura a la caja y encendido al sistemade video con base en las señales de control A y C, pero usando un únicorelé de temporización TR.

Para dar solución a este problema se procede de la siguiente forma: Seemplean memorias biestables con el fin de guardar las órdenes de aper-tura (CR1) y de cierre (CR2) y una memoria adicional (M) que ingresa conla apertura y se resetea con el cierre y se emplea para controlar el videoy la puerta. El relé de temporización (TR) en esta ocasión se comportapor naturaleza como un ON ya que una vez energizado debe inmediata-mente iniciar el conteo de los 5 segundos. Este conteo inicia ya sea conla orden de apertura o la de cierre y se mantiene hasta que termine eltiempo de 5 segundos.

La puerta (P) no debe abrir hasta que se de la orden de apertura y trans-curra la temporización y se debe cerrar inmediatamente se de orden decierre, lo cual se expresa directamente mediante lógica combinacional talcomo se puede observar en la Figura 4.19. El video debe estar encendidomientras una de estas condiciones sea verdadera: permanezca la memo-ria (M) o 5 segundos después de darse la órden de cierre. Con el fin dehacer reutilizable el diseño se saca de operación las bobinas CR1 y CR2luego de terminada la temporización relacionada con cada orden.

Page 106: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

84 CAPÍTULO 4. LÓGICA CABLEADA

��(��(

� ��"��

��,

��,

� ��"��

��( ��

��,

A

��,

��(

��,

���

��"��

���"�� ��,

��

��

A

� �

/� /�

Figura 4.19: Ejemplo de Lógica Cableada con Temporización

4.4. Diseños Básicos en Lógica Cableada

El objeto de esta sección es el de ilustrar algunos diseños básicos que per-miten la implementación de funcionalidades comunes y muy frecuentes paraser desarrolladas mediante lógica cableada y que se basan en las funcionesbásicas vistas previamente. Con estas implementaciones sólo se busca mostrarsu desarrollo más no su justificación o conveniencia de uso.

4.4.1. Activación Alternada de Cargas

Con el encendido alternado de cargas se persigue como objetivo activarcargas en una secuencia dada. La activación se debe producir mientras un pul-sador P1 esté presionado. La implementación de este tipo de circuito se basa enla función biestable con el fin de ir guardando progresivamente la informaciónsobre orden de secuencia, aunque también se podría usar la función contadorpero resultando en un mayor número de relés. En la Figura 4.20 se muestra elcircuito de lógica cableada para la activación alternada de 3 cargas diferentesA, B y C las cuales deben activarse en el mismo orden enunciado, además losrelés CR1 y CR2 son las funciones biestables para recordar respectivamente lainformación sobre el encendido de la carga A y de la carga B.

Page 107: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.4. DISEÑOS BÁSICOS EN LÓGICA CABLEADA 85

��(

!

��(

��(

��(

��,

��,

!�

��( ��, �

!

��, !

Figura 4.20: Secuencia de Cargas A→B→C

La implementación para cualquier número de cargas en activación alter-nada ordenada se puede extender inmediatamente del diseño mostrado en laFigura 4.20, sin embargo cuando la activación varía el orden de las cargas losdiseños pueden cambiar ligeramente pero siempre teniendo como base la fun-ción biestable. En la Figura 4.21 se muestra a la izquierda el circuito de lógicacableada para la activación de cargas en secuencias A→B→C→D→C→B y ala derecha para la secuencia A→B→C→D→B→C. En estos circuitos es de re-saltar como la memoria implementada con el relé CR4 no recibe una ordende reset sino hasta el inicio de un nuevo ciclo. En general un diseño siempredebe permitir la reutilización indefinida del circuito sin necesidad de tener quedesenergizar completamente para reiniciar un nuevo ciclo.

Si se desea una activación de cargas en cualquier orden, su diseño se puederealizar con base en alguno de los mostrados previamente, por ejemplo parauna secuencia de activación en el orden B→A→C→D→C→A, se puede imple-mentar con base en la secuencia A→B→C→D→C→B reemplazando A por B yB por A.

Page 108: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

86 CAPÍTULO 4. LÓGICA CABLEADA

��.

��.

� �

�(

��(

!

!

��- �

!��( ��, �

!

���, ��- �

��(

��(

��,

��,

!

��-

��-

!

��.��.�

��.��.

��.

��.

� �

�(

��(

��- �

!��( ��,

!

���, ��- �

��(

��(

��,

��,

!

��-

��-

!

��.

��.�

��.��.

� �� �����!�������! � �� �����!�����!��

Figura 4.21: Secuencia de Cargas A→B→C→D→C→B y A→B→C→D→B→C

4.4.2. Encendido Secuencial de Cargas

En muchos procesos se requiere del ingreso, y posterior apagado, de unaserie de cargas en una secuencia dada. A diferencia de la activación alternada,en esta ocasión cada carga dispone de su propio pulsador de arranque y deparo, pero se debe garantizar que el encendido se produzca en una secuenciadada y además igualmente se debe respetar una secuencia para el apagado.

En la Figura 4.22 se muestra el diseño para el encendido secuencial de 3cargas: M1, M2 y M3. La secuencia de encendido para este ejemplo se realizaen el mismo orden listado y además la secuencia de apagado se realiza en ordeninverso, es decir, el último en encender es el primero que se debe poder apagar.Para este tipo de secuencia se emplea la siguiente nomenclatura: M1↑, M2↑,M3↑, M3↓, M2↓, M1↓; donde la flecha orientada hacia arriba indica el orden enla secuencia para encendido de la respectiva carga y la flecha orientada haciaabajo el orden para el apagado.

Page 109: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.4. DISEÑOS BÁSICOS EN LÓGICA CABLEADA 87

�(

�(

�(�(

�,

�,

�,�,

�-

�-

�-�-

�,

�-

�,

�(

Figura 4.22: Encendido en Secuencia M1↑, M2↑, M3↑, M3↓, M2↓, M1↓

En las Figuras 4.23 y 4.24, se muestra el diseño para las secuencias M1↑,M2↑, M3↑, M3↓, M1↓, M2↓ y M1↑, M2↑, M3↑, M2↓, M3↓, M1↓respectivamente.En cada figura se muestra al lado derecho una simplificación para el diseño dellado izquierdo.

�(

�(

�(�(

�,

�,

�,�,

�-

�-

�-�-

�-

�( �,

�,

�(

�(

�(

�(�(

�,

�,

�,�,

�-

�-

�-�-

�-

�(

�,

�(

Figura 4.23: Encendido en Secuencia M1↑, M2↑, M3↑, M3↓, M1↓, M2↓

Si se desea obtener un encendido en un orden diferente, siempre será posi-ble abstraerlo de alguno de los mencionados anteriormente realizando el ade-cuado reemplazo de nombres para las cargas, por ejemplo si se desea el encen-dido en secuencia M2↑, M1↑, M3↑, M3↓, M1↓, M2↓ claramente se puede lograra partir del diagrama de la Figura 4.22 reemplazando M2 por M1 y M1 por M2,además la generalización para cualquier número de cargas es directa.

Page 110: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

88 CAPÍTULO 4. LÓGICA CABLEADA

�(

�(

�(�(

�-

�,

�,

�,�, �(

�-�-�- �,

�-�, �-

�(

�(

�(�(

�-

�,

�,

�,�, �(

�-�-�- �,

�-�,

Figura 4.24: Encendido en Secuencia M1↑, M2↑, M3↑, M2↓, M3↓, M1↓

4.4.3. Arranque de Motor DC en Derivación

En el circuito de control para el arranque de un motor de corriente continuase debe considerar los elementos requeridos para protección adicional a la im-plementación propia de la funcionalidad de arranque. Las consideraciones másrelevantes deben incluir la protección contra cortocircuitos, protección contrasobrecargas y limitación de corrientes en el arranque.

En el momento del arranque el voltaje en la armadura es de cero voltios ycomo la resistencia interna es de un valor muy bajo se presenta una corriente devalor muy alto. Se hace necesario entonces insertar una resistencia de arranqueen serie de tal forma que limite el valor de la corriente mientras el voltaje enla armadura crece para limitar por si mismo la corriente. Pero esta resistenciade arranque no debe permanecer en el circuito de manera indefinida por loque se debe retirar a medida que la velocidad del motor crece. Una forma deimplementar este requerimiento es colocar una resistencia de arranque confor-mada por una serie de segmentos que se van retirando a medida que aumentala velocidad.

En la Figura 4.25 se muestra el circuito de potencia y de control. Para la pro-tección contra cortocircuito en el motor se emplean fusibles en cada una de laslíneas de alimentación, para la protección contra sobrecarga se emplea un relétérmico en serie con la armadura de tal forma que si se presenta una corrienteexcesiva y prolongada se calentará el térmico ocasionando la activación de loscontactos del relé. Como elemento adicional de protección se instala un relé enel circuito de campo, el cual tiene por finalidad sensar una posible pérdida dela corriente ante lo cual se debe desenergizar el motor. Los contactos 1A y 2Atienen por finalidad retirar a tiempo adecuado cada uno de los segmentos dela resistencia de arranque, para lo cual se emplean relés de temporización tipoON. El cálculo del número de segmentos, valor de cada segmento y el ajustede tiempo para los temporizadores son temas que se encuentran fuera del al-cance de este libro, pero si el lector desea profundizar [1] es una buena opción

Page 111: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.4. DISEÑOS BÁSICOS EN LÓGICA CABLEADA 89

de consulta. Otros métodos de arranque se pueden encontrar en [8].

(�

(�

��("��

�����

,�

,�

��,"��

����

��(,��

��,��("��

��

�(

��

�,

���������� ������� ���������� �9�� ��

���

���� �

(� ,�

�C �C

����F� �

G "

Figura 4.25: Arranque de Motor DC Utilizando Relés ON

En la Figura 4.26 se muestra el diseño para el mismo tipo de circuito dearranque descrito pero usando relés de temporización tipo OFF.

����� ����

(�

(�

��("��

��((���,"��

���

�(

,�

,�

��,"��

��,,���("��

���

�,

��,"��

(�

Figura 4.26: Arranque de Motor DC Utilizando Relés OFF

Page 112: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

90 CAPÍTULO 4. LÓGICA CABLEADA

4.4.4. Arranque de Motores Trifásicos

4.4.4.1. Arranque Estrella-Delta con Transición Abierta

Si un motor de jaula se planea para operar con su bobinado en delta, latensión en cada fase de la máquina será igual a la tensión de alimentación, perosi el bobinado se conecta en triángulo durante el arranque la tensión de fase sereduce en

√3, lo cual a su vez hace que la corriente de arranque en estrella sea

menor en 13 que la corriente en delta. Sin embargo, como el par del motor varía

con el cuadrado de la tensión en cada bobinado, durante el arranque en estrellaéste se reduce a un tercio del par en delta. Es por tanto que el arranque se debeproyectar para una conexión en estrella de los bobinados para posteriormentepermanecer en estado estable en conexión delta.

La denominación de transición abierta proviene del hecho que durante elcambio de estrella a delta se desenergiza temporalmente la máquina con el finde evitar un cortocircuito en los bobinados. En la Figura 4.27 se puede observarlos circuitos de control y potencia en los cuales N es el contactor que crea elneutro para la conexión en estrella, D el contactor que crea la conexión en delta,M el contactor que da ingreso a la alimentación de la máquina, CRsc son reléstérmicos para la protección contra sobrecarga y TR es un relé de temporizacióntipo ON. El diseño anterior también se puede realizar empleando un relé detemporización tipo OFF, tal como se puede observar en la Figura 4.28.

���"���

��

���������� �������

���(

����

����

����

��

� �

���������� �9�� ��

��

� �

��

���� ���� ����

Figura 4.27: Arranque de Motor Trifásico con Transición Abierta

Page 113: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.4. DISEÑOS BÁSICOS EN LÓGICA CABLEADA 91

���"���

���

���������� �������

���(

����

����

����

��

� �

Figura 4.28: Arranque con Transición Abierta Usando Relé OFF

4.4.4.2. Arranque Estrella-Delta con Transición Cerrada

Con el fin de evitar la interrupción de una posible corriente elevada en losbobinados cuando se realiza la transición abierta, se pone un juego adicionalde contactos que permiten el ingreso de unas resistencias que darán la con-tinuidad a la conexión. Así, antes de retirar la estrella se ingresan las resisten-cias formando una conexión en paralelo con los bobinados, luego se retira la es-trella haciendo que ahora las resistencias queden en serie y finalmente se ingre-sa la delta con lo cual se puede retirar definitivamente las resistencias del cir-cuito. En la Figura 4.29 se puede observar el diseño para el arranque con tran-sición cerrada. Para mayores detalles sobre las justificaciones, metodologías ydiseños adicionales de arranques el lector se puede remitir a [8].

��"��

��

���������� �������

���(

����

����

����

��

��

���������� �9�� ��

��

� �

��

���� ���� ����

� �

Figura 4.29: Arranque de Motor con Transición Cerrada

Page 114: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

92 CAPÍTULO 4. LÓGICA CABLEADA

4.4.5. Inversión de Giro en Motores

Los métodos para la inversión de giro de un motor dependen de la na-turaleza del mismo, así por ejemplo para un motor de corriente continua sepuede disponer un arreglo de contactos que permitan cambiar la polaridad delrotor con el fin de invertir el sentido de rotación, en los motores monofásicosde baja potencia se dispone de un embobinado principal y uno auxiliar que sedesconecta de forma automática gracias a un interruptor centrífugo y dondepara lograr la inversión es necesario invertir la polaridad de uno de los dosarrollamientos y en los motores trifásicos la inversión se logra invirtiendo laconexión en dos de las tres fases.

En general el diseño de control para estos circuitos de inversión es bási-camente el mismo y la diferencia radica fundamentalmente en las conexionesdel circuito de potencia. Así, el circuito de control debe permitir el ingreso deuna orden de sentido de giro y cambiar el estado de los contactos adecuadospara esa orden, luego ante la orden de cambio de sentido de giro se debe des-energizar el motor por un tiempo prudencial que garantice su reposo antes deingresar la orden de giro en sentido contrario, además se debe garantizar porseguridad que no se puede dar de forma simultánea órdenes de giro contrarias.

En la Figura 4.30 se muestra el circuito de potencia para la inversión enmotores monofásicos y de corriente continua, mientras que en la Figura 4.31se muestra el circuito de control que puede ser igual para ambas aplicaciones.Los pulsadores identificados con la letra F controlan el sentido de giro positivo,mientras los pulsadores con la letra R identifican el sentido de giro negativo.Para el caso de arranque de un motor DC en derivación, al circuito mostrado enla Figura 4.30 se le puede adicionar la parte correspondiente a los contactos queingresan los segmentos de resistencia de arranque, caso en el cual esta parte deldiseño se debe ubicar en paralelo con el relé de temporización.

G

���������� �9�� ���= ���6�+�������

���

���� �

(� ,�

�C �C

����F�

"

� �

���������� �9�� ���= ���6�+�����+��CB����

>

� �

��D���� �����9�

Figura 4.30: Circuitos de Potencia para Inversión de Giro

Page 115: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.5. EJERCICIOS PROPUESTOS 93

Existen muchos otros métodos y procedimientos para arranque e inversiónde giro, los cuales además dependerán del tipo de máquina. Si el lector deseaprofundizar, en [5, 8] podrá encontrar mucho más al respecto.

� ��

���������� �������

��C���

��C

�����C

���

���

��

� ���(

��C�

��"��

���

����

��

Figura 4.31: Circuito de Control para Inversión de Giro

4.5. Ejercicios Propuestos

1. Implementar la función toggle para la activación de una carga ante flan-cos de subida, transiciones desde el estado lógico 0 al 1, si se emplea unpulsador denominado P.

2. Implementar la función tren de pulsos empleando un relé de tempo-rización tipo ON para controlar el tiempo de encendido de la carga yun relé de temporización tipo OFF para controlar el tiempo de apagado.El primer ciclo en la carga debe ser el de encendido.

3. Implementar la función tren de pulsos empleando un relé de tempo-rización tipo OFF para controlar el tiempo de encendido de la carga yun relé de temporización tipo ON para controlar el tiempo de apagado.El primer ciclo en la carga debe ser el de encendido.

4. Si en los puntos 2 y 3 se requiere que la carga inicie apagada, ¿Qué modi-ficaciones se deben realizar?

5. Implementar la función refresco empleando un relé de temporizacióntipo ON.

Page 116: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

94 CAPÍTULO 4. LÓGICA CABLEADA

6. Implementar la función tren de pulsos empleando un único relé de tem-porización de tipo OFF.

7. Implementar un circuito de lógica cableada que realice la activación exac-ta de una carga durante dos ciclos completos de un tren de pulsos. Lacarga debe iniciar apagada.

8. Implementar la activación alternada de cargas para la secuencia A→ B→C→ C.

9. Implementar la activación alternada de cargas para la secuencia B→ A→C→ D→ C→ A.

10. Implementar la activación alternada de cargas para la secuencia A→ A→B→ B empleando la función contador de pulsos.

11. Implementar la activación alternada de cargas para la secuencia A→ A→B→ C empleando la función contador de pulsos.

12. Implementar la activación alternada de cargas para la secuencia A→ A→B→ C con base en la secuencia A→ B→ C→ D.

13. Implementar el encendido secuencial de cargas para M2↑, M1↑, M3↑,M3↓, M1↓, M2↓.

14. Implementar un circuito de control para el arranque del motor DC de laFigura 4.25 si los contactos 1A y 2A son normalmente cerrados y se deseaemplear únicamente relés de temporización de tipo ON.

15. Implementar un circuito de control para el arranque del motor DC de laFigura 4.25 si el contacto 1A es normalmente cerrado y se desea emplearúnicamente relés de temporización de tipo OFF.

16. Por un pasillo largo solo puede circular una persona a la vez, por tanto seha dispuesto de un sistema de control que permita indicar a las personasque llegan si pueden ingresar. En cada extremo se ha ubicado un sensorfotoeléctrico a la entrada y un semáforo con luz roja y verde que permiteindicar si se puede ingresar o no. El sistema debe iniciar con los semáforosde ambos sentidos en verde, pero una vez una persona llega en un senti-do se activa el sensor correspondiente y se fijan los dos semáforos en rojo.Cuando la persona sale por el lado opuesto, y ante la activación del sen-sor adecuado, se fijan nuevamente los semáforos en verde. Se asume queel tráfico es muy bajo y que en ningún caso habrá personas que puedeningresar simultáneamente desde ambos lados.

17. Ajustar el diseño del punto anterior si se desea que una vez salga unapersona del pasillo los semáforos esperen 3 segundos antes de pasar averde. Para este nuevo diseño, usar un único relé de temporización deltipo deseado.

Page 117: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

4.5. EJERCICIOS PROPUESTOS 95

18. Ajustar el diseño del punto 16 si se desea permitir un máximo de dospersonas en el mismo sentido. Para ello el semáforo del sentido de ingre-so actual debe permanecer en verde si sólo existe una persona dentro delpasillo y pasar a rojo sólo cuando ingrese la segunda. Tener en cuenta quesi sale una persona, pero queda otra, el semáforo en el sentido de ingresoactual debe pasar a verde.

19. Sobre una cinta transportadora se vierte mineral que se transporta hastaun depósito final. Se dispone de un pulsador de arranque (A) y de unode paro (P), ambos normalmente abiertos. Una vez se pulsa A la ban-da transportadora inicia su circulación, pero se retarda 10 segundos elvertimiento del mineral. Finalmente cuando se pulsa P el vertimiento sesuspende inmediatamente, pero la banda circula por otros 10 segundos.Implementar el diseño del circuito de control para este sistema emplean-do un relé de temporización tipo ON para el retardo indicado con el pul-sador A y un relé de temporización tipo OFF para el retardo indicado conel pulsador P.

20. Diseñar el mismo circuito de control para el sistema del punto 19 si única-mente se puede emplear un solo relé de temporización del tipo adecuado.

Page 118: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

96 CAPÍTULO 4. LÓGICA CABLEADA

Page 119: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Bibliografía

[1] Chapman, Stephen J.Máquinas Eléctricas, Segunda Edición.McGraw-Hill, 1993. ISBN 958-600-125-3.

[2] Delhaye, C.Concepción Lógica de Automatismos Industriales.Marcombo, 1971. ISBN 26.676-1968.

[3] Hackworth, Jhon R. Hackworth, Feredirck D. Jr.Programmable Logic Controllers: Programming Methods and ApplicationsPrentice Hall, 2003.

[4] Manual Electrotécnico, Telesquemario.Tecnologías de Control Industrial.Schneider Electric España S.A., 1999. Depósito Legal B. 00.000-99.

[5] Montoya Rivera, Duvan. Ocampo Torres, Carlos Alberto.Conceptos de Relevación Industrial y Diseños para el Laboratorio.Proyecto de Grado, Universidad Tecnológica de Pereira, 1999. Director JoséEyder Tabares.

[6] Pallás Arenas, Ramón.Sensores y Acondicionamiento de Señal, Tercera Edición.Alfaomega marcombo, 2001. ISBN 970-15-0577-8.

[7] Parr, E.A.Programmable Controllers, An enginner´s guide, Third Edition.Newness. 2003. ISBN 0-7506-5757-X.

[8] Siskind, Charles S.Sistemas Industriales de Regulación Eléctrica.Editorial Labor, 1968. Depósito Legal B. 12 288-1968.

97

Page 120: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 121: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 5

Redes de Petri

5.1. Marco Introductorio

Las Redes de Petri fueron introducidas inicialmente por el Dr. Carl AdamPetri en el año de 1962 para su disertación doctoral en la facultad de Matemáti-cas y Física del Technical University of Darmstadt, en Alemania Occidental [9,10]. El éxito de las Redes de Petri radica en la amplitud de diferentes sistemasque se pueden modelar bajo esta misma técnica, entre los cuales se pueden in-cluir: sistemas asíncronos, concurrentes, paralelos, no determinísticos, secuen-ciales, de eventos discretos, distribuidos, estocásticos, entre otros.

Cuando se hace referencia concreta a la automatización industrial, es im-portante resaltar como en estos sistemas se puede encontrar una gran variedadde subsistemas de naturaleza diferente. Éste puede ser el caso de un sistema demanufacturación donde se realizan varios procesos en paralelo, pero a la vezse requiere de la sincronización para el inicio o fin de ciertas tareas; ademásmuchas veces los procesos deben utilizar una cantidad limitada de recursoscon lo cual deben competir por ellos y determinar posibles situaciones de prio-ridad entre los mismos procesos, otras veces los sistemas están restringidosen su capacidad de procesamiento o de prueba con lo cual se presentan situa-ciones de capacidades limitadas y en otros escenarios aún más complejos sepuede presentar situaciones donde las materias primas, productos a probar,etc. arriban a las líneas de proceso de forma aleatoria. Todos estos planteamien-tos se suman al tradicional enfoque de procesos en secuencia ordenada, dondeuna acción es claramente identificada y su fin implica el inicio de una subsi-guiente [7].

Las Redes de Petri se presentan como una poderosa herramienta capaz demodelar de forma gráfica y matemática todos estos sistemas de diferentes na-turalezas. Su representación gráfica permite una visualización clara de los sis-temas, además de facilitar su posterior descripción mediante otras metodolo-gías tales como: máquinas de estados, diagramas de flujo, gráficos marcados,diagramas de bloques, diagramas escalera, diagramas de descripción secuen-

99

Page 122: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

100 CAPÍTULO 5. REDES DE PETRI

cial, etc. La representación matemática de las Redes de Petri se basa en un mo-delo matricial-vectorial que además de describirlas permite su estudio, análisisy abstracción de sistemas complejos.

Las Redes de Petri (RdP), tal como fueron introducidas inicialmente, no in-cluían el concepto de tiempo, por lo que luego surgieron las denominadas Redesde Petri Temporizadas con el fin de poder analizar aquellos sistemas que depen-den de esta variable. Como además el tiempo también puede tomar valoresdeterminísticos o valores aleatorios se introdujo luego los modelos de Redes dePetri Determinísticas y de Redes de Petri Estocásticas [2]. El objeto principal delpresente capítulo es la presentación de una introducción general a las Redes dePetri enfocadas hacia el estudio de los Sistemas de Eventos Discretos, los cualesson procesos que pueden ser modelados de forma completa con base en unaconcepción donde los estados son discretos y donde el cambio de un estado aotro es una respuesta a eventos que ocurren a intervalos discretos y además sinninguna regularidad [5].

Entre ejemplos de sistemas de eventos discretos se tienen las colas, las cualesrepresentan a aquellos sistemas donde se tiene un recurso dado que ofrece unservicio a ciertos clientes y donde se puede presentar la situación de tener unpromedio de tiempo de atención inferior al tiempo promedio de llegada denuevos clientes, ocasionando con ello la acumulación de estos últimos en loque se denomina una cola. En los sistemas reales esta situación está bien repre-sentada, por ejemplo, en los puntos de pago de almacenes de cadena, ventani-llas de atención a usuarios, etc. y en sistemas tales como líneas de fabricaciónque se interconectan y comparten recursos, servidores de comunicación, sis-temas de cómputo con uno o varios núcleos de procesamiento, control generalde tráfico, etc.

5.2. Definición y Presentación de las RdP

Las RdP constan de tres componentes denominados como Lugares (ele-mentos pasivos), Transiciones (elementos activos) [6] y Arcos (elementos conec-tivos), donde los lugares están relacionados con estados, condiciones, recursos,esperas, etc. y en conjunto reciben la denominación P y se representan por cír-culos; las transiciones están relacionadas con eventos, acciones, ejecución desentencias, etc. y en conjunto reciben la denominación T y se representan porrectángulos o segmentos de línea; y los arcos unen lugares con transiciones ytransiciones con lugares, más no dos lugares o dos transiciones entre sí, y serepresentan por segmentos orientados de línea a los cuales se les asocia de for-ma individual un peso (k) que es un valor entero positivo y el cual se puedeinterpretar como un conjunto de k arcos en paralelo. El conjunto de todos losarcos que unen lugares con transiciones y transiciones con lugares se designapor F y a la función de peso asignada a cada arco se le denomina W .

Para designar el estado actual de la red se emplea una serie de Marcas, tam-bién denominadas Tokens, y las cuales se representan usualmente por una seriede puntos negros ubicados al interior de cada lugar. El número de marcas ac-

Page 123: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.2. DEFINICIÓN Y PRESENTACIÓN DE LAS RDP 101

tuales en cada lugar representa el marcado actual de la red M , el cual es unvector de tamaño igual al número de lugares que conforman la red con unvalor en la i-ésima posición igual al número de marcas del i-ésimo lugar. Elmarcado inicial de la red, indicando el estado de la red al inicio, se denominaM0.

Una vez presentados los elementos de una RdP se puede realizar ahorala definición formal de la siguiente forma: Una RdP es una quíntupla PN ={P, T, F, W, M0} donde [2, 4, 5, 6, 10]:

P = {p1, p2, pi, ..., pm} es el conjunto finito de lugares de la red

T = {t1, t2, , tj , ..., tn} es el conjunto finito de transiciones de la red

F ⊆ (P x T ) ∪ (T x P ) es el conjunto de arcos que definen el flujo de lared

W : F → {1, 2, 3, ...} es la función de peso

M0: P → {0, 1, 2, 3, ...} es el marcado inicial de la red

Además, los lugares y transiciones deben cumplir que: P ∩ T = ∅ y T ∩ P =∅. La estructura de una RdP sin un marcado inicial se nota por la cuádruplaN = {P, T, F, W}, y esta misma red con un marcado inicial también se puedenotar como PN = {N, M0}.

En una RdP, para un lugar pi previo a una transición tj se dice que pi es unLugar de Entrada a la transición tj y además que están unidos por un Arco deEntrada a dicha transición. Para un lugar pi posterior a una transición tj se diceque pi es un Lugar de Salida de la transición tj y además que están unidos porun Arco de Salida de dicha transición.

El comportamiento de un sistema está representado en todo instante por elmarcado actual de la red, siendo este marcado indicativo del estado y los cam-bios que se presentan en el sistema. La evolución en el marcado se rige por lassiguientes reglas de transición:

1. Una transición tj está Sensibilizada si cada lugar de entrada pi a ella estámarcado con mínimo w (pi, tj) tokens, dondew (pi, tj) es el peso del arcode entrada que une a pi con tj .

2. Una transición sensibilizada puede ser Disparada dependiendo de si suevento asociado ocurre.

3. El disparo de una transición sensibilizada remuevew (pi, tj) marcas o to-kens de cada lugar de entrada a la transición y adiciona w (tj , pi) marcasa cada lugar de salida de la transición, donde w (tj , pi) es el peso del arcode salida que une a tj con pi.

La Figura 5.1 es un ejemplo de una RdP y en ella se puede observar claramentelos elementos constitutivos de la misma.

Page 124: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

102 CAPÍTULO 5. REDES DE PETRI

�,

�(

�- �/ �1

�.

�(

�,

�/�.

�- ,

Figura 5.1: Elementos de una Red de Petri

En la Figura 5.1 el peso del arco que une el lugar P4 con t4 tiene un valorde 2, pero el peso en los demás arcos es de 1, caso en el cual de forma ge-neralizada se omite poner textualmente el valor de este peso en cada uno delos demás arcos. En esta red sólo el lugar P4 tiene marcas al inicio por lo queel vector de marcado inicial en este caso es: M0 = {0, 0, 0, 2, 0, 0} el cualdenota claramente la existencia de 2 marcas en el lugar 4 y ninguna para losdemás. Si la transición t1 se dispara1 aparece una marca en el lugar 1 y dalugar al marcadoM1 = {1, 0, 0, 2, 0, 0}. Ahora se puede disparar únicamentela transición t2 ya que las demás no se encuentran sensibilizadas. Al disparart2 el nuevo marcado ahora esM2 = {1, 1, 0, 2, 0, 0}. Teniendo sensibilizada latransición t3, una vez ocurre su disparo se retira una marca de cada uno de loslugares de entrada a ésta (P1 y P2) y se pasa una marca al lugar de salida (P3)y se obtiene el marcado M3 = {0, 0, 1, 2, 0, 0}. Ahora se tiene sensibilizadala transición t4 y cuando ocurre su disparo se retira una marca del lugar P3 ydos marcas del lugar P4 y se pasa una marca al lugar P5. Estas secuencias dedisparos ocurren siguiendo fielmente las tres reglas de evolución enunciadaspreviamente y arrojan un nuevo marcado M4 = {0, 0, 0, 0, 1, 0}.

5.3. Tipos de Transiciones y Lugares

Cuando una transición no posee ningún lugar de entrada se dice que esuna Transición Fuente y en este caso sólo se requiere que ocurra su evento aso-ciado para poder ser disparada, similarmente, cuando una transición no poseeningún lugar de salida se dice que es una Transición Sumidero y cuando se dis-para sólo se remueven marcas de los lugares de entrada previos a ella [10]. Enla Figura 5.2 se muestra una red donde la transición t1 es de tipo fuente y la t3de tipo sumidero. De forma análoga, existen los Lugares Fuente (que no estánconectados a ninguna transición de entrada) y Lugares Sumidero (que no estánconectados a ninguna transición de salida).

1Por ahora se asume que esta transición se puede disparar sin importar el hecho de no poseerningún lugar de entrada, aunque más adelante se especifica que ésta es un tipo especial de transi-ción la cual sólo requiere del cumplimiento de su evento asociado para ser disparada.

Page 125: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.4. ALCANZABILIDAD Y SECUENCIA DE DISPARO 103

�� ���� ����

Figura 5.2: Transiciones Fuente y Sumidero

Un lugar puede tener indistintamente varios arcos de entrada y/o variosarcos de salida y recibe de forma general el nombre de Nodo OR. Si en un nodoOR sólo existe un arco de entrada pero varios arcos de salida, recibe el nombrede Nodo de Selección. Si en un nodo OR existen varios arcos de entrada peroun sólo arco de salida, recibe el nombre de Nodo de Atribución [5, 11]. En laFigura 5.3 se muestra la representación general para cada uno de estos trestipos de nodos.

Nodo OR Nodo de Selección Nodo de Atribución

Figura 5.3: Tipos de Nodos OR

Una transición puede tener indistintamente varios arcos de entrada y/ovarios arcos de salida y recibe el nombre general de Nodo AND. Si en un no-do AND sólo existe un arco de entrada pero varios arcos de salida, recibe elnombre de Nodo de Distribución. Si en un nodo AND existen varios arcos deentrada pero un solo arco de salida, recibe el nombre de Nodo de Conjunción[5, 11]. En la Figura 5.4 se muestra la representación general para cada uno deestos tres tipos de nodos.

Nodo AND Nodo de Distribución Nodo de Conjunción

Figura 5.4: Tipos de Nodos AND

5.4. Alcanzabilidad y Secuencia de Disparo

Con base en las reglas de la evolución para el marcado, cada vez que unatransición sensibilizada se dispara ocasiona un cambio en el marcado de la red.Por tanto, a partir de un marcado inicial M0 y realizando una secuencia de ndisparos posibles se llega a un marcado final Mn para el cual fue necesariorealiza la secuencia t1, t2, ... , tn y que se denota como σ = {t1, t2, ... , tn}T .En general se dice que un marcado Mn es Alcanzable desde un marcado inicialM0 si existe una Secuencia de Disparo σ que permita a la evolución del marcadollegar a Mn desde M0.

Page 126: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

104 CAPÍTULO 5. REDES DE PETRI

5.5. Propiedades de las RdP

5.5.1. RdP Limitada

Una red de Petri PN = {N, M0} se dice que es k-limitada cuando el númerode marcas en cada uno de los lugares de la red no supera un número finito kpara cualquier marcado alcanzable a partir del marcado inicial. Esta caracterís-tica garantiza que no se presenta problema de desbordamiento en el marcadopara ninguno de los lugares.

El máximo número de marcas para cada uno de los lugares de una red essu Capacidad, por lo que se dice que un lugar está limitado si su capacidad esfinita. En la Figura 5.5, con un marcado inicial M0 = {1, 0, 0} al disparar t1 elmarcado que se obtiene es M1 = {0, 1, 1}, si luego se dispara t2 se obtiene elmarcadoM2 = {1, 0, 1} y repitiendo esta misma secuencia de disparo k veces,al final, se obtiene un marcado Mk = {1, 0, k} con lo cual se puede verificarque la red es No Limitada debido a que el número de marcas en el lugar P3puede crecer de forma no controlada (Mk (3) = k); aunque con disparos de latransición t3 se puede controlar un posible desbordamiento, la ocurrencia desu evento asociado no se garantiza de forma oportuna.

�(

�,

�-

�(

�,

�-

Figura 5.5: RdP No Limitada

A una red de Petri que es 1-limitada se le denominada RdP Segura. Portanto, una RdP es segura si cada lugar de la red es seguro.

5.5.2. RdP Viva

Una red de Petri PN = {N, M0} se dice que es viva si, una vez alcanzadoun marcado cualquiera desde M0, siempre es posible disparar cualquier tran-sición de la red mediante una secuencia progresiva y adecuada de disparos.Con frecuencia esta propiedad se relaciona directamente con la no existenciade puntos muertos dentro de la red que ocasionen la imposibilidad de poderdisparar cualquier transición. En la Figura 5.6 se muestra un ejemplo de unared que no cumple esta propiedad, mientras que la Figura 5.5 es un ejemplo deuna RdP viva.

En la Figura 5.6, inicialmente sólo se puede disparar la transición t1 conlo cual quedan marcas en los lugares P2, P3 y P4 (Figura 5.7-a), luego sólo es

Page 127: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.5. PROPIEDADES DE LAS RDP 105

posible disparar la transición t3 con lo cual ahora las marcas están en los lu-gares P2 y P5 (Figura 5.7-b), seguidamente sólo está sensibilizada la transiciónt2 y la cual al ser disparada deja la red únicamente con una marca en el lugarP4 (Figura 5.7-c); con la red en este marcado no se tiene ninguna transiciónsensibilizada y se alcanza un punto muerto.

�(

�,

�-

�(

�,

�-

�. �/

Figura 5.6: RdP No Viva

�(

�,

�-

�(

�,

�-

�.�/ �(

�,

�-

�(

�,

�-

�.�/ �(

�,

�-

�(

�,

�-

�.�/

:< :8< :�<

Figura 5.7: RdP No Viva en Punto Muerto

Además de la propiedad de Viva en una red de Petri, se definen variosniveles de vivacidad para una transición en una PN = {N, M0}, así:

Nivel 0: Se dice que una transición es L0-Viva si nunca puede ser disparadapara cualquier secuencia de disparo desde M0.

Nivel 1: Se dice que una transición es L1-Viva si puede ser disparada al menosuna vez en alguna secuencia de disparo desde M0.

Nivel 2: Se dice que una transición es L2-Viva si existe un número entero po-sitivo, l, el cual representa la cantidad mínima de veces que esta se puededisparar en alguna secuencia de disparo desde M0.

Nivel 3: Se dice que una transición es L3-Viva si se puede disparar indefinida-mente para alguna secuencia de disparo desde M0.

Page 128: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

106 CAPÍTULO 5. REDES DE PETRI

Nivel 4: Se dice que una transición es L4-Viva si es L1-Viva para todo marca-do alcanzable desde M0. Se debe observar que si para una transición secumple que es L4-Viva, esto implica que es L3-Viva, y si es L3-Viva im-plica que es L2-Viva y finalmente si es L2-Viva implica que es L1-Viva.Lo anterior solo implica que si una transición es de nivel mayor entoncesse cumple que es de nivel menor, más no lo contrario.

5.5.3. RdP Reversible

Una red de Petri PN = {N, M0} es reversible si para todo marcado alcan-zable Mk, es posible alcanzar nuevamente M0. Se define además una clase es-pecial de redes donde no necesariamente se regresa al estado inicial, sino a unestado determinado diferente del inicial y que se denomina como Estado Resi-dente [2, 10]. La Figura 5.8 es un ejemplo de una red reversible, ya que siemprees posible volver al marcado inicial sin importar el marcado que se alcance.

�/

�.

�1

�,

�-

�.�(

�,

�-

�(

�/

Figura 5.8: RdP Reversible

Las tres propiedades enunciadas hasta ahora (RdP Limitada, Viva y Re-versible) son independientes entre sí, lo cual implica que si una red cumpleuna de ellas no necesariamente cumple alguna de las otras.

5.5.4. RdP Binaria

Una red de Petri PN = {N, M0} es binaria si es 1-Limitada. Ésta es unaclase especial de red de Petri Limitada donde el número máximo de marcasen cada lugar es siempre uno. Este tipo especial de red es el fundamento delos sistemas de diseño para autómatas programables y lógica cableada [5]. Lasredes representadas en las Figuras 5.6 y 5.8 son ejemplos de redes Binarias, yaque en todo instante el número máximo de marcas en cada uno de los lugareses 1.

5.5.5. RdP Conforme

Una red de Petri PN = {N, M0} es conforme si es Binaria y Viva. La redde la Figura 5.6 es un ejemplo de una red que no es conforme, mientras que lared de la Figura 5.8 si lo es.

Page 129: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.5. PROPIEDADES DE LAS RDP 107

5.5.6. RdP Persistente

Una red de Petri PN = {N, M0} es persistente si dos transiciones cua-lesquiera que están sensibilizadas permanecen de igual forma hasta su respec-tivo disparo. Esto implica que si se dispara una de las transiciones, entoncesla otra continúa sensibilizada [10]. La red de la Figura 5.8 es un ejemplo deuna red persistente, ya que luego de disparar la transición t1 quedan marcasen los lugares P2 y P3 y por ende están sensibilizadas las transiciones t2 y t3,permaneciendo en este estado hasta que cada una sea disparada, sin importarqué pase con la otra. En la Figura 5.9 se muestra un ejemplo de una red que noes persistente, ya que una vez se dispara t1 se logra que las transiciones t2 yt3 estén sensibilizadas, pero si se dispara luego la transición t3 ocasiona que latransición t2 deje de estar sensibilizada.

�/

�.

�1

�,

�-

�(

�,

�-

�(

�1

�.

�/

Figura 5.9: RdP No Persistente

5.5.7. RdP Conservativa

Una red de Petri PN = {N, M0} es conservativa si el número total de mar-cas es siempre una constante para todo marcado alcanzable desde M0. Estapropiedad implica que la suma de marcas en cada uno de los lugares de la red,incluyendo durante el marcado inicial, es una constante sin importar el mar-cado que se alcance. En la Figura 5.10 se puede observar un ejemplo de unared conservativa, donde en todo instante siempre existe un total de 2 marcasdentro de toda la red.

�/

�.

�1

�,

�-

�.�(

�,

�-

�(

�/

, ,

Figura 5.10: RdP Conservativa

Page 130: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

108 CAPÍTULO 5. REDES DE PETRI

5.6. RdP Interpretada

Ya se han mencionado muchas de las aplicaciones donde se emplean lasredes de Petri como elemento descriptivo o de modelamiento para un sistemafísico particular. Cuando una RdP se asocia como elemento descriptivo de laestructura de un sistema, tal que cada transición representa una condición físi-ca para la evolución y cada lugar las acciones a realizar producto de la mismaevolución, se dice que la RdP es Interpretada. Si una RdP es interpretada y/osu evolución es una función del tiempo se dice que es una RdP No Autónoma[5, 11].

En general, cuando a una RdP no se le asocia ninguna interpretación se diceque es una RdP Autónoma.

5.7. RdP Autónoma

5.7.1. RdP Generalizada

Una red de Petri generalizada es una RdP Autónoma que está formada porla cuádrupla NG = {P, T, α, β}, donde:

P = {p1, p2, pi, ..., pm} es el conjunto finito de lugares de la red

T = {t1, t2, , tj , ..., tn} es el conjunto finito de transiciones de la red

α: (P x T ) → {1, 2, 3, ...} es la función de incidencia previa

β: (T x P ) → {1, 2, 3, ...} es la función de incidencia posterior

En la anterior cuádrupla, existe un α(pi, tj) �= 0 si hay un arco que va desdeel lugar pi a la transición tj y con valor igual al peso de dicho arco. Ademásexiste un β(tj , pi) �= 0 si hay un arco que va desde la transición tj al lugar pi ycon valor igual al peso de dicho arco.

5.7.2. RdP Ordinaria y Pura

Una RdP generalizada es Ordinaria si sus funciones de incidencia previa yposterior sólo toman valores en el conjunto {0, 1}. Además una RdP generali-zada es Pura si ninguna transición está conectada a un mismo lugar tal que eselugar sea simultáneamente de entrada y salida para la transición, es decir, paratoda transición tj y cada lugar pi se debe cumplir que:

α(pi, tj)β(tj , pi) = 0

Cuando en una RdP existe un lugar que es simultáneamente de entrada y sali-da para una transición, se dice que ese lugar es un lugar en auto-lazo.

Page 131: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.8. RDP EXTENDIDA 109

5.8. RdP Extendida

Una RdP Extendida es aquella donde existe una nueva clase de arco de-nominado Arco Inhibidor, el cual une estrictamente lugares con transiciones yse distingue gráficamente de un arco estándar por un pequeño círculo en laposición de la flecha de orientación. Cuando a una transición llega un arcoinhibidor, para que se encuentre sensibilizada se requiere la no presencia demarcas en el lugar de entrada conectado por dicho arco inhibidor.

En la siguiente figura se muestra un ejemplo de la forma como opera el arcoinhibidor. En la Figura 5.11-(a) la transición t1 no se encuentra sensibilizadadado que existe una marca en el lugar de entrada P2 conectado mediante unarco inhibidor, sin embargo en la Figura 5.11-(b) la transición si se encuentrasensibilizada dado que no existe ninguna marca en P2 y por tanto puede serdisparada, caso en el cual se retira la marca de P1 y pasa una marca a P3.

�(

�,

�-�(

�(

�,

�-�(

:< :8<

Figura 5.11: Arco Inhibidor

5.9. Modelamiento de Procesos

Se introducen de forma general diferentes arquitecturas comunes para la re-presentación de diversos sistemas físicos mediante su modelamiento con baseen redes de Petri. La mayoría de estos sistemas son de gran importancia a la ho-ra de implementar diferentes aspectos de un automatismo industrial, y ademásglobalmente la unión adecuada de varias de estas arquitecturas puede ayudaren la definición total de un sistema.

5.9.1. Arquitectura Secuencial

Esta arquitectura corresponde a la representación de sistemas donde, deforma definida, a la realización de una tarea específica sigue otra luego decumplirse un evento que permite la evolución. En la Figura 5.12 se muestraun esquema general para esta arquitectura.

Page 132: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

110 CAPÍTULO 5. REDES DE PETRI

�-�, �-�( �,�(

Figura 5.12: Arquitectura Secuencial

5.9.2. Arquitectura de Decisión

Esta arquitectura corresponde a un nodo de selección donde mediante lapresencia de varias transiciones sensibilizadas simultáneamente, luego de lamarca en un lugar de entrada común, se puede describir un sistema que rea-liza la activación de un determinado evento de entre varios posibles. A estaarquitectura también se le denomina Conflicto o Selección.

En la Figura 5.13 se muestra un esquema general para esta arquitectura,donde en cada transición debe existir la sintaxis adecuada que impida el dis-paro simultáneo de más de una de las transiciones o, de forma concreta, cadaevento asociado a una transición en arquitectura de decisión debe ser mutua-mente excluyente con los demás eventos en las transiciones de salida para elnodo de selección.

�(

�(

�,

�-

�.

�,

�-

Figura 5.13: Arquitectura de Decisión o de Conflicto

5.9.3. Arquitectura Paralela

Dos o más eventos se definen como en paralelo, o concurrentes si, desdeun punto inicial de sincronismo, su ejecución se inicia simultáneamente. Estaarquitectura corresponde a la activación paralela de tareas de los sistemas decómputo y desde el punto de vista de un RdP se puede implementar con inicioen un nodo de distribución, el cual realiza la función de sincronización y luegoda paso a la ejecución de cada uno de los lugares donde se lleva a cabo lastareas paralelas.

�(

�,

�-

�.�(

Figura 5.14: Arquitectura Paralela o Concurrente

Page 133: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.9. MODELAMIENTO DE PROCESOS 111

En la arquitectura de la Figura 5.14 es evidente que una vez la transiciónt1 se dispara ocurre la sincronización de inicio en la ejecución de las tareasrelacionadas con los lugares de salida de dicha transición.

5.9.4. Arquitectura de Confusión

Ésta es una clase especial de arquitectura que mezcla la arquitectura deconflicto con la concurrente. Para este tipo de estructura existen dos clases dis-tinguibles de implementación, la primera es la Confusión Simétrica donde doseventos son concurrentes entre sí pero ambos están en conflicto con un tercero,ver Figura 5.15. La segunda clase es la Confusión Asimétrica, donde dos eventosson concurrentes entre sí, pero uno cualquiera de ellos está en conflicto con untercero en caso de disparo del otro, ver Figura 5.16 [10].

�(

�( �,

�, �-

Figura 5.15: Arquitectura de Confusión Simétrica

�(

�(

�-

�,

�-

�, �.

Figura 5.16: Arquitectura de Confusión Asimétrica

En la Figura 5.15 t1 y t3 son concurrentes, pero ambos están en conflicto cont2, esto es, t1 y t3 pueden ocurrir ambos sin importar que sucede con el otro,pero t1 y t3 no pueden ocurrir si antes ocurre t2, de igual forma t2 no puedeocurrir si antes ocurre t1 o t3.

En la Figura 5.16 t1 es concurrente con t2, pero está en conflicto con t3 encaso de un disparo previo de t2, ya que en esta situación el disparo de t1 impideel disparo de t3 y viceversa.

Page 134: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

112 CAPÍTULO 5. REDES DE PETRI

5.9.5. Arquitecturas de Sincronización

En el modelamiento de diferentes procesos industriales, siempre está pre-sente la necesidad de sincronizar diferentes eventos dependiendo de la evolu-ción u ocurrencia de eventos anteriores. La arquitectura paralela es la formamás simple de sincronización para el inicio de varios eventos, sin embargo exis-ten muchas otras arquitecturas que permiten la implementación de sincroniza-ciones de diversa naturaleza, entre las cuales se encuentran las siguientes [5]:

Punto de Encuentro Simple En esta arquitectura se requiere que dos ramassecuenciales se encuentren en un mismo punto antes de iniciar la eje-cución de otros eventos posteriores y concurrentes. En la Figura 5.17 sepuede observar como se requiere del cumplimiento del evento t3 antesde poder iniciar con la evaluación de los eventos concurrentes t4 y t5.

�(

�.

�.�-

�,

�( �,

�/

�-

Figura 5.17: Arquitectura de Punto de Encuentro Simple

Punto de Encuentro Simétrico Esta arquitectura se basa en dos ramas secuen-ciales, de tal forma que en un punto dado una rama se sincroniza con laotra y viceversa, esto es, la ejecución de un evento de una rama requiereque la otra ya se encuentre en una situación dada. En la Figura 5.18, eldisparo de t3 está sincronizado con el cumplimiento previo de t2 y deigual forma el disparo de t4 está sincronizado con el cumplimiento pre-vio de t1, sin embargo, es importante resaltar como una vez que ocurret1 y t2 el disparo de t3 y t4 es independiente uno del otro.

�(

�-

�-�,

�( �,

�.

�.

Figura 5.18: Arquitectura de Punto de Encuentro Simétrico

Page 135: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.9. MODELAMIENTO DE PROCESOS 113

Punto de Encuentro Asimétrico En esta arquitectura una rama secuencial sesincroniza con otra y luego ésta última con la primera. En la Figura 5.19 sepuede observar como inicialmente t2 requiere previamente de t1 y luegot3 requiere de t2.

�(

�-

�,

�-

�(

�,

Figura 5.19: Arquitectura de Punto de Encuentro Asimétrico

Semáforo Ésta es una arquitectura de encuentro, pero en este caso sólo unaprimera rama secuencial se sincroniza con una segunda sin que ésta úl-tima se sincronice con la primera. En la Figura 5.20 se puede observarcomo t4 requiere del disparo previo de t1, sin embargo t3 es totalmenteindependiente de t2.

�(

�-

�-�,

�( �,

�.

Figura 5.20: Arquitectura de Semáforo

5.9.6. Arquitectura para Recurso Compartido

Una de las concepciones más simples de un recurso compartido se presentacuando una parte de algún sistema debe ser usada en varios procesos que debeacceder en forma controlada a su uso y notificar su liberación para permitir suposterior empleo en otro proceso. De forma natural se puede presentar estanoción en los sistemas de cómputo con un solo procesador pero con múltiplestareas a realizar, donde cada vez que se genera una tarea ésta puede acceder alprocesador siempre y cuando se encuentre libre, en caso de estar libre se debecrear algún tipo de notificación que impida el acceso al procesador por partede otra tarea, e igualmente crear otra notificación cuando se libere el recurso.En caso que una nueva tarea encuentre el procesador ocupado, debe esperarpor la notificación de liberación de recurso para poder acceder a éste. Otra no-ción de recurso compartido normalmente presente en los sistemas industriales

Page 136: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

114 CAPÍTULO 5. REDES DE PETRI

es la necesidad de compartir brazos robóticos o bandas transportadoras en larealización de varias funciones.

En la Figura 5.21, P5 posee una marca inicial, notificando que el recurso seencuentra libre, con lo cual el primer evento que ocurra entre t3 y t4 puedeusarlo y por ende quita la marca de P5 creando así la notificación de recursoocupado. Las transiciones t5 y t6 indican el fin de utilización de dicho recursoy regresan una marca a P5 creando la notificación de recurso libre y listo paraser usado nuevamente. Las transiciones t1 y t2 indican la llegada de una nuevatarea o solicitud al sistema desde dos puntos diferentes.

�(

�-

�-

�,

�( �,

�.

�.

�/

�/ �1

Figura 5.21: Arquitectura de Recurso Compartido

5.9.7. Arquitectura Lectura-Escritura

Ésta es una arquitectura que permite la realización de una de dos tareasposibles por parte de algún recurso y con la restricción que cuando una de lastareas se realiza la otra no se puede ejecutar. Esta arquitectura corresponde aun mismo recurso compartido que realiza dos acciones diferentes y que porende cuando ejecuta una de ellas no puede realizar la otra. Una forma natu-ral de visualizar esta arquitectura es una unidad de lectura-escritura la cualaunque realiza ambas tareas solo puede ejecutar una a la vez. Desde un puntode vista industrial, muchas máquinas presentan la capacidad de realizar dostareas diferentes pero la ejecución de alguna impide la realización de la otra[5, 10].

En la Figura 5.22 se observa esta arquitectura, la cual se basa en una ar-quitectura de recurso compartido, pero con la salvedad que ahora sólo existeun único punto de llegada de solicitudes las cuales son procesadas adecuada-mente de acuerdo a su naturaleza mediante las transiciones t2 y t3.

Page 137: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.9. MODELAMIENTO DE PROCESOS 115

�(�-

�-�,

�(

�,

�.

�.

�/

Figura 5.22: Arquitectura de Lectura-Escritura

5.9.8. Arquitectura Productor-Consumidor

Esta arquitectura representa a los sistemas donde claramente una divisióndel mismo realiza acciones de producción y otra realiza las acciones de con-sumo. Esta relación se puede visualizar de forma clara en los sistemas de pro-ducción-consumo, fabricación-empaque, fabricación-pruebas, etc., donde evi-dentemente la razón a la cual se realiza la primera acción es diferente a la razóna la cual se ejecuta la segunda. Por ejemplo, en la Figura 5.23, se puede repre-sentar un sistema donde el lado izquierdo realiza la producción y el lado dere-cho consume, así entonces en el centro de la arquitectura se representa unaespecie de almacén donde permanecen los ítems fabricados hasta el instanteen el cual son demandados para consumo. Este almacén, dependiendo de sunaturaleza, también puede recibir el nombre de depósito, buffer, etc.

�(

�.

�.�-

�(

�-

�/

�/

�1

�,

�,

Figura 5.23: Arquitectura Productor-Consumidor

Page 138: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

116 CAPÍTULO 5. REDES DE PETRI

5.9.9. Arquitectura Productor-Consumidor con Prioridad

Esta arquitectura representa la situación donde a un consumidor se le pro-vee prioridad sobre otro. En la Figura 5.24 se puede observar como el consumi-dor del lado izquierdo posee prioridad sobre el del lado derecho, ya que puedeconsumir primero que el del lado derecho siempre y cuando tenga provisión ensu almacén. El consumidor del lado derecho sólo consume si posee provisióny además si el del lado izquierdo no tiene su provisión respectiva.

�(

�.

�.�-

�(

�-

�/

�/

�1

�,

�, �1

�('

�3�2

�0

�3

�((

�('

�2

�0

�(,

Figura 5.24: Arquitectura Productor-Consumidor con Prioridad

5.9.10. Arquitectura para Capacidad Limitada

En los sistemas reales los almacenes, depósitos, buffers, etc. poseen capaci-dad límite de almacenamiento o de procesamiento. Las redes de Petri brindanuna forma efectiva de modelamiento de este tipo de restricciones de los sis-temas reales, en contraposición con otros sistemas de modelamiento donde es-tas condiciones son difíciles de implementar [2, 5]. Para el modelamiento decapacidad se emplea un lugar adicional con tantas marcas iniciales como ca-pacidad tiene el recurso en cuestión; este lugar debe estar conectado por arcoshacia la porción de red que a su vez implementa el recurso limitado. Si en el sis-tema productor-consumidor de la Figura 5.23 se desea modelar una capacidadpara el almacén, el sistema resultante es el mostrado en la Figura 5.25, dondeademás se ha impuesto como restricción de capacidad en el almacén un totalde 4 productos mediante el nuevo lugar P6.

Page 139: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.9. MODELAMIENTO DE PROCESOS 117

�(

�.

�/�-

�(

�-

�/

�1

�1

�,

�,

�.

Figura 5.25: Arquitectura para Capacidad Limitada

5.9.11. Arquitectura de Memoria

Esta arquitectura se puede extraer como consecuencia de la arquitectura decapacidad limitada, con el objeto de recordar las veces que se ha producidoun evento o recordar el número máximo de veces que otro evento puede serrealizado [5]. En la Figura 5.26, el lugar P1 contiene el máximo número de vecesque el evento t1 se puede verificar, cinco en este caso, aunque si P1 y P2 sonsimultáneamente lugares de salida de una misma transición se puede recordaren P1 las veces que esta transición se dispara y controlar con ello los disparosde t1.

�( �,

�(

Figura 5.26: Arquitectura de Memoria

5.9.12. Arquitectura para Colas

Las colas o filas se presentan de forma común en los sistemas de atencióna usuarios, pero desde el punto de vista de los automatismos también se en-cuentran frecuentemente en los sistemas de producción donde los diferentesprocesos de la cadena productiva se realizan independientemente por sistemasautónomos entre sí. Como ejemplo de una arquitectura de colas, se muestra enla Figura 5.27 el modelo de un sistema de atención al cliente donde se poseedos tipos diferentes de servicios a prestar mediante el uso de tres ventanillas

Page 140: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

118 CAPÍTULO 5. REDES DE PETRI

de atención. La transición t1 indica la llegada de un nuevo usuario, las transi-ciones t2 y t3 clasifican el usuario de acuerdo con el servicio que requiere, lastransiciones t4, t5 y t6 indican el inicio de atención a un nuevo usuario de la filaen la ventanilla correspondiente y finalmente las transiciones t7, t8 y t9 indicanel fin de atención a un usuario. En este modelo se tiene presente la restricciónde atención a un solo usuario por vez en cada ventanilla, como es lo usual.

�,

�.

�,

�.

�0

�(

�1

�/

�2

�2

�-

�1

�3

�(

�-

�/ �0 �3

������ �

������ ������

������ ������

��������� ��������� ���������

�� ������ �� ������

Figura 5.27: Arquitectura para Colas

5.10. Simplificación de una RdP

Con el objeto de simplificar el modelo de una RdP antes de proceder a suanálisis, es conveniente realizar su reducción hacia una red de menor compleji-dad que preserve las propiedades de la red original. Este procedimiento se haceparticularmente importante cuando se trata con redes de gran tamaño dondees conveniente realizar algún tipo de transformación hacia una red de menortamaño que conserve las propiedades de la red inicial [6, 9, 10].

Aunque existen muchos métodos descritos por varios autores [6, 10], sepresenta únicamente las transformaciones más simples basadas en un conjuntode reglas básicas:

1. Fusión de Lugares en Serie: Si en una red de Petri PN = {N, M0} existeuna transición tj la cual es la única transición de salida de un lugar pi yla única transición de entrada de un lugar pi+1, entonces la red se puedetransformar en una nueva red de Petri PN ′ = {N ′, M ′

0} donde se fusio-nan en un solo lugar a pi y pi+1 y se elimina a tj . En la Figura 5.28, sepuede observar la forma general de esta regla.

Page 141: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.10. SIMPLIFICACIÓN DE UNA RDP 119

Figura 5.28: Fusión de Lugares en Serie

2. Fusión de Transiciones en Serie: Si en una red de Petri PN = {N, M0}existe un lugar pi el cual es lugar de salida de una transición tj y es elúnico lugar de entrada de una transición tj+1, entonces la red se puedetransformar en una nueva red de Petri PN ′ = {N ′, M ′

0} donde se fusio-nan en una sola transición a tj y tj+1 y se elimina a pi. En la Figura 5.29,se muestra la forma general de esta regla.

Figura 5.29: Fusión de Transiciones en Serie

3. Fusión de Lugares Paralelos: Si en una red de Petri PN = {N, M0} exis-ten dos lugares pi y pi+1 tal que ambos comparten una única transición deentrada y una única transición de salida, entonces la red se puede trans-formar en una nueva red de Petri PN ′ = {N ′, M ′

0} donde se fusionanen un solo lugar a pi y pi+1. Éste nuevo lugar sigue teniendo la mismatransición de entrada y la misma transición de salida previas a los doslugares que reemplaza. En la Figura 5.30, se puede observar esta regla deforma generalizada.

Figura 5.30: Fusión de Lugares Paralelos

4. Fusión de Transiciones Paralelas: Si en una red de Petri PN = {N, M0}existen dos transiciones tj y tj+1 tal que ambas comparten un único lu-gar de entrada y un único lugar de salida, entonces la red se puede trans-formar en una nueva red de Petri PN ′ = {N ′, M ′

0} donde se fusionanen una sola transición a tj y tj+1. Esta nueva transición sigue teniendoel mismo lugar de entrada y el mismo lugar de salida previos a las dostransiciones que reemplaza. En la Figura 5.31, se puede observar la formageneral de esta regla.

Page 142: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

120 CAPÍTULO 5. REDES DE PETRI

Figura 5.31: Fusión de Transiciones Paralelas

5. Eliminación de un Lugar en Auto-lazo: Si en una red de Petri PN ={N, M0} existe un lugar tal que es simultáneamente de entrada y salidapara una transición, entonces la red se puede transformar en una nuevared de Petri PN ′ = {N ′, M ′

0} donde se elimina dicho lugar. En la Figu-ra 5.32, se muestra la forma general de esta regla.

Figura 5.32: Eliminación de Lugar Auto-lazo

6. Eliminación de una Transición en Auto-lazo: Si en una red de Petri PN ={N, M0} existe una transición tal que es simultáneamente de entrada ysalida para un lugar, entonces la red se puede transformar en una nuevared de Petri PN ′ = {N ′, M ′

0} donde se elimina dicha transición. En laFigura 5.33, se puede observar esta regla de forma generalizada.

Figura 5.33: Eliminación de Transición Auto-lazo

5.11. Análisis de las Redes de Petri

Dentro de los métodos para análisis de un RdP existen tres que son de prin-cipal interés: Análisis por Árbol de Cobertura, Análisis por Transformación yAnálisis Estructural [10, 11]. El primer método presenta ventajas claras cuandose trata con redes limitadas y permite fácilmente verificar propiedades, sin em-bargo cuando la red es ilimitada no se puede obtener información importante.El segundo método no es más que tratar de pasar una red a una más sencilla

Page 143: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 121

mediante reducciones y la cual conserve las propiedades de la primera y fa-cilite el análisis. El último método permite determinar las propiedades de unared independizando el marcado inicial de la estructura, por lo que facilita elestudio de una red para varios marcados iniciales.

5.11.1. Análisis por Árbol de Cobertura

El árbol de cobertura para una red de Petri PN = {N, M0} se construyeiniciando desde el marcado inicial y buscando todos los posibles nuevos mar-cados obtenibles a partir de éste. Un nuevo marcado se logra si se dispara cadauna de las transiciones sensibilizadas [10]. El disparo de una transición repre-senta una nueva rama en el árbol y en su extremo se ubica un nodo con elnuevo marcado que se obtiene [2, 9].

El procedimiento anterior es iterativo para cada nuevo nodo, a partir delcual se debe identificar las nuevas ramas posibles para el árbol. La identifi-cación de nuevos nodos representa una frontera en el árbol e implica un pro-ceso con pasos finitos [2], incluso en el caso de redes no limitadas. Se puededistinguir claramente tres clases diferentes de nodos frontera:

1. Nodo Terminal: Nodo, o marcado, en el cual no se encuentra sensibiliza-da ninguna transición.

2. Nodo Duplicado: Nodo, o marcado, el cual ya se encuentra en un nodoprevio del árbol.

3. Nodo Infinitamente Reproducible: Un Nodo, o marcado M ′′ es infinita-mente reproducible siM ′′ ≥M ′ para cualquierM ′ que ya se ha generadoen el árbol, esto es si el número de marcas en cada uno de los lugares deM ′′ es mayor o igual al número de marcas en cada uno de los lugaresde M ′ o como relación, si M ′′(pi) ≥ M ′(pi) para pi = p1, . . . , pm. Eneste caso, se introduce el símbolo � el cual representa un número ar-bitrariamente grande de marcas como resultado de nodos infinitamentereproducibles y que además posee las siguientes propiedades para cadanúmero entero positivo ξ: �±ξ = � y � > ξ. La introducción del símbo-lo � permite que la generación del árbol de cobertura contenga siempreun proceso finito de pasos. En este caso se reemplaza enM ′ a cadaM ′(pi)que sea menor a M ′′(pi) por el símbolo � para formar así a M ′′.

Como ejemplo inicial para la obtención del árbol de cobertura se hace el análi-sis para la Figura 5.10, donde claramente se observa que el marcado inicial esM0 = {2, 0, 0, 0, 0, 0} y el cual se emplea como raíz del árbol. A partir deeste marcado M0 se puede determinar que la única transición sensibilizada est1 lo cual conduce a un solo nuevo marcado M1 = {0, 1, 1, 0, 0, 0}, dondenuevamente se encuentra que las únicas transiciones sensibilizadas son t2 yt3 con lo cual se tienen dos nuevas ramas representando dos posibles marca-dos nuevos así: M2 = {0, 0, 1, 1, 0, 0} y M3 = {0, 1, 0, 0, 1, 0}, tal como

Page 144: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

122 CAPÍTULO 5. REDES DE PETRI

se observa en la Figura 5.34. Desde el nodo M2 se puede determinar que só-lo se encuentra sensibilizada la transición t3 con lo cual se llega al marcadoM4 = {0, 0, 0, 1, 1, 0}. Retomando el nodo M3 se encuentra que sólo está sen-sibilizada la transición t2 llevando al mismo marcado M4 = {0, 0, 0, 1, 1, 0}obtenido en el paso anterior y conformando lo que se denomina como nododuplicado. En este instante sólo es posible disparar t4 lo cual entrega el mar-cado M5 = {0, 0, 0, 0, 0, 2}, posteriormente solo es posible disparar t5 lo cualconduce al marcado M6 = {1, 0, 0, 0, 0, 1}. Finalmente, solo es posible dis-parar nuevamente t5 con lo cual se obtiene el mismo marcado inicial, o seaotro nodo duplicado.

H,�'�'�'�'�'I

H,�'�'�'�'�'I

H,�'�'�'�'�'I

H,�'�'�'�'�'I

H,�'�'�'�'�'I

H,�'�'�'�'�'I

H,�'�'�'�'�'I

�'

�(

�, �-

�.

�/

�1

�(

�, �-

�- �,

�.

�/

�/

Figura 5.34: Árbol de Cobertura para la Figura 5.10

�/�.

�1�,

�-

�.

�( �,

�-�(

�/

�0

Figura 5.35: RdP con Nodo Terminal y Nodos Infinitamente Reproducibles.

Ahora se muestra el ejemplo de árbol de cobertura para la red de la Figu-ra 5.35, la cual es una red que presenta varias situaciones importantes a es-tudiar. En la Figura 5.36, se muestra el árbol de cobertura resultante, dondeademás se hace uso del símbolo � para indicar nodos infinitamente repro-ducibles. De la observación rápida de la red se puede determinar que en ellugar P3 las marcas pueden crecer indefinidamente. En el árbol se puede en-contrar que el marcado M10 = {1, 0, 1, 1, 0, 1, 0} es el marcado que sigue al

Page 145: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 123

disparar la transición t2, pero este marcado contiene a su vez al marcado inicialya que cumple la relación M10(pi) ≥M0(pi) y por lo que finalmente queda co-mo M10 = {1, 0, �, 1, 0, 1, 0}. En este mismo árbol se encuentra que el nodoM4 = {0, 0, 0, 1, 0, 0, 1} es un nodo terminal ya que en este marcado no seencuentra sensibilizada ninguna transición.

�'�(

H(�'�'�(�'�(�'I

H'�(�(�(��'�(�'I

H'�(�'�'�(�(�'I

H(�'�'�'�(�(�'I

H'�(���'�(�(�'I

H'�'���'�(�'�(I

H'�'�(�(�'�'�(I

H'�(�'�(�'�(�'I H'�'�'�'�(�'�(I

H'�'�'�(�'�'�(I

H(�'���(�'�(�'I

H(�'���'�(�(�'IH'�(���(�'�(�'I

H'�'���(�'�'�(I������ �+��

�(

�/ �,

�0 �1 �-

�2

�3

�.

�('

�(( �(,

�(-

�-

�, �/

�,

�(

�/

�-

�.

�/

�.

�/�,

�.

�,�( �.�-

�-

�.�-�.

�( �,�/

Figura 5.36: Árbol de Cobertura para la Figura 5.35

En general, el proceso para realizar el árbol de cobertura de la Figura 5.36 ycualquier otro árbol para cualquier otra red consiste en iniciar con el marcadoinicial e ir progresivamente encontrando todos los posibles nuevos marcados,teniendo en cuenta que si se llega a un marcado que ya existe en el árbol éste esun nodo duplicado y por tanto se puede conectar con su par, además si algúnnuevo nodo cumple el criterio M ′′(pi) ≥ M ′(pi) entonces se debe reemplazarenM ′ a cadaM ′(pi) menor queM ′′(pi) por el símbolo � para formar así aM ′′.

Gracias al árbol de cobertura de una red de Petri se pueden determinaralgunas de las propiedades ya vistas, de la siguiente forma:

Una red de Petri PN = {N, M0} es limitada si y sólo si el símbolo � noaparece en ninguno de los nodos del árbol de cobertura.

Una red de Petri PN = {N, M0} es segura si y sólo si en los nodos delárbol de cobertura sólo aparecen los números 1 o 0.

Una transición tj de una red de Petri PN = {N, M0} es muerta si y sólosi no aparece como rama en el árbol de cobertura.

El marcado M es un marcado alcanzable desde M0, si este aparece comonodo en el árbol de cobertura.

Una red de Petri PN = {N, M0} es reversible si y sólo si desde cualquiernodo del árbol de alcanzabilidad es posible encontrar una ruta hacia elnodo inicial. Esta condición también se relaciona como Árbol de CoberturaFuertemente Conexo [11].

Page 146: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

124 CAPÍTULO 5. REDES DE PETRI

En el árbol de cobertura de una red de Petri no limitada no es posible deter-minar su alcanzabilidad o vivacidad, debido a la información perdida al intro-ducir el símbolo �. Además redes no limitadas pueden llegar a tener el mismoárbol de cobertura incluso con diferentes propiedades de vivacidad [10].

El árbol de cobertura para una red de Petri limitada recibe el nombre es-pecial de Árbol de Alcanzabilidad, ya que contiene todos los posibles marcadosalcanzables. Además, en este caso, todas las propiedades vistas para una redde Petri pueden ser discutidas mediante el árbol de alcanzabilidad.

Todo árbol de cobertura de una red de Petri PN = {N, M0}, puede ser rep-resentado mediante un Gráfico de Cobertura G = {V, E}, donde V es el conjuntode todos los nodos diferentes en el árbol de cobertura y E es el conjunto de to-das las ramas que representan el disparo de una única transición que lleva deun nodo a otro. En particular, el gráfico de cobertura de un árbol de alcanzabili-dad se denomina como Gráfico de Alcanzabilidad y puede ser interpretado comoun diagrama de estados en el mismo sentido discutido en la Sección 3.4.2.

En la Figura 5.37 se muestra el gráfico de cobertura, o gráfico de alcanzabi-lidad en este caso, para el árbol de cobertura de la Figura 5.34.

�' �(

�,

�-

�. �/ �1�(

�,

�-

�-

�,

�. �/

�/

Figura 5.37: Gráfico de Cobertura

5.11.2. Análisis por Transformación

El análisis por transformación tiene su fundamento en la idea intuitiva deencontrar para una red de Petri PN = {N, M0} otra red PN ′ = {N ′, M ′

0} talque ésta última preserve las propiedades de la primera, pero a la vez facilite laverificación de las mismas propiedades.

Caso particular de los diferentes métodos de transformación son los méto-dos de simplificación vistos en la Sección 5.10 y conocidos también como méto-dos de reducción y donde el objetivo es ir buscando progresivamente unared más sencilla que la actual al poseer ya sea menos lugares o menos transi-ciones [11]. Luego de encontrar una red reducida es posible aplicar alguno delos otros métodos de análisis, de ser necesario, para determinar las diferentespropiedades expuestas.

Entre las diferentes técnicas adicionales para la transformación de redes dePetri es de especial interés la reducción de una subred a un único lugar, la cualse ve a continuación.

Page 147: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 125

5.11.2.1. Reducción de una Subred de Petri a un Lugar

Una subred de Petri es aquella PN∗ donde el conjunto de sus lugares ytransiciones son subconjuntos respectivos de los lugares y transiciones de otrared PN , o sea, una subred de Petri es un subconjunto de otra red mayor.

De forma intuitiva, las condiciones necesarias para que un lugar se com-porte globalmente de forma análoga a la subred con el fin de poder realizar lareducción son [11]:

1. No se crea ni se destruyen marcas.

2. La vivacidad de las transiciones en la subred depende de la vivacidad deotras transiciones externas de la misma subred.

3. Todas las marcas en la subred se pueden emplear en el disparo de cual-quiera de las transiciones que definen la frontera con el resto de la red.

Con el fin de evitar que una subred cree o destruya marcas, es condición sufi-ciente para ello que el peso de sus arcos sea la unidad y sus transiciones poseanun único lugar de entrada y un único lugar de salida. Si la subred cumple estacondición, se dice que es una subred Potencialmente Reducible.

En la Figura 5.38 se muestra una subred potencialmente reducible a un sololugar. En una subred, los lugares con transiciones de entrada que no pertenecena la subred se denominan Lugares Ascendientes (lugares P1, P2 y P3), mientrasque los lugares con transiciones de salida que no pertenecen a la subred sedenominan Lugares Descendientes (lugares P3 y P5). El lugar que reemplaza a lasubred dentro de la red mayor se denomina Macrolugar.

�/

�.

�,

�-

�.�(

�,

�-

�(

�/ �1

�2

�0�3

�('

�((

�,

�-������7�

�(

�('

�((

J

Figura 5.38: Subred de Petri

Un macrolugar puede reemplazar a una subred si ésta última cumple lassiguientes condiciones:

Page 148: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

126 CAPÍTULO 5. REDES DE PETRI

1. La subred es potencialmente reducible.

2. Para todo lugar dentro de la subred mínimo existe un camino que partede un lugar ascendiente y llega a él.

3. Para todo lugar dentro de la subred existen caminos que lo unen a losdiferentes lugares descendientes.

En el ejemplo de la Figura 5.38, al examinar las tres condiciones anteriores seencuentra que la primera condición se cumple, ya que todos los arcos tienencomo peso la unidad y todas las transiciones poseen un único lugar de entraday un único lugar de salida. La segunda condición también se cumple, al existirun camino que une un lugar ascendiente a cada uno de los lugares de la subred.La tercera condición no se cumple, ya que no existe un camino que una a P4 conP3. De lo anterior se establece que esta subred no es reducible a un macrolugar.

Si un macrolugar puede reemplazar a una subred, entonces debe poseertantas marcas iniciales como la suma de las marcas iniciales que poseen loslugares de la subred, además debe tener como transiciones de entrada todaslas conectadas previamente a los lugares ascendientes y como transiciones desalida todas las conectadas previamente a los lugares descendientes. En la redresultante no aparecen, se eliminan, todas las transiciones y lugares de la sub-red. La Figura 5.39 es un ejemplo de una subred reducible a un macrolugar.

�.

�(

�,

�-

�(

�- �/

�,�1

������7�

�( �1

Figura 5.39: Subred de Petri a Macrolugar

5.11.3. Análisis por Representación Estructural

La representación estructural de una red de Petri permite describir la di-námica de comportamiento de una red mediante una serie de ecuaciones ma-triciales. Su principal ventaja radica en la independencia que se logra en ladescripción estructural del sistema del marcado inicial, con lo cual se facilita elanálisis para sistemas con diferentes marcados iniciales pero igual estructura.

Page 149: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 127

5.11.3.1. Matrices de Incidencia Previa y Posterior

Cada elemento que conforma la matriz de incidencia posterior, C+, parauna red de Petri PN = {N, M0} es el peso del arco que va desde la transicióntj al lugar de salida pi y se define como c+ij = β (tj , pi). De lo anterior C

+ = [c+ij ]con dimensiones m x n, para una red con m lugares y n transiciones.

En la matriz de incidencia previa, C−, cada uno de sus elementos repre-senta el peso del arco que llega a la transición tj proveniente desde el lugarde entrada pi y se define como c−ij = α (pi, tj). De lo anterior C− = [c−ij ] condimensiones m x n.

En general, la matriz de incidencia posterior representa el peso de los ar-cos de salida de cada una de las transiciones de la red, mientras la matriz deincidencia previa representa el peso de los arcos de entrada a cada una de lastransiciones. A continuación, en la Figura 5.40, se muestra a manera de ejem-plo las matrices de incidencia previa e incidencia posterior para la red de laFigura 5.10.

C+ =

⎡⎢⎢⎢⎢⎢⎣

0 0 0 0 11 0 0 0 01 0 0 0 00 1 0 0 00 0 1 0 00 0 0 2 0

⎤⎥⎥⎥⎥⎥⎦ C− =

⎡⎢⎢⎢⎢⎢⎣

2 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 1 00 0 0 0 1

⎤⎥⎥⎥⎥⎥⎦

Matriz de Incidencia Posterior Matriz de Incidencia Previa

Figura 5.40: Matrices de Incidencia Previa y Posterior

Como ya se expuso en la Sección 5.7.2, si las funciones de incidencia pre-via y posterior sólo toman valores en el conjunto {0, 1} se dice que la red dePetri es ordinaria. Además una red de Petri es pura si ninguna transición estáconectada a un mismo lugar tal que ese lugar sea simultáneamente de entraday salida para la transición, es decir, para toda transición tj y cada lugar pi sedebe cumplir que α(pi, tj)β(tj , pi) = 0. Ésta última característica para una redpura es muy importante y es tratada en más detalle en las secciones siguientes.

5.11.3.2. Subconjuntos y Subclases de una RdP

Dentro de una red de Petri también se definen otros subconjuntos, los cualesse listan a continuación [10, 11]:

1. Lugares de entrada de una transición tj , denotado como •tj : es el subcon-junto de lugares que pertenecen a una red de Petri conformado por loslugares donde la función de incidencia previa para la transición es mayorque cero.

•tj =∧pi ∈ P

(α(pi, tj) > 0

)

Page 150: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

128 CAPÍTULO 5. REDES DE PETRI

2. Lugares de salida de una transición tj , denotado como t•j : es el subcon-junto de lugares que pertenecen a una red de Petri conformado por los lu-gares donde la función de incidencia posterior para la transición es mayorque cero.

t•j =∧pi ∈ P

(β(tj , pi) > 0

)3. Transiciones de entrada de un lugar pi, denotado como •pi: es el subcon-

junto de transiciones que pertenecen a una red de Petri conformado porlas transiciones donde su función de incidencia posterior para el lugar esmayor que cero.

•pi =∧tj ∈ T

(β(tj , pi) > 0

)4. Transiciones de salida de un lugar pi, denotado como p•i : es el subcon-

junto de transiciones que pertenecen a una red de Petri conformado porlas transiciones donde su función de incidencia previa para el lugar esmayor que cero.

p•i =∧tj ∈ T

(= t•j = 1) > 0

)Para la Figura 5.10, algunos de los subconjuntos que se pueden definir son:

•t1={P1} •t4={P4, P5} •p5={t3}t•1={P2, P3} t•1 ={P6} p•5 ={t4}

Con base en los anteriores subconjuntos definidos dentro de una red dePetri se pueden definir las siguientes subclases de redes de Petri [10]:

1. Máquina de Estados, ME: es una red de Petri ordinaria donde cada tran-sición posee exclusivamente un único lugar de entrada y un único lugarde salida.

ME =∧tj ∈ T

(|•tj | =

∣∣t•j ∣∣ = 1)

2. Gráfico Marcado, GM: es una red de Petri ordinaria donde cada lugarposee exclusivamente una única transición de entrada y una única tran-sición de salida.

GM =∧pi ∈ T

(|•pi| = |p•i | = 1

)3. Red de Libre Elección, LE: es una red de Petri ordinaria donde cada arco

que parte de un lugar es o su único arco de salida o el único arco de entra-da para una transición. Representa una estructura de red que generalizalas dos subclases anteriores.

LE =∧pi ∈ T

(|p•i | ≤ 1 ∨ •(p•i ) = {pi}

)

Page 151: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 129

5.11.3.3. Matriz de Incidencia

En las redes de Petri puras la representación matricial se puede simplificaren una única matriz denominada como Matriz de Incidencia, C, la cual se de-fine como: C = C

+ − C−. Cada uno de los elementos que compone la matriz

de incidencia, cij , es positivo para indicar la presencia de incidencia posterior,negativo para indicar la presencia de incidencia previa o cero para indicar lano conexión entre el lugar pi y la transición tj .

A continuación se muestra la matriz de incidencia para la red de la Figu-ra 5.10:

C = C+ − C− =

⎡⎢⎢⎢⎢⎢⎣

0 0 0 0 11 0 0 0 01 0 0 0 00 1 0 0 00 0 1 0 00 0 0 2 0

⎤⎥⎥⎥⎥⎥⎦ −

⎡⎢⎢⎢⎢⎢⎣

2 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 00 0 0 1 00 0 0 0 1

⎤⎥⎥⎥⎥⎥⎦

=

⎡⎢⎢⎢⎢⎢⎣

−2 0 0 0 11 −1 0 0 01 0 −1 0 00 1 0 −1 00 0 1 −1 00 0 0 2 −1

⎤⎥⎥⎥⎥⎥⎦

Para el caso de una red pura, la matriz C contiene toda la información nece-saria para reconstruir completamente la red; esto sucede al indicar claramenteel tipo de incidencia que relaciona a cada lugar con cada transición ya quelas matrices de incidencia previa y posterior no comparten elementos en lasmismas posiciones. Esta gran ventaja de C también muestra claramente el im-pedimento para su aplicación en una red no pura, como se puede observar enla Figura 5.41, donde el lugar P3 es simultáneamente de entrada y de salidapara la transición t1.

�,

�(

�,

�-�(

Figura 5.41: RdP No Pura.

Page 152: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

130 CAPÍTULO 5. REDES DE PETRI

Para esta red las matrices de incidencia previa y posterior se muestran acontinuación:

C+ =

⎡⎣ 0 1

1 01 0

⎤⎦ C− =

⎡⎣ 1 0

0 11 0

⎤⎦

De las dos matrices anteriores, se puede observar como comparten un ele-mento en una misma posición, debido a la presencia del auto-lazo. El hechode compartir un elemento en alguna posición implica que al realizar la restaC+ − C−, de la cual se obtiene la matriz de incidencia, se pierde informaciónque impide su reconstrucción.

Una forma fácil de solventar la restricción para uso de la matriz de inciden-cia en las redes no puras es la adición de un lugar y una transición adicionalesque eliminen el auto-lazo, tal como se muestra en la Figura 5.42, donde graciasa la adición de P4 y t3 se elimina el auto-lazo y se permite el uso de C para lared de la Figura 5.41.

�,

�(

�, �-

�( �-

�.

Figura 5.42: RdP No Pura a Pura

5.11.3.4. Ecuación de Estado

En una red de Petri interesa conocer el marcado que se alcanza luego derealizar una cierta secuencia de disparo partiendo de un marcado inicial cono-cido. El vector de disparo, µk, es un vector con tantos elementos como transi-ciones tiene la red y con un valor de 1 en la posición de la transición disparaday cero en el resto de componentes.

En las redes de Petri puras y con un marcado inicial conocido, existe unaecuación que determina el marcado alcanzado desde un marcado inicial dadoun vector de disparo y se conoce como ecuación de estado, la cual está dadapor:

MTk = MT

k−1 + Cµk

Page 153: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 131

Como esta ecuación entrega una forma de determinar un marcado posteriora partir de uno previo, entonces se puede decir sucesivamente que:

MTk = MT

k−2 + Cµk−1 + Cµk = MT0 + C(µ1 + · · · + µk)

De donde se define el vector secuencia de disparo σ = µ1 + · · ·+ µk, el cualal ser reemplazado en la ecuación anterior se obtiene finalmente:

MTk = MT

0 + Cσ

De la anterior ecuación es importante resaltar el hecho que el vector σ sóloentrega datos sobre las transiciones disparadas para llagar hasta el marcadodeseado, más no brinda información sobre la secuencia en la cual se realizarondichos disparos.

Aplicando las anteriores ecuaciones a la red de la Figura 5.10 se puede de-terminar el marcado alcanzado luego de disparar las transiciones t1 y t2 así:

MT1 =

⎡⎢⎢⎢⎢⎢⎣

200000

⎤⎥⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎢⎣

−2 0 0 0 11 −1 0 0 01 0 −1 0 00 1 0 −1 00 0 1 −1 00 0 0 2 −1

⎤⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎣

11000

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

200000

⎤⎥⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎢⎣

−201100

⎤⎥⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

001100

⎤⎥⎥⎥⎥⎥⎦

Si ahora se dispara las transiciones t3 y t4 el marcado alcanzado es:

MT2 =

⎡⎢⎢⎢⎢⎢⎣

001100

⎤⎥⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎢⎣

−2 0 0 0 11 −1 0 0 01 0 −1 0 00 1 0 −1 00 0 1 −1 00 0 0 2 −1

⎤⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎣

00110

⎤⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

001100

⎤⎥⎥⎥⎥⎥⎦ +

⎡⎢⎢⎢⎢⎢⎣

00−1−102

⎤⎥⎥⎥⎥⎥⎦ =

⎡⎢⎢⎢⎢⎢⎣

000002

⎤⎥⎥⎥⎥⎥⎦

En estas ecuaciones se puede observar que el vector σ no es cualquier vec-tor, fuera de tener componentes no negativas debe ser aplicable a partir delmarcado inicial. Esto tiene fundamento en la noción intuitiva de no poder exis-tir un marcado con componentes negativas [11].

Para la determinación de las propiedades de una red de Petri mediante eluso del análisis por representación estructural se debe presentar su aplicaciónindividual a cada una de ellas, lo cual se realiza a continuación. En general seasume que las redes bajo estudio son de tipo puras, pero ya se ha visto unametodología simple de eliminación del auto-lazo.

5.11.3.5. Determinación de la Reversibilidad

Una red de Petri, PN = {N, M0}, es reversible si y sólo si existe un vectoranulador derecho, Γ, con todos sus elementos positivos para la matriz de in-cidencia de la red [11]. Como esta definición establece que CΓ = 0, el sistemalineal de ecuaciones resultantes con coeficientes enteros se puede escribir de

Page 154: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

132 CAPÍTULO 5. REDES DE PETRI

forma rápida a partir del balance de marcas en cada uno de los lugares de lared, así por ejemplo, para la red de la Figura 5.10 se tiene:

CΓ =

⎡⎢⎢⎢⎢⎢⎣

−2 0 0 0 11 −1 0 0 01 0 −1 0 00 1 0 −1 00 0 1 −1 00 0 0 2 −1

⎤⎥⎥⎥⎥⎥⎦

⎡⎢⎢⎢⎣

γ1

γ2

γ3

γ4

γ5

⎤⎥⎥⎥⎦ = 0

−2γ1 + γ5 = 0γ1 − γ2 = 0γ1 − γ3 = 0γ2 − γ4 = 0γ3 − γ4 = 02γ4 − γ5 = 0

De donde se obtiene γ1 = γ2 = γ3 = γ4 = π y γ5 = 2π. Con π = 1 el vectorΓ = [1, 1, 1, 1, 2]T , lo cual significa que se requiere exactamente disparar unavez las transiciones t1 a t4 y dos veces la transición t5 para partir y regresar almarcado inicial. Se debe notar como también son admisibles valores superioresde π y se interpretan como las veces que la red alcanza el marcado inicial.

5.11.3.6. Determinación de la Conservatividad

Una red de Petri, PN = {N, M0}, es conservativa si y sólo si existe unvector anulador izquierdo, ∆, con todos sus elementos positivos para la matrizde incidencia de la red [11]. Como esta definición establece que ∆T C = 0,el sistemas lineal de ecuaciones resultantes con coeficientes enteros se puedeescribir de forma rápida a partir del balance de marcas en cada una de lastransiciones de la red, así por ejemplo, para la red de la Figura 5.10 se tiene:

∆C =[

δ1 δ2 δ3 δ4 δ5 δ6]⎡⎢⎢⎢⎢⎢⎣

−2 0 0 0 11 −1 0 0 01 0 −1 0 00 1 0 −1 00 0 1 −1 00 0 0 2 −1

⎤⎥⎥⎥⎥⎥⎦ = 0

−2δ1 + δ2 + δ3 = 0−δ2 + δ4 = 0−δ3 + δ5 = 0

−δ4 − δ5 + 2δ6 = 0δ1 − δ6 = 0

De donde se obtiene δ1 = δ6 = π1, δ3 = δ5 = π2 y δ2 = δ4 = π3, además2π1 = π2 + π3. Con π2 = π3 = 1 el vector ∆ = [1, 1, 1, 1, 1, 1]T . Los anterioresresultados permiten introducir un nuevo concepto importante en el análisis delas redes de Petri. Al observar la Figura 5.10 se puede notar que uno de losresultados obtenidos del análisis de la conservatividad fue que δ3 = δ5 = π2

y δ2 = δ4 = π3, que en la figura se pueden interpretar como que el disparode t2 retira el mismo número de marcas que añade al subconjunto formadopor los lugares P2 y P4, que t3 hace lo propio con el subconjunto formado porlos lugares P3 y P5 y que finalmente las transiciones t1 o t4 retiran la mismacantidad de marcas que añaden, lo cual se expresa en el resultado 2π1 = π2+π3.

Page 155: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.11. ANÁLISIS DE LAS REDES DE PETRI 133

5.11.3.7. Determinación de la Limitación

Si para una red de Petri, PN = {N, M0}, existe ∆ tal que ∆TC = 0, o sea

la red es conservativa, entonces PN es limitada. Esta conclusión se desprendedirectamente de la aplicación de la ecuación de estado [11], en donde se puedeencontrar que si la red tiene un marcado inicial finito entonces el marcado decualquier lugar de la red también está limitado a un valor finito.

5.11.3.8. Determinación de la Vivacidad

La determinación de la vivacidad de una red de Petri no es directa, al noexistir una propiedad general que la pueda determinar, ya que como se haexpuesto, el vector secuencia de disparo no entrega la información completasobre el orden de disparo de las transiciones. Sin embargo se pueden expresaralgunos criterios que hablan sobre si una red es viva y segura para las diferen-tes subclases de redes de Petri estudiadas [10, 11].

Previo a la expresión de estos teoremas se define primero una RdP Fuerte-mente Conexa: Si una red de Petri, PN = {N, M0}, es viva y segura entoncesno posee transiciones fuente o sumidero ni lugares fuente o sumidero, y se diceque PN = {N, M0} es fuertemente conexa, es decir, existe un camino orienta-do que parte desde cada uno de los nodos de la red y llega a cada uno de losotros nodos. La anterior definición se relaciona directamente con la de árbol decobertura fuertemente conexo.

Criterio 1: Una máquina de estados es viva si y sólo si la red PN = {N, M0}es fuertemente conexa y el marcado inicial posee al menos una marca.

Criterio 2: Una máquina de estados es segura si y sólo si el marcado inicialposee como máximo una marca.

Criterio 3: Una máquina de estados viva es segura si y sólo si el marcado ini-cial posee exactamente una marca.

Criterio 4: Toda máquina de estados es conservativa.

Un gráfico marcado, GM = {N, M0}, se puede dibujar como un Gráfico Orien-tado Marcado, GM = {G, M0} donde los arcos representan los lugares, losnodos a las transiciones y las marcas se ubican sobre los arcos. Se dice que unnodo está en un circuito orientado del GM = {G, M0} si uno de sus arcosde entrada y uno de sus arcos de salida pertenecen al circuito orientado; porejemplo, la Figura 5.43 muestra el gráfico orientado de la Figura 5.8, donde P1,P3, P5 y P6 forman un circuito orientado al igual que P1, P2, P4 y P6.

Page 156: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

134 CAPÍTULO 5. REDES DE PETRI

�(

�/

�,

�.�1

�-

�/

�(

�,�-

�.

Figura 5.43: Gráfico Orientado Marcado

Criterio 5: Un gráfico marcado es vivo, si y sólo si su marcado inicial poseecomo mínimo una marca en cada circuito orientado del respectivo gráficoorientado marcado.

Criterio 6: El número máximo de marcas que puede tener un arco en un gráfi-co orientado marcado es igual al mínimo número de marcas puestas porel marcado inicial en el circuito orientado que contiene el arco.

Criterio 7: Todo gráfico marcado que sea fuertemente conexo es conservativo.

Un subconjunto no vacío de lugares en una red ordinaria de Petri se denominaSifón si cada transición de la red que tiene un lugar de salida en el subconjun-to también tiene un lugar de entrada que pertenece al subconjunto. Análoga-mente, un subconjunto no vacío de lugares en una red ordinaria de Petri sedenomina Trampa si cada transición de la red que tiene un lugar de entrada enel subconjunto también tiene un lugar de salida que pertenece al subconjunto.La Figura 5.44 muestra la generalidad para sifón y trampa.

��C6 ��+9

Figura 5.44: Sifón y Trampa

Criterio 8: Una red de libre elección es viva si y sólo si cada sifón en la redcontiene una trampa marcada.

Page 157: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.12. ANÁLISIS LOCAL DE REDES DE PETRI 135

5.12. Análisis Local de Redes de Petri

5.12.1. Red de Petri Dual

La red de Petri dual de una red de Petri generalizada, NG = {P, T, α, β},se obtiene al cambiar los lugares por transiciones y las transiciones por lugarespreservando la estructura, o sea NGd = {T, P, β, α}es la red dual de NG. Lamatriz de incidencia de una red dual, Cd, se obtiene de la transpuesta negativade la matriz de incidencia de la red original, es decir Cd = −CT . Con simple ob-servación se puede determinar que toda máquina de estados es la red de Petridual de un gráfico orientado marcado y que todo gráfico orientado marcado esla red dual de una máquina de estados.

5.12.2. Invariantes de Marcado y de Disparo

Se denomina Invariante de Disparo a cualquier relación satisfecha por todaslas secuencias de disparo que se pueden realizar desde el marcado inicial. Deigual forma, se denomina Invariante de Marcado a cualquier relación satisfechapor todos los marcados alcanzables desde el marcado inicial [11].

La obtención de estos invariantes se basa en el vector anulador derecho, Γ,y el vector anulador izquierdo, ∆, para la matriz de incidencia y donde todoslos elementos de estos vectores deben ser cero o positivos. Además, se deno-mina Componente Repetitiva a todo vector anulador derecho no negativo de C yComponente Conservativa a todo vector anulador izquierdo no negativo de C.

Ya que cualquier componente repetitiva o conservativa multiplicada porun escalar (kΓ o k∆) también lo es, se requiere de una normalización, paralo cual se debe garantizar que el máximo común divisor de los elementos nonulos de la componente sea la unidad. Bajo estas condiciones la componente seconvierte en una Componente Canónica repetitiva o conservativa según el caso.

Una componente canónica repetitiva también se denomina T-invariantes,mientras una componente canónica conservativa también recibe el nombre deP-invariantes. Los elementos componentes diferentes de cero en los T-invarian-tes representan la cuenta de disparos necesarios, de las transiciones que repre-sentan, para alcanzar el marcado inicial partiendo del mismo marcado inicial.Así mismo, los elementos componentes diferentes de cero en los P-invariantesrepresentan el peso asociado para ese lugar tal que la suma ponderada de mar-cas en esos lugares es una constante para todo marcado alcanzable desde elmarcado inicial [12].

En los T-invariantes o P-invariantes se define un subconjunto de transi-ciones o lugares, según el caso, consistente en los elementos no nulos en elrespectivo invariante. Estos subconjuntos de transiciones o lugares se denomi-nan Soporte del Invariante y se presentan por ‖Γ‖ o ‖∆‖ según el invariante alque hacen referencia.

Para ver un ejemplo del cálculo de los T-invariantes, el lector puede referirsea la Sección 5.11.3.5, donde se puede observar claramente la representación quese ha discutido sobre ellos.

Page 158: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

136 CAPÍTULO 5. REDES DE PETRI

Para el cálculo de los P-invariantes se puede seguir dos procedimientosfáciles, a saber: el primero de ellos es calcular los T-invariantes de la red dePetri dual, o mediante el segundo que consiste en realizar un procedimientoiterativo que permite encontrar de forma rápida todos los P-invariantes de lared de forma tal que todos estos P-invariante obtenidos sean suficientes paragenerar cualquier relación lineal de componentes conservativas canónicas. Acontinuación se presenta el proceso iterativo para el desarrollo del segundométodo.

5.12.2.1. Obtención de los P-Invariantes

El proceso iterativo inicia con la formación de una nueva matriz como con-catenación de la matriz unitaria de dimensión m y la matriz de incidencia, así:[I0

...C0

], donde el superíndice cero hace referencia únicamente a la iteración

cero, o sea procedimiento previo. El procedimiento iterativo se describe de lasiguiente forma [11]:

1. Iniciar el contador k en 1.

2. Añadir en la parte inferior de la nueva matriz todas las filas que resultancomo combinación lineal positiva de pares de filas de ella misma y que asu vez anulan a la k-ésima columna de Ck−1.

3. Eliminar de la matriz resultante las filas en las cuales la k-ésima columnade Ck−1 es no nula.

4. Hacer k = k + 1 hasta un máximo de k = número de de transicionesmenos una. Regresar a 2.

5. Las filas resultantes de la matriz Ik son los P-invariantes luego de reali-zarse la respectiva normalización.

Como ejemplo de este procedimiento se muestra la obtención de los P-inva-riantes para la Figura 5.8. Lo primero es construir la nueva matriz de la si-guiente forma:

[I0

...C0

]=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

+1 0 0 0 0 0... −1 0 0 0 +1

0 +1 0 0 0 0... +1 −1 0 0 0

0 0 +1 0 0 0... +1 0 −1 0 0

0 0 0 +1 0 0... 0 +1 0 −1 0

0 0 0 0 +1 0... 0 0 +1 −1 0

0 0 0 0 0 +1... 0 0 0 +1 −1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

En la primera iteración se realiza la obtención de las combinaciones linealespositivas que anulan la primera columna de C0, así:

Page 159: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.12. ANÁLISIS LOCAL DE REDES DE PETRI 137

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

+1 0 0 0 0 0... −1 0 0 0 +1

0 +1 0 0 0 0... +1 −1 0 0 0

0 0 +1 0 0 0... +1 0 −1 0 0

0 0 0 +1 0 0... 0 +1 0 −1 0

0 0 0 0 +1 0... 0 0 +1 −1 0

0 0 0 0 0 +1... 0 0 0 +1 −1

· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·

+1 +1 0 0 0 0... 0 −1 0 0 +1

+1 0 +1 0 0 0... 0 0 −1 0 +1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

Luego se eliminan las filas para las cuales la columna uno de C0 son nonulas, lo cual es ahora C1:

[I1

...C1

]=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 0 +1 0 0... 0 +1 0 −1 0

0 0 0 0 +1 0... 0 0 +1 −1 0

0 0 0 0 0 +1... 0 0 0 +1 −1

+1 +1 0 0 0 0... 0 −1 0 0 +1

+1 0 +1 0 0 0... 0 0 −1 0 +1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦

Procediendo igual para la segunda iteración, se obtienen las combinacioneslineales que eliminan la segunda columna de C1 y se eliminan las filas para lascuales la columna dos de C1 son no nulas, arrojando como resultado C2.

[I2

...C2

]=

⎡⎢⎢⎢⎢⎢⎢⎢⎢⎣

0 0 0 0 +1 0... 0 0 +1 −1 0

0 0 0 0 0 +1... 0 0 0 +1 −1

+1 0 +1 0 0 0... 0 0 −1 0 +1

+1 +1 0 +1 0 0... 0 0 0 −1 +1

⎤⎥⎥⎥⎥⎥⎥⎥⎥⎦

En la tercera iteración los resultados son:

[I3

...C3

]=

⎡⎢⎢⎢⎢⎢⎣

0 0 0 0 0 +1... 0 0 0 +1 −1

+1 +1 0 +1 0 0... 0 0 0 −1 +1

+1 0 +1 0 +1 0... 0 0 0 −1 +1

⎤⎥⎥⎥⎥⎥⎦

Finalmente, en la cuarta y última iteración el resultado obtenido es el si-guiente:

Page 160: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

138 CAPÍTULO 5. REDES DE PETRI

[I4

...C4

]=

⎡⎢⎣ +1 +1 0 +1 0 +1

... 0 0 0 0 0

+1 0 +1 0 +1 +1... 0 0 0 0 0

⎤⎥⎦

Los resultados anteriores están claramente normalizados, por los que lossoportes para los P-invariantes obtenidos son entonces:

‖∆1‖ = {P1, P2, P4, P6}‖∆2‖ = {P1, P3, P5, P6}

Estos resultados indican la forma en la cual la relación de marcas entrelos lugares del primer soporte se mantiene constante, es decir, si en la Figu-ra 5.8 se hace la suma de las marcas en los lugares P1, P2, P4 y P6 ésta siem-pre es una constante, y de igual forma se puede proceder con los lugares delsegundo soporte. Además se debe recordar que cualquier otra combinaciónlineal de los anteriores también es otra componente conservativa, por lo quesi se suman ambos se obtiene una tercera relación de la forma ‖∆1‖ + ‖∆2‖ ={2P1, P2, P3, P4, P5, 2P6} indicando que al realizar la suma ponderada de mar-cas en todos los lugares de la red se obtiene otra relación constante, que en estecaso es de 2.

5.13. Portabilidad entre Redes de Petri y Lógica Ca-bleada

Mediante la portabilidad se persigue realizar el paso directo de implementa-ciones realizadas bajo la teoría de redes de Petri a una estructura tipo lógica ca-bleada que facilite su implementación bajo técnicas de programación en PLCs.

La técnica acá presentada se basa en el concepto que emplean las redes dePetri para controlar la evolución o flujo en la red, y el cual se fundamenta en elmarcado. Cada lugar de una red de Petri representa un estado, condición o re-curso y se asocia en los diagramas de lógica cableada con uno de los escalonesque en general deben controlar un contador que hace las veces de bobina, peroa su vez permite el control de marcas en el lugar asociado. Las transiciones co-rresponden con los eventos o acciones que permiten la evolución del marcadoy se asocian con los contactos, que a su vez deben realizar la regla de evolu-ción de retirar marcas de los lugares previos, restar en los contadores, y sumarmarcas en los lugares siguientes, sumar en los contadores respectivos [1, 8].

Se muestra la forma de reemplazar cada uno de los elementos de una redde Petri por una estructura tipo lógica cableada que representa la misma fun-cionalidad y reglas de evolución involucradas. Para iniciar, en la Figura 5.45 semuestra la forma de reemplazar una arquitectura secuencial.

Page 161: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.13. PORTABILIDAD ENTRE REDES DE PETRI Y LÓGICA CABLEADA 139

�(*�(

�,*�,

�(

�( �(�,K*�,G(

�(K*�("(

Figura 5.45: Arquitectura Secuencial a Lógica Cableada

En la anterior figura, el disparo de la transición t1 se asocia con el eventode cierre en el contacto análogo, lo cual ocasiona la evolución si el lugar P1 seencuentra marcado, que es análogo a decrementar en uno del contador previoe incrementar en uno el contador siguiente.

De forma general, los arcos en la red de Petri pueden tener asociado unpeso, que a su vez puede ser distinto para cada uno. En este caso la regla dela evolución exige que en el lugar previo deben existir como mínimo tantasmarcas como peso tiene el arco que lo une con la transición y se deben adicionaren el lugar de salida tantas marcas como peso tiene el arco que la une con latransición. En la Figura 5.46 se representa esta regla de evolución general queexige el mínimo de marcas (n) en P1 y el cumplimiento de la transición pararetirar n marcas de P1 y adicionar m marcas a P2.

�(*�(

�,*�,

�(

�(�,K*�,G+

�(K*�("

+

�(�L�

Figura 5.46: Arcos con Pesos a Lógica Cableada

Otro elemento básico de las redes de Petri es el arco inhibidor, el cual exigela no presencia de marcas en el lugar de partida para permitir la sensibilizaciónde la transición a la cual llega. Para el caso de implementación en lógica cablea-da, este arco inhibidor se puede interpretar como un contacto normalmentecerrado asociado al lugar de salida del arco con el fin de verificar la no presen-cia de marcas. En la Figura 5.47 se muestra su representación.

�(*�( �,*�,

�-*�-

�(

�( �(�-K*�-G(

�(K*�("(

�,

Figura 5.47: Arco Inhibidor a Lógica Cableada

Page 162: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

140 CAPÍTULO 5. REDES DE PETRI

En un Nodo And, una transición puede tener varios lugares de entrada yvarios lugares de salida. Para este caso, la implementación en lógica cableadadebe reflejar la regla de sensibilización de la transición y la evolución del mar-cado hacia cada uno de los lugares de salida. En la Figura 5.48 se muestra suesquema general.

�(

�( �(�-K*�-G(

�.K*�.G(

�,�,*�,�(*�(

�-*�- �.*�.

�(K*�("(

�,K*�,"(

Figura 5.48: Nodo And a Lógica Cableada

En la arquitectura de decisión se describe la activación de un evento deentre varios posibles. Para su implementación en lógica cableada, la sensibi-lización y posterior disparo de una sola de las transiciones posibles determi-na el camino a seleccionar, por lo que los eventos asociados a las transicionesdeben ser mutuamente excluyentes. En la Figura 5.49 se muestra su repre-sentación.

�(

�(*�(

�,*�, �-*�-

�,

�( �(�,K*�,G(

�(K*�("(

�-K*�-G(

�(K*�("(

�( �,

Figura 5.49: Arquitectura de Decisión a Lógica Cableada

En muchos casos, no se puede asegurar que los eventos asociados a la arqui-tectura de decisión sean mutuamente excluyentes, por lo que se debe asignaruna prioridad o asegurar que la ocurrencia de ambos no cree un conflicto. Parala implementación en lógica cableada de este tipo de circunstancias se hacenecesario la adición de condiciones que impidan el disparo de las transicionesde forma simultánea, o definir claramente prioridades a los eventos, tal comose muestra en la Figura 5.50, donde la ocurrencia simultánea de las transicionest1 y t2 no produce la evolución.

Page 163: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.13. PORTABILIDAD ENTRE REDES DE PETRI Y LÓGICA CABLEADA 141

�( �(�,K*�,G(

�(K*�("(

�-K*�-G(

�(K*�("(

�( �,

�,

�(

Figura 5.50: Arquitectura de Decisión con Prioridad a Lógica Cableada

En la mayoría de los automatismos se consideran condiciones de tempo-rización que representan un estado del sistema, o sea un lugar dentro de unared de Petri. Si la evolución está condicionada al cumplimiento del tempo-rizador, la implementación en lógica cableada debe tener en cuenta esta condi-ción para la sensibilización de la transición respectiva, tal como se muestra enla Figura 5.51, donde se asume una temporización tipo ON.

�(*�(��*�

�,*�,

�,

�(�(

��*�:�<

�,K*�,G(

�(K*�("(

�( �,��

Figura 5.51: Temporizador a Lógica Cableada

Como a todo lugar se le asocia un posible estado, condición o recurso, sehace necesario asignar la ejecución de estas acciones ante la presencia de mar-cas en el lugar, lo cual se realiza mediante la implementación mostrada en laFigura 5.52.

�(*�(�:����6<

�,

�(�(

�:����6<

Figura 5.52: Acción a Lógica Cableada

Page 164: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

142 CAPÍTULO 5. REDES DE PETRI

Finalmente, se hace énfasis en la implementación del marcado inicial de unared de Petri. El marcado inicial determina el estado de arranque de un sistemay es fundamental para determinar la evolución de estados, o marcados. Para suimplementación en lógica cableada se procede a realizar la activación de cuentaadecuada en cada uno de los contadores que representan lugares con marcasiniciales, asumiendo que todo sistema en el arranque tiene sus contadores encero, lo cual es práctico ya que la mayoría de los sistemas en PLCs definenun valor inicial de cuenta por defecto en cero para los contadores al momentode arranque del sistema. En la Figura 5.53 se muestra un ejemplo completode implementación en lógica cableada para una red de Petri, donde el primerescalón implementa el marcado inicial.

�/ �.

�1

�,�-

�.

�(

�,�-

�(

�/

�(K*�(G(

�,K*�,G(

�-K*�-G(

�, �.�- �/ �1

�( �(

�(K*�("(

�.K*�.G(

�,K*�,"(

�, �,

�/K*�/G(

�-K*�-"(

�- �-

�1K*�1G(

�.K*�."(

�/ �.�.

�/K*�/"(

�(K*�(G(

�1K*�1"(

�/�1

Figura 5.53: Ejemplo de Red de Petri a Lógica Cableada

De la figura anterior se podría pensar que la parte del último escalón querealiza el incremento del contador uno sobra, ya que su incremento se realizade forma automática cuando todos los contadores quedan en cero. Sin embar-go, esto no siempre es así, ya que algunos sistemas pueden no ser reversibleso regresar un número diferente de marcas cuando se termina un ciclo com-pleto. En muchas ocasiones se usa un interruptor en serie con los contactosnormalmente cerrados que dan el marcado inicial, con el fin de independizarel arranque del fin de un ciclo.

Page 165: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

5.14. EJERCICIOS PROPUESTOS 143

5.14. Ejercicios Propuestos

1. Determine las propiedades de RdP Limitada, Viva, Reversible, Binaria,Conforme, Persistente y Conservativa para cada una de las siguientesredes de Petri:

�.

�,

�(

�, �-�(

�-�- �.

�-�,

�,�(

�(

�.

�, �-

�.

�(

�, �-

�/

�(

�1

�/

�1

�-

�,

�,�(

�(

�- �.

�.

�/

:< :8<

:�< :�<

Figura 5.54: Ejercicios sobre Propiedades

2. Halle la matriz de incidencia, C, para cada una de las redes de la Figu-ra 5.54.

3. Halle el marcado alcanzado en la red de la Figura 5.54-d si el vector se-cuencia de disparo es σ = {1, 0, 1, 0, 0}T .

4. Encuentre el árbol de cobertura para todas las redes de las Figuras 5.54.

5. Encuentre los gráficos de cobertura todas las redes de las Figuras 5.54.

6. Determine para el punto 4, ¿Cuáles árboles de cobertura son árboles dealcanzabilidad y por qué?

Page 166: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

144 CAPÍTULO 5. REDES DE PETRI

7. Determine para el punto 5, ¿Cuáles gráficos de cobertura son gráficos dealcanzabilidad y por qué?

8. Realice la simplificación de la siguiente red de Petri.

�(

�( �,

�- �. �((

�/�1

�0 �(,

�2�3

�('�(-

�,

�-

�.�1

�/

�2

�0

�('

�3

�((

�(,

Figura 5.55: Ejercicio de Simplificación

9. Encuentre las subredes de Petri que se pueden reducir a un lugar en lared de la Figura 5.55.

10. Encuentre los T-invariantes y P-invariantes para las redes de Petri de lasFiguras 5.54.

11. Realice la implementación en lógica cableada para la red de Petri de laFigura 5.54-d.

Page 167: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Bibliografía

[1] A. H. Jones, M. Uzam, A. H. Khan, D. Karimzadgan, S. B. KenwayA General Methodology for Converting Petri Nets Into Ladder Logic:The TPLL MethodologyProcediendo de la 5ta Conferencia Internacional CIMATFrancia, 1996, pp 357-362.

[2] Bobbio AndreaSystem Modelling with Petri NetsProcediendo de A.G. Colombo and A. Saiz Bustamante (eds),System Reliability Assessment, Kluwer p.c., pp 102-143. 1990.

[3] Brusey JamesPetriLLD TutorialSegunda Edición. 2005, 2006.

[4] Frantisek CapkoviModelling and Control of Discrete Event Dynamic SystemsBRICS Report Series, 2000. ISSN 0909-0878.

[5] García Moreno EmilioAutomatización de Procesos IndustrialesAlfaomega, 2001. ISBN 970-15-0658-8.

[6] Girault Claude, Valk RüdigerPetri Nets for Systems EngineeringA Guide to Modeling, Verification, and ApplicationsSpringer-Verlag, 2003. ISBN: 3-540-41217-4.

[7] Haas Peter JStochastic Petri Nets: Modelling, Stability, SimulationSpringer-Verlag, 2002. ISBN 0-387-95445-7.

[8] K. Venkatesh, M. Zhou, R. J. CaudillComparing Ladder Logic Diagrams and Petri Nets For SequenceController Design Through a Discrete Manufacturing SystemProcediendo de la IEEE, Transactions on Industrial Electronics,Vol. 41, No 6, pp 611 a 619. Diciembre de 1994.

145

Page 168: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

146 BIBLIOGRAFÍA

[9] Martins M. Paulo Romero, Dueire L. Rafael, Freire C. Paulo RobertoIntrodução às Redes de Petri e AplicaçõesDepartamento de Informática, Universidad Federal de PernambucoX Escola de Computação, Campinas-SP. Brasil, 1996.

[10] Murata TadaoPetri Nets: Properties, Analysis and ApplicationsProcediendo de la IEEE, Vol. 77, No 4, pp 541 1 580. Abril de 1989.

[11] Silva ManuelLas Redes de Petri: en la Automática y la InformáticaEditorial AC, 1985. ISBN 84-7288-045-1.

[12] Zurawski Richard, Zhou MengChuPetri Nets and Industrial Applications: A TutorialProcediendo de la IEEE, Transactions on Industrial Electronics,Vol. 41, No 6, pp 567 a 583. Diciembre de 1994.

Page 169: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 170: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 171: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Capítulo 6

ESTÁNDAR IEC 61131-3

6.1. Marco Introductorio

Los diagramas escalera, tal como se vieron en el Capítulo 4, han evoluciona-do desde los diagramas de cableado utilizados en el diseño de sistemas paravehículos, siendo inicialmente una excelente forma de expresar el desarrollo depequeñas aplicaciones con habilidades muy básicas en programación. Debidoa su fácil interpretación y seguimiento se hicieron muy populares y la mayoríade los PLCs entregaron una forma de programación con base en los diagra-mas escalera. Sin embargo, el desarrollo de un sistema de estos se vuelve máscomplejo cuando el tamaño del sistema crece, trayendo con ello nuevos pro-blemas en el desarrollo, especialmente haciendo muy difícil la creación de pro-gramas estructurados, el diseño de subrutinas o procedimientos y dificultandoenormemente el seguimiento y mantenimiento de sistemas en proporción altamaño de los mismos.

Aunque cada fabricante de PLCs trató a su manera de ir subsanando lasdificultades presentadas, el enorme crecimiento de la industria de los automa-tismos ocasionó la presencia de diversos lenguajes y técnicas de desarrollo pro-pios de cada uno dificultando la integración, mantenimiento y seguimiento delos sistemas por parte de los desarrolladores y personal de planta, requiriendode habilidades y capacitación especial en cada uno de los tipos de PLCs usados.Se requería, entonces, de lo que se llama hoy en día Sistemas Abiertos, permi-tiendo la construcción de grandes soluciones usando equipos provenientes devarios manufacturadores y estandarizando los métodos y técnicas de progra-mación. Lo anterior fue la motivación principal para la emisión del EstándarIEC 61131-3, el cual provee técnicas bien concebidas y probadas para lenguajesde programación de PLCs teniendo implicación directa sobre la productividaden el desarrollo de las aplicaciones al mejorar su análisis, desarrollo, manteni-miento y seguimiento [8, 9, 10]. La primera publicación del estándar se realizóen 1993 y a lo largo del tiempo ha tenido correcciones, enmiendas y reportestécnicos de los cuales los principales son: Corrección al IEC 61131-3 de 1994

149

Page 172: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

150 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

el cual corrige errores encontrados en el estándar posteriores a su publicación,Reporte Técnico 2 “Extensiones Propuestas al IEC 61131-3” y el Reporte Técni-co 3 “Guías para la aplicación e implementación de lenguajes de programaciónpara controladores programables” [4, 6, 5, 7, 8, 9].

6.1.1. Deficiencias de la Programación Escalera

Aunque este tipo de programación fue la abanderada en los inicios de lapropagación de los sistemas basados en PLCs, ella presentaba unas deficienciasbien definidas las cuales era necesario superar.

La mayoría de los sistemas de programación en escalera soportados por losPLCs entregaban un número limitado de subrutinas, dificultando la divisiónde un programa extenso en estructuras funcionales menores y con una jerar-quía bien definida. De lo anterior se puede deducir que se limitaba la reutili-zación de piezas de software con funcionalidades comunes a más de una apli-cación. Era entonces necesario escribir una y otra vez las mismas piezas desoftware para cumplir exactamente la misma funcionalidad dentro de un mis-mo sistema y más aún en sistemas diferentes. Es claro que la posibilidad detener bloques funcionales con lógica repetida que se puedan invocar continua-mente puede reducir en gran proporción el tamaño de los programas y facilitarsu mantenimiento.

Otro inconveniente con este tipo de sistemas escalera era su inercia naturala impedir el uso de estructuras de datos ya que estos eran almacenados comounidades simples de memoria en bits o registros, pero en los sistemas actualesse necesita poder mantener agrupados conjuntos de datos relacionados y to-dos, posiblemente, de naturaleza diferente. Un ejemplo particular es el casode un sensor en el cual fuera del valor que entrega relacionado con una varia-ble física se debe guardar información de su ubicación, identificación, últimomantenimiento, última falla, etc.

Tal vez la dificultad más grande con los sistemas escalera aparece una vezlos sistemas de control crecen, y a la vez también sus alcances y propósitos.Cuando el deseo es controlar un sistema complejo el cual abarca varios frentesse hace necesaria la introducción de control para la aplicación mediante secuen-cias. Si por ejemplo se quiere controlar el arranque de un motor de corrientealterna se requerirá iniciar verificando el estado de ciertas partes del sistemasque son externas al motor con el fin de asegurar la conveniencia o seguridad desu arranque, luego será necesario proceder con las acciones propias del arran-que y cuando se asegure su operación en régimen permanente realizar el pasode las acciones posteriores o activación de máquinas y sistemas subsecuentes.Aunque la realización de este tipo de aplicación es posible mediante el usode los diagramas escalera, su implementación es tediosa, a medida que el sis-tema crece se vuelve prácticamente inmanejable y su posterior mantenimientoes casi que imposible.

En un sistema como el descrito en el párrafo anterior será posible encontrarrequerimientos sobre el control de ejecución, por ejemplo se puede requerirseguimiento simultáneo a procesos donde las necesidades de ejecución del

Page 173: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.2. MARCO CONCEPTUAL 151

código relacionado con cada proceso pueden ser diferentes, así unas partesdel código deben ser evaluadas con mayor periodicidad en relación con otras.Estas demandas son bastantes difíciles de cumplir mediante la mayoría de lossistemas tradicionales encontrados. Es más, cuando el sistema requiere de con-troles basados en técnicas PID el problema se multiplica, ya que para garantizarun buen control, es necesario mantener la velocidad de muestreo entre actua-lizaciones de los algoritmos de control en estado estable y con una duracióndefinida. Además, cuando se hace necesaria la introducción de análisis máscomplejos se requerirá de la presencia de operaciones aritméticas, las cualesson bastante complicadas en su implementación mediante el uso exclusivo deprogramación escalera.

Todas las problemáticas expuestas son justificaciones más que válidas comomotivación para la búsqueda y posterior introducción del Estándar IEC 61131-3 [2, 1, 8, 9].

6.2. Marco Conceptual

El estándar IEC 61131-3 fuera de describir los lenguajes de programaciónpara PLCs, también consta de guías y metodologías para la creación de proyec-tos.

El estándar asume en todo instante que los valores provenientes de lossensores externos, encargados de obtener la valoración de las diferentes can-tidades físicas, se encuentran disponibles en locaciones definidas de memoriaen un PLC; de igual forma los valores de salida, encargados de controlar actua-dores e indicadores, serán exteriorizados al actualizar locaciones definidas dememoria.

6.2.1. Elementos del Modelo de Software

Los principales elementos requeridos en un modelo de software IEC 61131-3 son los siguientes [8, 9]:

Configuración: Conforma la capa exterior del modelo de software. General-mente se concibe como el mismo software requerido en un PLC. Cuan-do las aplicaciones se hacen más complejas y extensas, se hace necesariala presencia de varios PLCs, los cuales deben interactuar entre ellos ydonde el software de cada uno se puede interpretar como una configu-ración separada. La configuración guarda información sobre el tipo dePLC y recurso necesario para ejecutar un programa, la prioridad respec-tiva asignada, las variables globales y externas y las variables de asig-nación física.

Recurso: Cada una de las unidades de proceso disponibles en un PLC. Un re-curso puede correr varios programas y un programa no se podrá ejecutarsi no es cargado en un recurso.

Page 174: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

152 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Programa: Un programa se puede elaborar a partir de diferentes elementosde software, cada uno de los cuales puede a su vez ser elaborado encualquiera de los lenguajes de programación definidos por el estándar.Cada elemento constitutivo de un programa puede requerir de priori-dades diferentes de ejecución, para lo cual a cada parte se le puede asig-nar una tarea.

Tarea: Una tarea configura la ejecución de un conjunto de programas y/o blo-ques de funciones. Esta configuración puede permitir la ejecución pe-riódica de estos elementos o su ejecución ante solicitud. Un programa obloque de función determinado permanecerá inactivo hasta que sea asig-nado a una tarea específica y hasta el momento en el cual dicha tarea seejecute ya sea de forma periódica o por demanda.

Unidades de Organización de Programa (POU): Son las funciones y bloquesde funciones a partir de las cuales se pueden elaborar programas y otrasPOUs, por tanto pudiendo ser usados repetidamente en diferentes partesde una aplicación. El estándar IEC 61131-3 limita los tipos de POUs a tresprincipales tipos de bloques los cuales se describen en la Tabla 6.1:

Tipo de POU Descripción

Programa

PROGRAMRepresenta el programa principal y la unidad mayor de reu-tilización de software. En este tipo de unidad se incluye laasignación de variables de entrada y salida a direcciones físi-cas del PLC. Puede tener uno o varios parámetros de entraday de salida.

Bloque de Función

FUNCTION_BLOCKTipo de POU base del diseño jerárquico, al permitir la creaciónde programas desde unidades menores. Puede contener fun-ciones y otros bloques de funciones. Posee un algoritmo quecorre una vez con cada ejecución del bloque de función. Per-mite definir datos como conjunto de parámetros de entraday salida que se pueden conectar a otros bloques o a variablesinternas. Las variables definidas pueden ser estáticas, lo cualimplica que sus valores se pueden retener entre ejecuciones.

Función

FUNCTIONElemento de software que al ser invocado con un mismo con-junto de valores de entrada siempre retorna el mismo valor desalida, es decir, no posee variables estáticas y solo produce unúnico resultado primario.

Tabla 6.1: Tipos de POUs

Variables Locales y Globales: Las variables pueden contener diferentes tiposde datos y poseer nombres que las representen de forma adecuada. Lasvariables locales se pueden declarar ya sea en las configuraciones, en losprogramas, en los bloques de funciones o en las funciones, pero quedan-do restringidas en acceso únicamente al elemento que las contiene. Una

Page 175: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.2. MARCO CONCEPTUAL 153

variable global puede ser declarada en un programa y por tanto ser ac-cedida desde todos los elementos de software dentro del mismo, igual-mente si ésta es definida en un recurso o en una configuración podrá seraccedida por todos los elementos constitutivos de los mismos.

Variables de Representación Directa: Permiten el acceso directo a posicionesde memoria del PLC. Sólo pueden ser declaradas y accedidas dentro delos programas. Su uso extensivo dificulta la reutilización de los progra-mas que las definen, dado que al indicar posiciones determinadas dememoria éstas pueden variar de un programa a otro.

Ruta de Acceso: Es una declaración especial de variable que puede ser leídao escrita por otras configuraciones remotas diferentes a la que la declara.Es de resaltar que el estándar no define los protocolos de comunicacionesa emplear.

A continuación, en la Tabla 6.2, se resumen los diferentes tipos de variablesdisponibles y el Constructor 1 respectivo de cada una de ellas.

Tipo de Variable Constructor Descripción

Variable Local VAR Sólo es visible y procesable dentro dela POU que la define. Puede ser leída oescrita.

Variable de Entrada VAR_INPUT Es una variable que es visible en laPOU invocante. Dentro de su POU sólopuede ser leída más no escrita.

Variable de Salida VAR_OUTPUT Es una variable que es visible en laPOU invocante. Fuera de su POU só-lo se puede leer, pero dentro puede sertanto leída como escrita.

Variable de Entraday Salida

VAR_IN_OUT Tipo de variable que combina los dostipos anteriores. Puede ser leída y escri-ta tanto fuera como dentro de su POU.

Variable Externa VAR_EXTERNAL Es una variable global definida poruna POU, siendo visible y con posibi-lidades de lectura y escritura por todaslas otras POUs.

Variable Global VAR_GLOBAL Posee las mismas características de unavariable externa.

Variable Ruta deAcceso

VAR_ACCESS Variable global de uso en las configu-raciones como medio de comunicaciónentre una y las demás.

Tabla 6.2: Tipos de Variables1Un constructor es una palabra especial, escrita normalmente en mayúsculas, empleada para

determinar el inicio y/o fin de un elemento particular de software.

Page 176: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

154 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

En la Figura 6.1 se observa una representación esquemática de los diferentescomponentes o elementos involucrados en el modelo de software definido porel Estándar IEC 61131-3.

����������������5���������

���������������

A����!����5��!�����M����������������4���������

�������

��

���7�+

�����5�����4�

������� �������

�� �� �� ��

���7�+ ���7�+ ���7�+ ���7�+

!��F� �

����6:�!<

A�����������6

:���<

�! ���

Figura 6.1: Modelo Definido por el Estándar IEC 61131-3

6.2.2. Partes de una POU

Toda POU consta de tres partes, con las cuales se define completamente sutipo y funcionalidad deseada. En la primer parte se define el nombre y tipode la POU, en la segunda parte se realiza la declaración de tipos de datos yvariables y la última parte consta del código de instrucciones o algoritmo quedefine la funcionalidad [8, 9].

Si la POU es una función, en la primer parte debe ir la definición de tipos dedatos. El Estándar IEC 61131-3 permite que las partes de declaración y de códi-go puedan ser realizadas en cualquiera de los cinco lenguajes de programacióntextuales o gráficos definidos en el mismo estándar. Si, por ejemplo, se deseaimplementar un bloque de función para el arranque de un motor AC trifásico,la POU respectiva podría ser la mostrada en la Figura 6.2.

En el estándar se definen un total de cinco lenguajes de programación, delos cuales tres son gráficos y dos son textuales, permitiendo la portabilidad delos programas independiente de los proveedores de los PLCs. A continuaciónse realiza una corta presentación de cada uno de los lenguajes, ya que su des-cripción será objetivo de secciones subsecuentes.

Page 177: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.2. MARCO CONCEPTUAL 155

��9��� ����

�� �CE�� �=��8� �

A��8� ������ �

��7����+�

��� �� �� ������ �

��� �� ��6��7�

�������������� ������������

� ���������������������������� �� ����������������������

� ������������ �!������������� ���������������"���#��!��������� �

��5������

���F� �����

�����

��

A �����

Figura 6.2: Partes de una POU

Texto Estructurado: (Structured Text- ST) Lenguaje de programación de altonivel de sintaxis similar a los lenguajes tradicionales de texto como C,PASCAL, etc.

Listado de Instrucciones: (Instruction List- IL) Lenguaje de programación debajo nivel con orientación a máquina, el cual se basa en lenguajes simi-lares ofrecidos por varios proveedores de PLCs.

Diagrama de Bloques de Funciones: (Function Block Diagram- FBD) Lengua-je de programación que permite la interconexión gráfica del flujo de con-trol entre funciones, bloques de funciones y los demás elementos fun-cionales.

Diagrama Escalera: (Ladder Diagram- LD) Lenguaje gráfico de programaciónque se basa en los tradicionales diagramas de lógica cableada, o escalera.

Diagrama Funcional Secuencial: (Sequential Function Chart- SFC) Lenguajegráfico de programación que permite describir el flujo de control me-diante la asignación de tareas en partes que se pueden realizar en formasecuencial o paralela.

Como ejemplo para los diferentes tipos de lenguajes del estándar, se tiene laimplementación de un control sencillo para una alarma en un banco: si se abrela caja fuerte en horario laboral se debe encender un indicador de riesgo, perosi se abre la caja fuerte fuera de horario laboral se debe activar una alarmasonora:

IF (CajaFuerte=Abierta) AND (Horario=Laboral) THENIndicador=1;ELSEIF (CajaFuerte=Abierta) AND (Horario<>Laboral) THENAlarma=1;

END_IF;END_IF;

Figura 6.3: Ejemplo de Texto Estructurado

Page 178: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

156 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

LD CajaFuerteAND LaboralST IndicadorLD CajaFuerteAND NOT(Laboral)

ST Alarma

Figura 6.4: Ejemplo de Listado de Instrucciones

�;�� ��

�8���

�;�� ��

�������

���+

��

Figura 6.5: Ejemplo de Diagrama de Bloques Funcionales

N�������

N���+

�;�� �� �8���

�8���

Figura 6.6: Ejemplo de Diagrama Escalera

'

�;�� ��

(

������� ���+

�8��� �8���

�� �� �� ��

, -

Figura 6.7: Ejemplo de Diagrama Funcional Secuencial

Page 179: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 157

6.3. Elementos Comunes a los Lenguajes del Están-dar

Como ya se ha dicho, el algoritmo funcional de los programas, bloques defunciones y funciones puede ser programado empleando cualquiera de los cin-co lenguajes definidos por el estándar, sin embargo independientemente dellenguaje seleccionado, ciertas partes de toda POU deben ser definidas siemprede la misma manera, como es el caso de la declaración de variables, los tiposde datos, definición del tipo de POU, etc. Para ello se hace necesario introducirantes que nada un gran número de elementos comunes y características queaplican para todos los lenguajes [8, 9].

6.3.1. Conjunto de Caracteres

Una condición importante que debe cumplir cualquier lenguaje del están-dar es su portabilidad entre diferentes sistemas, por tanto toda información entexto debe estar restringida a ser expresada mediante un conjunto definido deletras, dígitos y caracteres. Para cumplir con lo anterior se emplea los carac-teres del estándar ISO 646 denominado como “Basic Table Code”. El estándares flexible al permitir alternativas para resolver conflictos debidos a caracterescon varios significados dependiendo de su contexto o uso regional, sin em-bargo se prohíbe el empleo de caracteres regionales, aunque se pueden incluircomo extensiones del estándar para una nación determinada.

6.3.2. Identificadores

Los identificadores son mostrados en texto normal y se emplean para darnombres a las variables, funciones, nuevos tipos de datos y otros elementosdentro del lenguaje. Siempre deben iniciar con un caracter que sea diferentede un dígito y el resto de la cadena se puede componer de letras, dígitos olíneas de subrayado, sin embargo se prohíbe el uso de dos líneas de subrayadoseguidas. Se debe prestar atención al hecho que los identificadores no son sen-sibles a mayúsculas, por tanto dos variables llamadas por ejemplo “Activo” y“ACTIVO” son tratadas como la misma variable; además el estándar sólo exigela verificación de los primeros 6 caracteres de un identificador para determinarsu unicidad, por lo que dos variables llamadas por ejemplo “Activo_1” y “Ac-tivo_2” podrían ser las mismas dependiendo del sistema empleado.

6.3.3. Palabras Reservadas

Identificadores especiales que normalmente se escriben en mayúsculas yque el estándar reserva para definir diferentes construcciones o para iniciary terminar elementos determinados del lenguaje. Se permite su escritura enmayúsculas, minúsculas o mezcla de ambas sin afectar el significado de ellas,

Page 180: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

158 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

por lo que además se prohíbe su empleo para definir el nombre de variables,programas u otros elementos.

En la Tabla 6.3 se hace una lista completa de las palabras reservadas porel estándar IEC 61131-3, la mayoría de ellas se describirán en las secciones si-guientes, las otras se dejan para que el lector verifique su funcionalidad.

Letra Palabras Reservadas

A ABS, ACOS, ACTION, ADD, AND, ANDN, ANY, ANY_BIT, ANY_DATE,ANY_INT, ANY_NUM, ANY_REAL, ARRAY, ASIN, AT, ATAN

B BOOL, BY, BYTE

C CAL, CALC, CALCN, CASE, CD, CDT, CLK, CONCAT, CONFIGURATION,CONSTANT, COS, CTD, CTU, CTUD, CU, CV

D D, DATE, DATE_AND_TIME, DELETE, DINT, DIV, DO, DS, DT, DWORD

E ELSE, ELSIF, END_ACTION, END_CASE, END_CONFIGURATION,END_FOR, END_FUNCTION, END_FUNCTION_BLOCK, END_IF,END_PROGRAM, END_REPEAT, END_RESOURCE, END_ STEP, END_STRUCT,END_TRANSITION, END_TYPE, END_VAR, END_WHILE, EN, ENO, EQ, ET,EXIT, EXP, EXPT

F FALSE, F_EDGE, F_TRIG, FIND, FOR, FROM, FUNCTION, FUNCTION_BLOCK

G GE, GT

I IF, IN, INITIAL_STEP, INSERT, INT, INTERVAL

J JMP, JMPC, JMPCN

L L, LD, LDN, LE, LEFT, LEN, LIMIT, LINT, LN, LOG, LREAL, LT, LWORD

M MAX, MID, MIN, MOD, MOVE, MUL, MUX

N N, NE, NEG, NOT

O OF, ON, OR, ORN

P P, PRIORITY, PROGRAM, PT, PV

Q Q, Q1, QU, QD

R R, R1, R_TRIG, READ_ONLY, READ_WRITE, REAL, RELEASE, REPEAT, RE-PLACE, RESOURCE, RET, RETAIN, RETC, RETCN, RETURN, RIGHT, ROL, ROR,RS, RTC, R_EDGE

S S, S1, SD, SEL, SEMA, SHL, SHR, SIN, SINGLE, SINT, SL, SQRT, SR, ST, STEP, STN,STRING, STRUCT, SUB

T TAN, TASK, THEN, TIME, TIME_OF_DAY, TO, TOD, TOF, TON, TP, TRANSITION,TRUE, TYPE

U UDINT, UINT, ULINT, UNTIL, USINT, VAR

V VAR_ACCESS, VAR_EXTERNAL, VAR_GLOBAL, VAR_INPUT, VAR_IN_OUT,VAR_OUTPUT

W WHILE,. WITH, WORD

X XOR, XORN

Tabla 6.3: Palabras Reservadas IEC 61131-3

Page 181: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 159

En las Figuras 6.2 y 6.3 las palabras reservadas se muestran en mayúsculas.

6.3.4. Comentarios

La gran mayoría de los lenguajes de programación, tanto modernos comotradicionales, han permitido la inserción de comentarios dentro del cuerpo deinstrucciones, esto con el fin de poder especificar funcionalidades, facilitar elmantenimiento de los algoritmos o simplemente para clarificar procedimien-tos.

Todos los lenguajes IEC 61131-3 permiten la inserción de comentarios, aun-que el Listado de Instrucciones tiene algunas restricciones. Un comentario seinicia con los caracteres “(*” y se termina con “*)”, se puede colocar en cualquierubicación que permita la inserción de al menos un espacio en blanco, aunquese debe tener en cuenta que los comentarios anidados no se permiten. A con-tinuación se muestra un ejemplo de comentario:

(*****************************************)(*****************************************)(*********Arranque Motor Trifásico********)(*****************************************)(*****************************************)(*Arranque Y-Delta por Transición Abierta*)(*****************************************)

(*****************************************)

Figura 6.8: Ejemplo de Comentario

6.3.5. Delimitadores

Son símbolos especiales requeridos para la sintaxis de un lenguaje, los cua-les pueden variar su significado dependiendo de su forma de uso. Por ejemplo,el símbolo “(“ seguido de un asterisco denota el inicio de un comentario, perosi se usa solo denota el listado de parámetros de una función que se invoca;otro ejemplo de símbolo con múltiples usos, y por ende significados, es el “-”,el cual se puede usar como el operador de sustracción, pero también se puedeemplear como un operador de negación de expresiones.

Algunos de los delimitadores más empleados son los siguientes, teniéndoseen cuenta que sus modos de uso y significados se podrán inferir para la granmayoría de forma natural: +, - , #, E, ;, :=, ,(coma), (...), [...], ;, %, =>, <, >, >=,<=, =, <>, *, **, /, &. El espacio en blanco se considera igualmente como undelimitador.

Page 182: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

160 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.3.6. Tipos de Datos

6.3.6.1. Tipos de Datos Elementales

Debido al amplio rango de operación de los PLCs hoy en día, se hace nece-sario que estos soporten una gran variedad de tipos y formatos de datos, entrelos cuales se encuentran los Enteros, Reales, Tiempo, Fecha y Tiempo, Cade-nas y Booleanos los cuales se constituyen como los tipos elementales de datosdisponibles.

Cuando se habla de tipos de datos siempre se hace una relación con aque-llos datos especiales que representan valores fijos para un tipo de dato dado,normalmente denominados como constantes, a los cuales el estándar los llamaLiterales.

Los literales en algunas ocasiones pueden presentar problemas de ambi-güedad en el valor que se desea representen en relación con el tipo de datoempleado, por ejemplo si se desea indicar que el número 547 está en base 8y no en base 10 se hace necesario introducir un delimitador para definir conclaridad el tipo de dato, en el caso particular del ejemplo podría ser 8#547, oeste mismo número en base 2 podría ser ingresado como 2#101_100_111 dondeel caracter “_” es permitido por el estándar para fines de claridad sin introducirsignificado alguno.

En la Tabla 6.4, se muestra un listado completo de los tipos elementales dedatos disponibles en el estándar y ejemplos de literales para cada uno de ellos,además se puede observar el empleo de varios delimitadores.

Es importante destacar de la Tabla 6.4 como el tamaño requerido para lostipos de datos Duración, Fecha y Tiempo y de las Cadenas depende de la im-plementación realizada, además para el tipo de dato Cadena existe un conjuntode caracteres reservados que se pueden emplear al post ponerlos al indicadorde caracteres no imprimibles, “$”, y con los cuales se puede relacionar accionesde control sobre las cadenas a imprimir. Por ejemplo, $L indica un caracter dealimentación de línea, $N caracter de nueva línea, $P caracter de nueva pági-na, $R caracter de retorno de carro y $T caracter de tabulación. Estos caracteresde control se pueden escribir en mayúsculas o minúsculas y también se puedeusar su valor hexadecimal en dos dígitos.

Un caso especial se presenta cuando se desea imprimir el caracter de co-milla simple, el cual a su vez se emplea para iniciar y terminar un literal decadena (ver ejemplo de literales para cadenas en la Tabla 6.4), en este caso seusa $’ para indicar su impresión como en el caso de la siguiente cadena: ’Avisode $’Alarma$’ ’ lo cual dará como resultado visible al usuario: Aviso de ’Alar-ma’.

Page 183: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 161

Tipos de Datos Descripción Bits Rango o Uso

Enteros (Integer)SINT

INTDINTLINT

USINTUINT

UDINTULINT

Entero cortoEnteroEntero dobleEntero largoEntero corto sin signoEntero sin signoEntero doble sin signoEntero largo sin signo

81632648163264

-128 a +127-32768 a +32767-231 a +231-1-263 a +263-10 a 2550 a +216-10 a +232-10 a +264-1

Ejemplos de Literales 16#2AFUSINT#135

2AF en base 16135 tipo USINT

Reales (Real)REAL

LREAL

RealReal largo

3264

±10±38

±10±308

Ejemplos de Literales +2_145.021REAL#+2.4E-03

+2,145.0210.0024 tipo REAL

Duración (TIME)TIME Duración de tiempo Según Tiempo enlasado

Ejemplos de Literales T#63h12m10sTIME#3.5m_10ms

1 h, 15 min y 10 s3 min, 30 s y 10 ms

Fecha y Tiempo(Date and Time)

DATETIME_OF_DAY

DATE_AND_TIME

Fechas calendario (D)Hora del día (TOD)Fecha y hora día (DT)

SegúnSegúnSegún

FechasHoras relojFecha y hora día

Ejemplos de Literales date#2007-10-31TOD#15:30:30DT#2005-07-12-17:46:12

31 de octubre de 20073 pm, 30 min y 30 seg12 de Julio de 2005 y5pm, 46 min y 12 seg

Cadenas (Strings)STRING Cadenas de caracteres Según Guarda texto

Ejemplos de Literales ’Inicio de Arranque’’Fin de Arranque $r’

Mensaje de inicioMensaje con caracter deretorno de carro

Cadenas de Bits(Bit String)

BOOLBYTE

WORDDWORDLWORD

Cadena de un bitCadena de 8 bitsCadena de 16 bitsCadena de 32 bitsCadena de 64 bits

18163264

Estados lógicos8 bits de datos16 bits de datos32 bits de datos64 bits de datos

Ejemplos de Literales BYTE#1111_000016#DC1AFALSE

11110000Asignación a WORDAsignación 0 a BOOL

Tabla 6.4: Tipos de Datos Elementales

Page 184: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

162 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.3.6.2. Datos Genéricos

Los tipos de datos elementales se han organizado en una estructura je-rárquica de acuerdo con propiedades similares entre ellos, por ejemplo todoslos tipos de datos Enteros comparten ciertas propiedades, lo mismo se puededecir de los tipos de datos Reales. A un nivel mayor, los tipos de datos En-teros y Reales comparten ciertas propiedades entre sí. De estas agrupacionesjerárquicas salen los tipos de datos genéricos, los cuales mostrados de menor amayor nivel son:

ANY_INT el cual hace referencia a cualquiera de los tipos de datos enteros

ANY_REAL el cual hace referencia a cualquiera de los tipos de datos reales

ANY_NUM el cual hace referencia a cualquiera de los dos tipos anterioresANY_INT o ANY_REAL

ANY_DATE el cual hace referencia a cualquiera de los tipos de datos de fechay tiempo

ANY_BIT el cual hace referencia a cualquiera de los tipos de datos de cadenasde bits

ANY_ELEMENTARY el cual hace referencia a cualquiera de los tipos de datoselementales

ANY es el nivel mayor de jerarquía y comprende a cualquiera de los tipos dedatos

Estos tipos de datos genéricos se emplean para describir variables de entraday/o salida en bloques de funciones o funciones las cuales pueden tener variostipos de datos, y se les conoce como Variables Sobrecargadas. Un ejemplo de estetipo de funcione es MIN(), la cual está descrita mediante el uso de tipos dedatos genéricos, lo cual muestra que esta misma función se puede emplear enun amplio rango de tipos de datos diferentes.

Los tipos de datos que define el usuario, Datos Derivados, quedan incluidosdentro de la categoría ANY. Los tipos de datos genéricos no se pueden em-plear dentro de la parte de declaración de variables en las POUs creadas por elusuario y su uso se restringe a explicar la interfaz de llamado de las funcionesy bloques de funciones estándares del lenguaje.

6.3.6.3. Propiedades de Tipos de Datos Elementales

A un tipo de dato elemental se le puede asignar varias propiedades. Unade estas propiedades común a todos los tipos es el Valor Inicial, por defecto losvalores iniciales de las variables se fijan en cero para las numéricas y de tiempo,cadenas vacías para las Strings, False (0) para las de Bits y 0001-01-01 para lasfechas.

Page 185: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 163

Otra propiedad común a todos los tipos de datos es la Enumeración, la cualasigna nombres a los valores que puede asumir una variable determinada,donde cada nombre es convertido adecuadamente por el sistema en códigoapropiado.

Una propiedad que se podría extender a varios tipos de datos, pero que deacuerdo con el estándar sólo está definida para los tipos Enteros es Range, éstaconsiste en limitar el rango entre los cuales una variable de este tipo puedeasumir valores.

Otras dos propiedades bien importantes, y quizá las de mayor utilidad, sonlas de Array y Structure. En la primera de ellas varios elementos del mismo tiposon combinados en un solo arreglo, permitiéndose su uso anidado, caso en elcual se formarían arreglo de varias dimensiones. En la propiedad de Structurevarios elementos de distintos tipos de datos se combinan para formar un nuevotipo de dato.

Los arreglos (Arrays) son disposiciones ordenadas de datos del mismo tipo,los cuales se pueden acceder mediante un índice que se encuentra dentro deunos límites apropiados de acuerdo al tamaño del arreglo. La mayoría de lossistemas modernos de PLCs permiten el control de error para acciones que in-tentan acceder a posiciones dentro de un arreglo que están fuera de los límites,o tamaño, del mismo. El número de índices necesarios para acceder un elemen-to particular dependerá del número de dimensiones, por ejemplo, para unamatriz (2D) serán necesarios dos índices para poder apuntar hacia un elemen-to cualquiera. La forma de definirlos se verá más adelante, aunque se resalta elhecho que el estándar permite que los arreglos se puedan definir directamenteen la parte de declaración de variables sin necesidad de una declaración previade tipo de dato.

Las estructuras (Structures) son colecciones de elementos de diferentes tipos,entre las cuales pueden haber tipos elementales, tipos derivados e incluso otrassubestructuras en una organización jerárquica. Las dos palabras reservadasSTRUCT y END_STRUCT se emplean para indicar el inicio y fin, respectiva-mente, de la declaración de una nueva estructura.

6.3.6.4. Tipos de Datos Derivados

Son tipos de datos que se forman con base en los tipos elementales y suspropiedades, permitiéndose así al usuario la creación personalizada de estruc-turas complejas de datos adecuadas para una aplicación dada. Estos tipos de-rivados son globales para todo un proyecto y se emplean para declarar varia-bles mediante el uso de nombres, en la misma forma que se hace con los tiposelementales. La forma de definir estos tipos de datos es textual y para ello seemplean las palabras reservadas TYPE y END_TYPE para indicar su inicio yfin. Si por ejemplo, se desea crear un nuevo tipo de variable que refleje toda lainformación de los motores de una planta industrial se podría crear un tipo dedato como el siguiente:

Page 186: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

164 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

TYPERpmMotMaqMotLinTrabajoArchivoSTRUCTNombreEstadoMotores

END_STRUCT;END_TYPE

:INT(0..10000);:ARRAY[1..20]OF Rpm;:ARRAY[1..10]OF MotMaq;:(Paro, Mant, Prod);:

:STRING;:Trabajo:=Paro;:MotLin;

(*Propiedad de rango*)(*Propiedad arreglo*)(*Propiedad arreglo*)(*Propiedad enumeración*)(*Nombre de la estructura*)

(*Tipo elemental de dato*)(*Tipo enumeradoinicializado*)(*Tipo arreglo*)

Figura 6.9: Ejemplo de Declaración de Tipo de Dato Derivado

En el ejemplo mostrado en la Figura 6.9 se muestra la forma de definir tiposde datos derivados haciendo uso de los tipos elementales y de sus propiedades.El tipo Rpm es la velocidad que se ha definido con un rango de valores enterosaceptables entre 0 y 10000, MotMaq es un arreglo donde se puede guardar elvalor de velocidad de hasta 20 motores para una misma máquina, cada una delas cuales es del tipo Rpm definido previamente. MotLin es otro arreglo de unmáximo de 10 elementos representado a cada una de las máquinas que puedenconformar una línea de producción, donde cada elemento son los motores decada una de las máquinas tal como se definió en el tipo MotMaq. El tipo Traba-jo posee la propiedad de enumeración y cada uno de sus elementos se ingresacomo un nombre pero el sistema de programación convierte estos elementos alcódigo correcto, normalmente a valores enteros iniciando con un valor numéri-co de uno. En el caso de este ejemplo particular, para determinar el estado detrabajo actual de la línea se han definido los estados de operación paro, man-tenimiento y producción (Paro, Mant, Prod). En el ejemplo de la Figura 6.9,Archivo es un dato tipo estructura el cual se ha formado de otros datos dediferente naturaleza y contiene a su vez datos elementales y datos derivados,por ejemplo Nombre es un tipo de dato elemental, mientras Estado es del tipode dato derivado Trabajo pero ha sido inicializado con el valor “Paro”. Final-mente Motores es otro elemento de la estructura denominada Archivo y es deltipo de dato derivado MotLin.

Todas las propiedades descritas para los datos de tipo elemental se extien-den a los datos derivados con la misma restricción dada para la propiedadRange. Además en general, los tipos de datos derivados pueden componersede otros tipos derivados siempre y cuando no se cause recursión, es decir, untipo derivado se componga de otro y a su vez este último se componga delprimero. Como consecuencia de la extensión de la propiedad Valor Inicial atipos derivados de datos, ellos se pueden inicializar en valores que se debendefinir en la parte de declaración del tipo o de una variable, aunque si lo ante-rior no se realiza los tipos derivados conservan los valores por defecto de lostipos elementales que los componen. La inicialización de valores en el caso delos arreglos y las estructuras se puede realizar para cada uno de los elemen-

Page 187: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 165

tos, a continuación se muestran dos ejemplos de como realizar la definición devalores iniciales en el caso de estructuras de este tipo:

MotMaq: ARRAY[1..20]OF Rpm:=[10(0), 4(1800), 6(3600)];

MotEmpresa: Archivo (Estado:=Mant);

En el caso de MotMaq se ha inicializado las diez primeras componentes delarreglo en un valor de 0, las cuatro siguientes componentes en 1800 y las últi-mas seis en 3600. Para MotEmpresa definido como de tipo Archivo se ha ini-cializado la componente Estado en la calidad de Mant, pero los demás valoresiniciales de los elementos de este tipo permanecerán igual a los definidos paraArchivo o en los valores por defecto de los tipos de datos elementales en casode no haber sido inicializados, ver Figura 6.9.

6.3.7. Variables

Existen varios tipos de variables las cuales se declaran, al igual que los tiposde datos, en la parte de declaraciones de una POU y dichos tipos dependen desu funcionalidad dentro de la POU. La definición de todos los tipos inicia conuna palabra reservada que indica el tipo, pero siempre termina con END_VAR.Si dentro de un mismo tipo de variable existe mas de una variable del mis-mo tipo de dato, éstas se pueden definir como una lista separada medianteel delimitador coma (,). Además las variables poseen propiedades que tam-bién pueden ser definidas dentro de su declaración, entre las cuales están: laspropiedades de los tipos de datos declarados ya sean elementales o derivados,declaración de valores iniciales, declaración de límites adicionales a arreglos ydeclaración de atributos.

En las secciones siguientes se verá los tipos específicos de variables dispo-nibles con su aplicación y los atributos que se pueden definir para cada una deellas.

6.3.7.1. Tipos de Variables

Variables Internas: Es el listado de variables que se usan dentro de la POU yque se comportan de forma análoga a las variables locales de los lengua-jes tradicionales de programación, es decir, ellas sólo pueden ser acce-didas dentro de la POU que las define. Su declaración inicia con la pa-labra reservada VAR y termina con END_VAR y se puede realizar encualquiera de los tres tipos de POU ya descritos.

Variables de Entrada: Es el listado de variables que se comportan como pa-rámetros de entrada para una POU y los cuales son suministrados porfuentes externas de datos. Esta clase de variable puede ser definida entodo tipo de POU y su declaración debe iniciar con la palabra reservadaVAR_INPUT y terminar con END_VAR.

Page 188: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

166 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Variables de Salida: Es el listado de variables que se comportan como pará-metros de salida de una POU y son consecuentemente escritas hacia va-riables externas. Esta clase de variable se puede definir sólo en los pro-gramas o bloques de funciones más no en las funciones. Su declaracióninicia con la palabra reservada VAR_OUTPUT y termina con END_VAR.

Variables de Entrada/Salida: Es el listado de variables que actúan simultánea-mente como parámetros de entrada y salida a una POU y los cuales sepueden modificar a su interior, aunque estas variables son guardadascomo externas a la POU que las define. Su acceso externo es igual aldefinido para las variables de salida. Un ejemplo de uso de este tipo devariables es cuando un mismo bloque funcional puede realizar varias ta-reas, éste sería el caso de un bloque de función capaz de realizar las ta-reas de Arranque, Operación y Paro de un motor AC trifásico. Declaran-do una variable de entrada/salida MODO, al inicio de la ejecución unavariable externa escribirá en MODO la tarea Arranque, pero una vez estebloque de función realice dicha labor escribirá en MODO el valor Ope-ración indicando el estado actual del motor y el cual se puede emplearcomo validación para el inicio de otras tareas. La declaración de este tipode variable inicia con la palabra reservada VAR_IN_OUT y termina conEND_VAR, aunque dicha declaración no se puede realizar en las POUsde tipo función.

Variables Globales: Las variables globales se pueden declarar a nivel de con-figuración, recurso o programa y pueden ser accedidas por cualquierPOU existente dentro de ellos. Su función es permitir el acceso a valoresde variables desde el interior de los programas y bloques de funciones.Su declaración inicia con la palabra reservada VAR_GLOBAL y terminacon END_VAR.

Variables Externas: Son declaradas dentro de las POUs y su función es permi-tir el acceso a variables globales definidas a nivel de configuración, recur-sos o programa. Su declaración inicia con la palabra reservada VAR_EX-TERNAL y termina con END_VAR.

Variables Temporales: Son variables definidas por el estándar como variablesdeclaradas dentro de una POU que son ubicadas en un área temporalde memoria y las cuales son liberadas una vez la POU indique su finde ejecución. Su declaración se realiza mediante la palabra reservadaVAR_TEMP y termina con END_VAR.

Variables de Representación Directa: Este tipo de variable es empleada parahacer referencia directa a posiciones de memoria en un PLC sin necesi-dad de emplear un identificador. Su uso puede limitar la reutilizaciónde código cuando se emplean en programas o bloques de funciones. Lasintaxis de una variable de representación directa tiene la forma de lasiguiente cadena: %AB#. En la anterior cadena % es el caracter de inicio,

Page 189: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 167

A representan la región de memoria del PLC a la cual pertenece la va-riable y que puede ser memoria de entrada (I), memoria de salida (Q) ymemoria interna (M); B representa el tipo de memoria la cual puede serBit (X), Byte (B), Word (W) Doble Word (D) y Long Word (L); finalmente# es una dirección numérica en formato multi-dígito jerárquico donde laparte más significativa se encuentra a la izquierda y su significado de-pende de cada fabricante. La variable de representación directa %QX2.3es la variable de salida tipo bit para la palabra 2 bandera 3. Cuando, co-mo en el ejemplo anterior, el tipo de memoria es Bit (X) se puede omitirésta en la cadena de la variable de representación directa, con lo cual lacadena anterior queda %Q2.3.

Las variables de representación directa también pueden ser declaradasempleando un identificador, caso en el cual se denominan Variables Sim-bólicas. A continuación se muestra un ejemplo de como realizar la decla-ración de este tipo de variable:

AT%IB2: Byte; (*Entrada Byte en dirección 2 tipo representación

directa*)

SENSOR AT%IW4: WORD; (*Salida Word en dirección 4 tipo variable

simbólica*)

Variables MultiElemento: El estándar se refiere a los arreglos y estructurascomo variables multi-elemento, por lo que a las variables de un solo ele-mento se les denomina como variables de elemento simple. Las defini-ciones de los tipos de datos para variables multi-elemento se realizan dela forma descrita para tipos de datos derivados.

Variables de Acceso: Es el listado de variables por medio de las cuales otrosprogramas basados en el estándar IEC 61131-3 y otros dispositivos remo-tos podrán hacer referencia a ciertas variables. Este tipo de variable sólopuede hacer referencia a variables de entrada o salida en un programa,a variables globales y a variables de representación directa. Las variablesanteriores pueden, a su vez, hacer referencia a un tipo de dato multi-elemento o a un elemento particular del mismo. Su declaración inicia conla palabra reservada VAR_ACCESS y termina con END_VAR.

6.3.7.2. Atributos de las Variables

El estándar define un conjunto de atributos con los cuales se puede realizarla asignación de propiedades adicionales a las variables declaradas. Estos atri-butos los podemos dividir en dos grupos principales, uno en el cual el atributoafecta a todo un conjunto de variables declaradas y otro que afecta a cada va-riable de forma individual.

Page 190: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

168 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Al primer grupo pertenecen los atributos RETAIN y CONSTANT los cualesse deben colocar enseguida de la palabra reservada que define al grupo de va-riables que se desea cubrir. RETAIN se emplea para indicar variables cuyosvalores no se deben perder durante un corte de energía y que por ende sonsoportadas mediante batería interna, se puede emplear con variables de tipoVAR, VAR_OUTPUT y VAR_GLOBAL. CONSTANT se emplea para indicarvariables cuyos valores no pueden ser cambiados durante la ejecución de unprograma y por lo que en realidad deben ser tomadas como constantes y nocomo variables, se puede emplear con variables de tipo VAR y VAR_GLOBAL.El uso simultáneo de los dos atributos anteriores no tiene sentido y por tantono es permitido por el estándar.

En el segundo grupo se encuentran cuatro atributos que deben ser especi-ficados de forma individual para cada variable. R_EDGE y F_EDGE hacenreferencia a variables booleanas con activación por flanco de subida o baja-da respectivamente y según el estándar sólo están definidos para variables detipo VAR_INPUT aunque pueden ser extensibles a VAR y VAR_GLOBAL. Losatributos READ_ONLY y READ_WRITE se reservan de forma expresa para eltipo VAR_ACCESS y además son los únicos permitidos para este tipo de varia-ble. READ_ONLY indica que un dispositivo o programa remoto sólo puedeleer la variable referenciada, mientras que READ_WRITE indica que dichavariable se puede leer y/o escribir.

A continuación, en la Figura 6.10, se presenta un ejemplo en el cual se puedecomprender la forma y sintaxis para empleo de los anteriores atributos.

VAR_INPUTInicio

END_VARVAR CONSTANTModo

END_VARVAR_OUTPUTSalida1,

Salida2END_VAR

:BOOLR_EDGE;

:Bit:=2#1;

RETAIN:BYTE;

(*Atributo de flanco de subida*)

(*Variable tipo Bit con atributoConstant fijada a un valor de 1binario*)

(*Variables tipo Byte con atributoRetain*)

Figura 6.10: Ejemplo de Declaración de Atributos a Variables

Como se puede observar los atributos van luego de un delimitador de espa-cio en blanco inmediatamente a continuación de la palabra reservada que hacereferencia a los elementos afectados. En el ejemplo anterior, para el caso de lavariable Inicio que es afectada por un atributo individual, éste se debe colocarluego del tipo de dato, mientras que en el caso de las variables Modo, Salida1y Salida2 ellas se afectan grupalmente por lo que el atributo se coloca luego deltipo de variable.

Page 191: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 169

6.3.7.3. Inicialización de Variables

Cuando una configuración o recurso arranca se le asigna un valor iniciala todas las variables, el cual dependerá de la información especificada por elprogramador en la parte de declaración de la variables o de sus tipos de datoselementales y derivados. Todas las variables poseen un valor inicial intrínseco,excepto las de tipo Externas y de Entrada/Salida, lo cual se debe en el caso delas externas a que son inicializadas cuando se declaran como globales y en elcaso de las de Entrada/Salida a que hacen referencia (son punteros) y no sonvariables en sí.

Una variable puede asumir un valor inicial de acuerdo a un orden priori-tario ascendente de la siguiente forma:

1. Valor inicial desde el tipo de dato elemental

2. Valor inicial desde el tipo de dato derivado

3. Valor inicial en la declaración de la variable

4. Valor almacenado para la variable si posee el atributo RETAIN

En la anterior lista el numeral cuatro posee la prioridad más alta, sin embargose debe diferenciar entre dos tipos diferentes de arranque, uno provenienteluego de cargar por primera vez un programa o posterior a un paro por erroro solicitud del usuario y que se denomina Arranque en Frío caso en el cual elnumeral cuatro no se lleva a efecto y la prioridad en los valores iniciales latoman los puntos uno a tres con mayor prioridad en éste último. Otro tipo dearranque es el posterior a un paro por corte en potencia y el cual se denominaArranque en Caliente y donde el punto cuatro es el que tiene la mayor prioridad.

6.3.8. Tipos de Unidades de Organización de Programa

Existen tres formas diferentes de definir unidades de organización de pro-gramas (POUs), las cuales son: Funciones, Bloques de Funciones y Programas.Su finalidad es la creación estructurada de proyectos en PLCs al permitir lareutilización de software. Al igual que con los tipos de datos y nombres dadosa las variables, se requiere de un identificador para declararlas, acción que esconocida como Instancia. Cuando se declaran varias variables del mismo tipode dato pero con diferentes nombres, se crea una copia (instancia) de cada unaen memoria, así mismo cuando lo declarado son POUs estas copias contienelos valores de las variables locales, de entrada y de salida, lo cual significa quela instancia guarda los valores de datos locales así como los parámetros de en-trada y salida de cada una.

A continuación se describirá en más detalla cada una de tres POUs definidaspor el estándar.

Page 192: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

170 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.3.8.1. Funciones

Son un elemento de software con una funcionalidad definida y que ante unconjunto de parámetros particulares de entrada siempre entregan el mismo va-lor primario como respuesta. En forma general el tipo de dato de salida de unafunción es del mismo tipo de dato de la entrada, aunque se pueden presentarexcepciones a esta regla como se verá más adelante. Este tipo de POU se carac-teriza por que ante un mismo valor en las entradas siempre se producirá el mis-mo valor en la salida, este sería el caso por ejemplo de la función seno, SIN(),la cual ante un mismo parámetro siempre retornará el mismo valor de salida.Aunque lo anterior parece evidente para todo tipo de función, en ocasiones serequiere que la respuesta varíe de una ejecución a otra así los parámetros deentrada sigan siendo los mismos (como en el caso de una función de conteo, lacual produce una salida en incremento o decremento en relación al último valorproducido), este tipo de comportamiento no se puede lograr con las Funcionesdefinidas por el estándar y para ello se requiere de los Bloques de Funciones loscuales se verán en la sección siguiente. En definitiva una función no puedeguardar valores dentro de variables internas.

El usuario puede crear nuevas funciones, adicionales a las estandarizadas,para lo cual se debe iniciar la declaración con la palabra reservada FUNCTIONy terminar con END_FUNCTION. El nombre dado a la función se debe colocara continuación de la palabra de inicio separado por el delimitador espacio enblanco y debe tener definido su tipo de dato. Ya que las funciones sólo poseenun único valor de salida, el mismo nombre de la función actúa como el accesoa dicho dato.

La declaración de una función en general contiene una lista de parámetrosde entrada y variables internas al final de la cual sigue el algoritmo que descri-be la funcionalidad deseada. Este algoritmo se puede describir en cualquierade los lenguajes del estándar menos en SFC. Los únicos tipos permitidos parala declaración de variables en las funciones son VAR y VAR_INPUT, aunqueuna enmienda de la segunda edición de la norma permitió que las entradas alas funciones sean declaradas como de tipo VAR_IN_OUT lo cual implica quelas variables puedan ser ingresadas para modificación dentro de la función.

La norma permite, más no exige, que una misma función provea la sobrecar-ga de tipos de datos, esto es que una misma función se pueda emplear con lamisma funcionalidad pero sobre tipos de datos diferentes aunque relacionados.Un ejemplo de una función de este tipo es la función raíz cuadrada (SQRT), lacual puede ser empleada con cualesquiera de los tipos de datos pertenecientesa ANY_NUM, ya que la misma función se puede emplear independiente de siel tipo de dato es por ejemplo REAL o LREAL y por ende la respuesta debeser en el mismo tipo de dato de la entrada. Si un fabricante decide no imple-mentar la sobrecarga de las funciones, entonces el estándar especifica que debeproveer una función por cada tipo de dato donde el nombre de la función debeser el nombre estándar de la misma seguida de un guión bajo y el tipo de datoespecífico de la función. De lo anterior, si por ejemplo un fabricante implemen-ta la sobrecarga de funciones entonces la función raiz cuadrada sólo se debe

Page 193: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 171

denominar SQRT, mientras que si no la implementa entonces debe existir unafunción por cada tipo de dato, caso en el cual si el tipo de dato es REAL o LRE-AL la función ahora se debe denominar entonces SQRT_REAL o SQRT_LREALrespectivamente.

En ciertas ocasiones será necesaria la conversión entre tipos de datos con elfin de poder realizar ciertas operaciones matemáticas, de comparación u otras,ya que el mismo estándar exige verificación estricta sobre los tipos de datos porparte del compilador, quien debe asegurar su consistencia. El estándar defineque las funciones para conversión entre tipos de datos deben tener la forma<Tipo Entrada>_TO_<Tipo Salida>, así por ejemplo el nombre de la funciónpara convertir un entero a real debe ser INT_TO_REAL. La conversión de undato de punto flotante a uno entero implica la pérdida de la parte fraccional y elredondeo debe estar en complacencia con el estándar IEC 559. La norma igual-mente pide la detección de errores cuando la conversión produce un númeroque desborda la capacidad de representación de destino, lo cual puede ocurrircuando, por ejemplo, se convierte un dato de tipo UDINT a uno de tipo UINTya que el rango de representación del segundo es menor que el del primero.

Ejemplo Se requiere implementar una función que evalúe el discriminante deuna ecuación cuadrática. En este caso las entradas serán las constantes A,B y C de la ecuación cuadrática, la cual tiene la formaAx2 +Bx+C = 0 yla salida será una variable booleana que indica con un valor de verdaderosi las raíces son reales o de lo contrario si son complejas: B2 − 4AC ≥ 0.

FUNCTION DISCRVAR_INPUTA, B, C

END_VARVAREVALUAR

END_VAR

:BOOL:=FALSE

:LREAL;

:LREAL;

(*Se inicia enFalso*)

(*Entradas tipoLREAL*)

(*Variable tipoLREAL*)

EVALUAR := B* -(4*A*C);IF EVALUAR >= 0 THEN

DISCR := TRUE;END_IF;

END_FUNCTION

Figura 6.11: Función que Evalúa Discriminante en Ecuación Cuadrática

En el ejemplo anterior la función posee tres parámetros de entrada, los cualescuando la función es invocada desde otra función, bloque de función o progra-ma pueden ser asignados como valores provenientes desde literales, valoreso expresiones. El nombre de los parámetros para la función invocada se tomadesde los identificadores asignados a cada variable de entrada que se declaró aldefinir el tipo de función. Por ejemplo, a continuación se muestran tres formas

Page 194: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

172 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

diferentes de asignar valores a los parámetros de la función DISCR cuando esinvocada:

DISCR1 := DISCR(A:=2, B:=3,

C:=1);

DISCR2 := DISCR(B:=4+1, A:=2,

C:=1);

DISCR3 := DISCR(B:=3, C:=1);

Figura 6.12: Ejemplo de Invocación de Función

DISCR1 es evaluada mediante la función DISCR con parámetros dados to-dos como literales, en DISCR2 se puede observar que los parámetros se puedeningresar en cualquier orden y en DISCR3 hace falta un parámetro, caso en elcual a A le es asignado el valor por defecto para un dato de tipo LREAL (osea cero). Sin embargo la mayoría de las funciones estandarizadas no poseennombres para los parámetros debido a que son evidentes y explicativos por simismos, por lo que estas funciones se invocan mediante una lista de paráme-tros, un ejemplo es nuevamente la función raíz cuadrada donde es claro que elvalor entre paréntesis, SQRT(x), es el que se desea evaluar.

Cuando las funciones son empleadas en los lenguajes gráficos de progra-mación del estándar LD (Diagrama Escalera) y FBD (Diagrama de Bloques deFunciones) ellas poseen una entrada y una salida adicionales denominadasrespectivamente como EN y ENO. Estas dos variables son definidas de for-ma implícita tanto para las funciones estandarizadas como cuando se defineun nuevo tipo de función y por ende no requieren ser declaradas, sin embar-go ellas pueden ser accedidas dentro del cuerpo de la función como parte desu implementación. La entrada EN (Enable) es una habilitación de ejecucióny debe tener un valor de TRUE para poderse ejecutar el conjunto de instruc-ciones en el cuerpo de la función. La salida ENO (Enable Output) es puestaautomáticamente en un valor de TRUE cuando la ejecución de la función serealiza exitosamente. Cuando EN tiene un valor de FALSE siempre la salidaENO tomará un valor igual, sin embargo cuando EN tiene un valor de TRUEinicialmente ENO toma un valor de TRUE pero programáticamente dentro delcuerpo de la función este valor puede ser cambiado, lo cual puede ocurrir sidurante la ejecución ocurren errores, aunque el estándar exige que el compi-lador ponga automáticamente ENO en FALSE ante la ocurrencia de alguno delos tipos de errores definidos por el mismo estándar. Para poder realizar la an-terior implementación, las palabras EN y ENO son reservadas en los lenguajesdescritos, y aunque una enmienda del estándar permitió la implementación deestas variables en texto estructurado, para poder permitir una posible conver-sión de código entre lenguajes también deben ser reservadas en IL y ST.

Con la ayuda de las variables EN y ENO de las funciones se puede realizaruna implementación fácil de control de error al conectar la variable de salidaENO de una función a la variable de entrada EN de otra, lo cual impedirá la

Page 195: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 173

ejecución de funciones posteriores a la ocurrencia de errores o ante situacionesprogramadas.

Ejemplo Se plantea la necesidad de sumar dos números reales y posterior-mente obtener la raíz cuadrada de dicha suma. Si la suma efectuada esnegativa la raíz cuadrada no es un número real y por tanto no se podríaefectuar, entonces un posible código de control para esta situación en STse muestra a continuación.

SUMA := ADD(A, B, ENO=>OkSuma);IF OkSuma THEN

IF SUMA >= 0 THENPOSITIVO := TRUE;

END_IF;RAIZ := SQRT(SUMA, EN:=POSITIVO,

ENO=>OkRaiz);END_IF;

Figura 6.13: Uso de las Variables EN y ENO de una Función

Del ejemplo anterior es importante resaltar como se ha empleado la salida ENOde cada una de las funciones para ir controlando la ejecución. Se puede obser-var además que el delimitador =>se emplea para asignar el valor de ENO enotra variable y que para realizar la suma se ha empleado la función ADD lacual es idéntica al operador de texto estructurado “+”. Igual analogía ocurrecon las funciones y operadores de resta (SUB y -), multiplicación (MUL y *),división (DIV y /), módulo (MOD y MOD), exponencial (EXPT y **) y de asig-nación (MOVE y :=). Los operadores de suma y multiplicación se denominanextensibles ya que el número de parámetros de entrada puede variar, mientrasque los demás no presentan esta característica.

En la Figura 6.13 también es de resaltar el empleo de la función de com-paración “mayor o igual que”. Todas las funciones de comparación siempreretornarán un tipo de dato BOOL y se pueden emplear con todos los tipos dedatos, además también poseen un operador en texto estructurado para cadauna así: mayor que (GT y >), mayor o igual que (GE y >=), igual (EQ y =),menor que (LT y <), menor o igual que (LE y <=) y desigualdad (NE y <>).

Con frecuencia, la evaluación de una condición se compone de varias ope-raciones lógicas (en la Figura 6.13 del ejemplo anterior la condición de cada unode los dos IF es directamente una variable booleana). En general estas opera-ciones pueden ser realizadas sobre datos de tipo Bit String con la operaciónlógica efectuada sobre bits en la misma posición, pero cuando el tipo de da-to es BOOL entonces se tendrá una operación lógica binaria. Las funcionesbooleanas definidas por el estándar son las siguientes: AND, OR, XOR y NOTcon las cuales se puede fácilmente obtener cualquier otra función o realizar im-plementaciones de operaciones más complejas. En los lenguajes gráficos LD yFBD las funciones OR y XOR poseen representación gráfica para cada una deellas, mientras que las funciones AND y NOT aunque poseen representacióngráfica también se pueden emplear de forma textual.

Page 196: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

174 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.3.8.2. Bloques de Funciones

Permiten la evaluación de un algoritmo o acciones a partir de un conjuntode datos, los cuales pueden ser las variables de entrada, las variables internasy las mismas variables de salida, creando así un nuevo conjunto de valorespara las variables de salida y para las variables internas. Los bloques de fun-ciones permiten sostener valores de datos entre ejecuciones los cuales a su vezse pueden emplear como medio para recordar estados anteriores.

La definición de un tipo de bloque de función se realiza iniciando con la pa-labra reservada FUNCTION_BLOCK y terminando con la palabra END_FUNC-TION_BLOCK, y dentro de las cuales se especifica la estructura de datos y elalgoritmo. Para el uso del bloque de función se debe especificar una instanciadel mismo, mediante la cual se determina un conjunto específico de datos conestructura igual a la definida en el tipo de bloque de función asociado. Estainstancia se puede invocar ya sea como un bloque gráfico de una red o por unllamado en los lenguajes textuales y además se puede emplear en otras defini-ciones de tipo de programas o bloques de funciones.

La declaración de un tipo de bloque de función se compone de dos partesprincipales, de las cuales la primera contiene la declaración del listado de va-riables de entrada, salida e internas y una segunda parte con el algoritmo o des-cripción funcional y que se puede realizar en cualquiera de los cinco lenguajesdel estándar.

A continuación se muestra la creación de un bloque de función denominadoCONTADOR.

Ejemplo Crear un bloque de función que implemente la funcionalidad de con-teo ascendente y descendente de acuerdo con lo solicitado por una entra-da de control denominada MODO, la cual además debe permitir reiniciary sostener el valor de la variable de conteo.

Para este bloque de función se emplea una variable de entrada que sedenomina MODO y la cual permite una de entre cuatro posible opera-ciones diferentes: RESET, ASC, DES y RET. Cuando el valor de MODOsea RESET el valor de la salida será siempre cero, cuando sea ASC o DESse debe efectuar el conteo ascendente o descendente respectivamente yfinalmente para el valor de RET se debe retener el último valor de la sali-da. Dadas las anteriores consideraciones es claro que la única variable deentrada es MODO, y puede ser de tipo enumerado, y la única variablede salida es el valor de la cuenta que se denomina CUENTA y que esun número entero con signo, por ejemplo de tipo INT. La declaración delbloque de función debe asumir que con antelación ya existe una defini-ción para el tipo enumerado, como se muestra en la Figura 6.14.

Se puede notar como el tipo de dato derivado TipoMODO fue inicializa-do en el valor RET, pero la variable de entrada MODO definida como deTipoMODO fue inicializada en el valor RESET. Además en el algoritmose define un caso específico para la retención, pero si se desea éste no serequiere explícitamente.

Page 197: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 175

TYPETipoMODO : (RESET, ASC, DES,

RET):=RET:END_TYPEFUNCTION_BLOCK CONTADORVAR_INPUT

MODO : TipoMODO:=RESET;END_VARVAR_OUTPUT

CUENTA : INT:=0;END_VAR

IF MODO = RESET THENCUENTA := 0;

ELSIF MODO = ASC THENCUENTA := CUENTA + 1;

ELSIF MODO = DES THENCUENTA := CUENTA - 1;

ELSIF MODO = RET THENCUENTA := CUENTA;

END_IF;END_FUNCTION_BLOCK

Figura 6.14: Definición de Bloque de Función

Como se puede observar en la Figura 6.14, la variable de salida depende delvalor de la variable de entrada y de la misma variable de salida, lo cual hace ladiferencia fundamental entre una función y un bloque de función. Para poderemplear el bloque de función CONTADOR en otra POU se debe declarar unainstancia del mismo y además los valores presentes de las entradas y paráme-tros del bloque de función se pueden acceder en los lenguajes textuales colo-cando el nombre de la instancia seguido de un punto y a continuación el nom-bre del parámetro. En la Figura 6.15 se muestra un ejemplo de como emplearuna instancia y como asignar sus salidas.

Ejemplo Emplear una instancia del bloque de función CONTADOR, definidoen el ejemplo anterior, dentro de un programa que realice una cuentacíclica de 1 hasta 100.

En este ejemplo, el programa denotado como CUENTA_CICLICA per-mite realizar una cuenta ascendente de 1 hasta 100 dependiendo de si laentrada CONTROL_CUENTA tiene un valor de TRUE, caso en el cualse configura el contador CONT1, de tipo CONTADOR, en modo ascen-dente y se verifica si se ha alcanzado el límite máximo para configurarfinalmente un reset al contador.

Page 198: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

176 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

PROGRAM CUENTA_CICLICAVAR INPUTCONTROL_CUENTA :

BOOL:=FALSE;END_VARVAR_OUTPUTVALOR_CUENTA : INT:=0;

END_VARVARCONT1 : CONTADOR;

END_VAR

IF CONTROL_CUENTA THENCONT1(MODO := ASC);VALOR_CUENTA :=

CONT1.CUENTA;IF CONT1.CUENTA = 100 THEN

CONT1(MODO := RESET);END_IF;

END_IF;END_PROGRAM

Figura 6.15: Definición de un Bloque de Función

El estándar IEC-61131-3 define unos bloques funcionales estándares los cualesabarcan las siguientes operaciones:

Biestables: Se incluye el Biestable RS. Se debe recordar, de la Tabla 3.23, quepara los flip-flops RS existe restricción para el caso cuando ambas en-tradas son 1, por este motivo se implementan dos tipos diferentes de flip-flop por el estándar, el RS donde la entrada R es dominante y por tantopara el caso de la restricción la salida valdrá 0 lógico y el SR donde S es eldominante y por tanto en caso de entradas con valor igual a la restricciónla salida tomará un valor de 1 lógico.

Semáforo: Es un bloque de función que permite controlar la ejecución de ta-reas que comparten un mismo recurso. El bloque de función se denominaSEMA y posee dos entradas, una llamada CLAIM, la cual fija una soli-citud cuando toma un valor de TRUE y otra RELEASE empleada paraliberar el recurso cuando recibe igualmente un valor de TRUE. La únicasalida de este bloque de función es BUSY, de tipo BOOL, y toma un valorde TRUE desde el instante en el cual se solicita el recurso hasta cuandose libere.

Detección de Flancos: Son bloques de funciones que permiten la detección decambio de estado en una variable de tipo BOOL. El primero de ellos esR_TRIG, el cual detecta el flanco de subida de una señal, y el segundoes F_TRIG que detecta el flanco de bajada. La salida de ambos bloquesde funciones es Q y cambia de estado cuando se detecta el cambio co-rrespondiente al tipo de flanco. Existe un tercer bloque de función deeste tipo, denominado EDGE_CHECK, el cual detecta simultáneamente

Page 199: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 177

ambos flancos y cuya salida cambia igualmente cuando ocurre cualquierade las detecciones; para su implementación requiere de dos entradas, unapara los flancos de subida, CLK1, y otra para los flancos de bajada, CLK2.

Contadores: Son tres bloques de funciones que implementan las operacionesmás comunes usadas con los contadores. El primero de ellos es el conta-dor ascendente, CTU, el cual realiza la cuenta de flancos de subida en suentrada CU, hasta que alcance un máximo de cuenta definido en la entra-da PV de tipo de dato INT. Las salidas de este bloque de función son: CV,de tipo INT, la cual se incrementa (mientras no se alcance la cuanta má-xima) en uno cada vez que llega un nuevo flanco de subida y Q, de tipoBOOL, la cual toma un valor de TRUE cuando se llega a la cuenta má-xima. La entrada de tipo BOOL denominada R se emplea para reiniciarel contador. El segundo tipo de contador, CTD, realiza la cuenta en for-ma descendente desde un valor prefijado mediante la entrada PV, de tipoINT, actualizando el valor actual de cuenta en la salida CV cada vez quellega un flanco de subida a la señal de entrada CD. Análogamente al con-tador CTU, el contador CTD pone en TRUE la salida Q cuando la cuantaalcanza cero y entonces no realiza más cuentas hasta que se reinicie elcontador mediante la entrada LD. El tercer tipo de contador es CTUD eimplementa la funcionalidad combinada de los otros dos contadores, portanto posee dos entradas para detectar los flancos de subida para cuen-ta ascendente (CU) y para cuenta descendente (CD), dos entradas parareiniciar el contador dependiente de si se logró la cuenta máxima (R) o sise alcanzó cero (LD) y una última entrada para indicar el máximo valorde cuenta. Posee una salida para el valor actual de cuenta (CV) y dos sa-lidas para indicar si se alcanzó la cuenta máxima (QU) o cero (QD) casosestos en los cuales no se vuelve a realizar la operación de cuenta hastaque se efectúe un reinicio del contador.

Temporizadores: El estándar define cuatro tipos diferentes de funciones detemporización, relacionadas directamente con operaciones análogas enlógica cableada. Debido a la naturaleza y gran utilidad de estas funcionesse dedicará a continuación tiempo para ver cada una de ellas por separa-do.

1. Temporizador de Pulso (TP): Es un bloque de función que imple-menta la funcionalidad de generador de pulsos con una duraciónfija de tiempo. Cuando llega un flanco de subida a la entrada IN detipo BOOL la salida Q, también de tipo BOOL, se pone en TRUE du-rante un tiempo que es especificado en la entrada PT (Pulse Time)de tipo TIME. La salida ET (Elapsed Time), de tipo TIME, indica eltiempo transcurrido desde que la salida Q toma un valor de TRUEy permanece constante luego de terminado el pulso y sólo es reini-ciada con la detección de cambio en IN. La operación de este tipode temporizador se muestra en la Figura 6.16, donde se puede ob-servar que la principal característica de este temporizador es la de

Page 200: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

178 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

no refrescar las ordenes de conteo, es decir, la duración de un pulsosiempre será la indicada en la entrada PT.

����

��

$

��

!��� !���

���� ����

��

$

��

�� �� ��

Figura 6.16: Característica de Tiempo del Temporizador TP

2. Temporizador de Retraso ON (TON): La funcionalidad de ese bloqueconsiste en poner en TRUE la salida Q un tiempo después, dado enla entrada PT, de la activación de la entrada IN (valor TRUE en IN).La salida Q permanece activa hasta que se presente un cambio de es-tado en la entrada IN, además si esta entrada permanece activa pormenos tiempo del especificado en PT la salida Q no se activa. Enla salida ET, de tipo TIME, se puede consultar el tiempo transcurri-do del retraso, tiempo que permanecerá constante mientras la salidaQ este activa. En la Figura 6.17, se puede observar la característicadistintiva de este temporizador. En los lenguajes del estándar LD yFBD este temporizador se puede representar de forma alterna como’T—0’.

��

$

��

�� �� ��

�����

��

$

��

!��� !���

���� ����

Figura 6.17: Característica de Tiempo del Temporizador TON

3. Temporizador de Retraso OFF (TOF): Este bloque de función realizala operación inversa del temporizador TON, ya que el tiempo de re-traso especificado en la entrada PT determina la desactivación de Q.Cuando la entrada IN se activa, también lo hace Q y permanece asíhasta un tiempo PT después de la desactivación de la entrada IN. Lasalida ET nuevamente es el tiempo transcurrido del retraso contado

Page 201: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTÁNDAR 179

desde la desactivación de IN hasta transcurrido PT, permaneciendoconstante mientras Q este activo. La Figura 6.18 muestra la carac-terística de tiempo de este temporizador. En los lenguajes del es-tándar LD y FBD se puede representar este temporizador de formaalternativa como ’0—T’.

�����

��

$

��

!��� !���

���� ����

��

$

��

�� ��

Figura 6.18: Característica de Tiempo del Temporizador TOF

4. Reloj de Tiempo Real: Cuando un flanco de subida llega a la entradaIN del reloj de tiempo real (RTC), se fija el tiempo en la fecha y horaespecificadas en la entrada PDT (Preset Data and Time). Luego enlos llamados subsecuentes de este bloque de función la entrada INdebe permanecer en TRUE, con lo cual la entrada PDT es ignoraday la salida CDT (Current Data and Time) se actualiza mostrando lafecha y tiempo actual. En algunos PLCs sólo se permite una instan-cia de este bloque de función, por lo que es común emplearlo comouna variable global. Si la entrada IN no recibe un flanco de subida,la salida CDT es de tipo “indefinida”. Actualmente este bloque defunción no es obligatorio por parte del estándar.

�����

���

$

���

!��� !���

����O���O���� ����O���O����

Figura 6.19: Reloj de Tiempo Real

6.3.8.3. Programas

En analogía con los lenguajes tradicionales de programación, las funcionesy bloques de funciones constituyen lo que se denomina subrutinas y la POU detipo programa viene siendo el programa principal o unidad mayor en jerarquíadentro de la reutilización de código. En los PLCs con capacidades de multitarease pueden tener varios programas en ejecución simultánea, cada uno asociadoa una configuración.

Page 202: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

180 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

En general, un programa es similar en estructura a un bloque de función,aunque posee unas diferencias que se expresarán a continuación. Dentro delas funciones y bloques de función no se acostumbra el empleo de las varia-bles de representación directa, dado que limitarán la reutilización, pero en losprogramas ellas si son ampliamente usadas. Los programas pueden contenerdeclaraciones de variables globales con el fin de compartir datos entre dife-rentes elementos internos al programa. Un programa puede declarar variablestipo VAR_ACCESS para permitir la comunicación con otros dispositivos remo-tos. Dentro de un programa no se puede declarar instancias de otros progra-mas, éstas son exclusivamente reservadas para los recursos. Una característi-ca muy especial, y discutida previamente, se relaciona con el hecho que cadabloque de función dentro de un programa puede ser relacionado con una tareadiferente. En general un programa puede actuar como unidad mayor de con-trol sin necesidad de una Configuración controlando la asignación de tareas yde las entradas y salidas físicas de un PLC, aunque para proyectos extensos serecomienda mejor usar la Configuración.

La declaración de este tipo de POU se realiza empezando con la palabrareservada PROGRAM y terminando con END_PROGRAM. Su declaración seinicia con los listados de variables de entrada, salida, internas, variables de re-presentación directa, variables simbólicas, instancias de bloques de funciones,instancias de variables internas e instancias de variables externas y terminacon el algoritmo que describe la funcionalidad propuesta y el cual puede serimplementado usando cualesquiera de los cinco lenguajes de programacióndefinidos por el estándar. La Figura 6.15 es un ejemplo de programa.

Ejemplo Haciendo uso de la función DISCR, implementar un programa queevalúe las raíces de una ecuación cuadrática.

PROGRAM RAICESVAR_INPUTa, b, c : LREAL:=0;

END_VARVARR1, R2 : LREAL:=0;Discriminante : BOOL;Mensaje : STRING(25);Tmp : LREAL:=0;

END_VAR

Discriminante := DISCR(A:=a, B:=b, C:=c);IF Discriminante THENMensaje := ’Las raices son reales’;Tmp := SQRT(b*b - (4*a*c));R1 := (-b + Tmp) / (2*a);R2 := (-b - Tmp) / (2*a);

ELSEMensaje := ’Las raices son complejas’;

END_IF;END_PROGRAM

Figura 6.20: Programa que Evalúa las Raices de la Ecuación Cuadrática

Page 203: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.4. TEXTO ESTRUCTURADO (ST) 181

En la Figura 6.20 se puede observar la forma de invocar una función den-tro de un programa y como declarar la extensión máxima en caracterespara variables de tipo cadena. Además se informa la existencia de raícescomplejas mediante un mensaje adecuado.

6.4. Texto Estructurado (ST)

Luego de ver los elementos que conforman cada una de las unidades deorganización de programa (POU) dentro del estándar IEC 61131-3, se inicia lapresentación individual de cada uno de los cinco lenguajes descritos dentro dela misma norma. El primero que se verá es el Texto Estructurado o ST, el cual sepuede emplear para desarrollar los algoritmos dentro de las funciones, bloquesde funciones y programas.

ST es un lenguaje de alto nivel desarrollado puntualmente para aplica-ciones de control industrial, pero con una sintaxis muy similar a los lenguajestradicionales basados en texto, constituido por un extenso conjunto de cons-tructores con finalidades particulares [1, 8, 9].

6.4.1. Sentencias

Un programa se compone de un conjunto de sentencias, donde cada unaestá separada mediante el delimitador “;”, por lo que una sentencia puede serescrita empleando varias líneas ya que el caracter de alimentación de línea serátratado simplemente como un espacio. Los comentarios se pueden insertar encualquier lugar de la sentencia donde se permita la presencia de un espacio.Las sentencias permiten entre otras labores asignar valores a variables, realizarllamados a funciones y bloques de funciones, crear expresiones, evaluar sen-tencias condicionales y crear estructuras de control de flujo.

6.4.2. Asignaciones, Operandos y Operadores

La sentencia más simple es la asignación, donde el valor de una variablese actualiza mediante el uso de la siguiente sintaxis: Val1 := Val2; donde a lavariable Val1 le es asignando el valor que posee la variable Val2. Otro ejemplode asignación podría ser el siguiente:

Val3 := Val4 (*Error*) *

Val5 (*Amplitud*) / 5.0 (*Constante*);

Donde a la variable Val3 le es asignado el valor producto de evaluar laexpresión al lado derecho del delimitador “:=” y el cual puede ser de cualquierade los tipos elementales de datos o un tipo derivado de dato. Se debe prestaratención a la forma en la cual se puede insertar libremente los comentarios,

Page 204: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

182 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

indicando en este caso por ejemplo el significado de cada una de las variablesde la expresión a evaluar.

En general una expresión consiste de Operandos, los cuales se relacionanmediante Operadores de tipos aritméticos o lógicos. Los operandos pueden serconformados por literales, variables de tipo simple o multielemento y llamadosa funciones. No se permite el uso de bloques de funciones como operandos deuna expresión, ya que estas pueden no tener valores de retorno, y por tanto sontratadas directamente como sentencias.

Los operadores se dividen principalmente en tres grupos a saber: agru-pación, matemáticos y lógicos. Para poder evaluar una expresión que incluyevarios operadores se definen reglas de precedencia, o jerarquía, entre los mis-mos operadores; a continuación se enumera cada uno de los operadores dispo-nibles iniciando con el de mayor jerarquía y terminando con el de menor: ( ),llamado a función, **, -(negación), NOT, *, /, MOD, +, -(sustracción), <, >, <=,>=, =, <>, & (AND lógica), XOR, OR. Cuando una expresión contiene variosoperadores con el mismo nivel de jerarquía, entonces ellos son evaluados deizquierda a derecha. Un ejemplo de asignación de una expresión compuestapor varios operandos y operadores se muestra a continuación.

Salida := Dato1 * Dato2 * (Dato1 + Dato 3) +

ADD(4.3, 2.2) + 3 MOD 2;

Ya que los bloques de funciones no se pueden emplear como operandosde una expresión, entonces la forma adecuada es usarlos directamente comosentencias, tal como se puede observar en el programa CUENTA_CICLICAmostrado en la Figura 6.15.

6.4.3. Sentencias para Control de Flujo

Este tipo particular de sentencias permiten controlar la forma en la cualse realiza la evaluación de las diversas sentencias individuales que componenun algoritmo. Se dividen en dos grupos principales, las condicionales y las deiteración.

Las sentencias condicionales permiten la ejecución de sólo un conjunto par-ticular de sentencias dependiendo de la evaluación de una expresión. En estetipo de sentencias condicionales se encuentran dos: la sentencia IF ... THEN ...ELSE (Si .... Entonces ... De lo contrario) y la sentencia CASE (Caso).

La sentencia IF ... THEN ... ELSE puede ser implementada de varias for-mas, dependiendo de los requerimientos particulares de cada algoritmo y sedistingue de la sentencia CASE por el hecho que en ella las expresiones deevaluación son de tipo booleanas. A continuación, en la Figura 6.21, se mues-tra varias formas de implementación.

Page 205: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.4. TEXTO ESTRUCTURADO (ST) 183

IF <expr bool>THEN<sentencia 1>;

...<sentencia n>;

ELSE<sentencia 1>;

...<sentencia n>;

END_IF;

IF <expr1 bool>THENIF <expr2

bool>THEN<sentencia 1>;

...<sentencia n>;

ELSE<sentencia 1>;

...<sentencia n>;

END_IF;ELSE

<sentencia 1>;...

<sentencia n>;END_IF;

IF <expr1 bool>THEN<sentencia 1>;

...<sentencia n>;

ELSIF <expr2bool>THEN

<sentencia 1>;...

<sentencia n>;ELSE

<sentencia 1>;...

<sentencia n>;END_IF;

Forma 1 Forma 2 Forma 3

Figura 6.21: Formas de Sintaxis para la Sentencia IF ... THEN ... ELSE

La forma 1 es la tradicional y en ella se puede omitir, a conveniencia, lasección del ELSE y además el número de sentencias puede ser una sola. Laforma 2 es una implementación anidada de la forma 1 y en ella se puede te-ner consideraciones individuales para cada IF de acuerdo a lo expresado parala forma 1. La forma 3 permite la evaluación continuada de consideracionesy en ella puede haber más de un ELSIF y puede o no existir el ELSE segúnconveniencia. Aunque la sección del ELSE es opcional en cada una de las for-mas, se debe considerar su implementación como parte de una buena técnicade implementación al no dejar posibles situaciones sin evaluación.

La sentencia CASE permite la evaluación de un conjunto de sentencias de-pendiendo del valor entero tomado por una expresión, esta última siendo tancompleja como se requiera. En la Figura 6.22 se muestra su forma general.

CASE <expresión con valorentero>OF

<Valor entero 1>:<Sentencias>;

...<Valor entero n>:

<Sentencias>;ELSE

<Sentencias>;END_CASE;

Figura 6.22: Sintaxis para la Sentencia CASE

Page 206: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

184 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

El valor entero de selección para sentencias puede ser dado en cuatro for-mas diferentes, a saber: como un único valor entero (3 : <sentencias>;), comoconjunto de valores (1,3,7 : <sentencias>;), como un rango de valores (2..6 :<sentencias>;) y como un valor de una variable enumerada. Para el caso deuna variable enumerada, si por ejemplo se tiene una variable llamada OPCIONcon tres posibles valores (OPCION : (Opc1, Opc2, Opc3)) entonces cada uno sepuede emplear como un caso de la sentencia CASE, como se puede observaren la Figura 6.23.

CASE OPCION OFOpc1 :

<Sentencias>;Opc2 :

<Sentencias>;Opc3 :

<Sentencias>;ELSE

<Sentencias>;END_CASE;

Figura 6.23: Sentencia CASE con Variable Enumerada

Igualmente en las sentencias CASE no es requerimiento incluir la seccióndel ELSE, pero ésta se recomienda con el fin de evitar omitir posibles situa-ciones sin evaluación.

En el grupo de sentencias de iteración se encuentran tres, a saber: la sen-tencia FOR ... DO, la sentencia WHILE ... DO y la sentencia REPEAT ... UNTIL.La funcionalidad de este grupo es permitir el control de ejecución para un con-junto de sentencias que se debe repetir cierto número de veces y donde por sumisma naturaleza se debe tener especial cuidado en no crear ciclos infinitos.

La sentencia FOR ... DO está diseñada para permitir la ejecución repetidade un conjunto de sentencias de acuerdo con el valor tomado por una variableque determina el número de iteraciones a realizar. Dada la naturaleza de laanterior variable, sólo se permite que ésta sea del tipo INT o DINT. La sentenciase puede configurar para realizar la cuenta de iteraciones en forma ascendenteo descendente y en pasos, o incrementos, definidos por el usuario. Si no seespecifica un paso para el incremento de la variable de iteración, por defectotendrá un valor unitario. En la Figura 6.24 se muestra la forma general de lasintaxis para esta sentencia.

En la sintaxis de la sentencia FOR ... DO se debe tener especial cuidado endefinir un valor de paso o incremento negativo cuando se realiza una cuentadescendente, ya que de no definirse un valor de paso o definirse uno positivo,se generará un ciclo infinito debido a que en lugar de obtener un descenso enla cuenta se tendrá un incremento.

Page 207: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.4. TEXTO ESTRUCTURADO (ST) 185

FOR <asignación valor inicial a variable deiteración>

TO <expresión para valor final de iteración>BY <expresión para valor de paso de

iteración>DO

<Sentencias>;...

<Sentencias>;END_FOR;

Figura 6.24: Sintaxis para la Sentencia FOR ... DO

La sentencia WHILE ... DO permite la ejecución continua de un conjuntode sentencias mientras cierta expresión booleana permanezca verdadera. Estasentencia se caracteriza por el hecho de verificar la expresión booleana antesde un ciclo, con lo cual si esta expresión es falsa desde un inicio la sentenciano se ejecuta ni siquiera la primera vez. La sintaxis general de esta sentencia semuestra a continuación en la Figura 6.25.

WHILE <expresiónbooleana>DO

<Sentencias>;...

<Sentencias>;END_WHILE;

Figura 6.25: Sintaxis para la Sentencia WHILE ... DO

La sentencia REPEAT ... UNTIL tiene un comportamiento similar a la sen-tencia WHILE ... DO pero con la diferencia de evaluar al final, y no al inicio,la expresión booleana que determina la ejecución continua. El hecho anteriorocasiona que esta sentencia siempre se ejecute como mínimo una vez. La formade la sintaxis para la sentencia REPEAT ... UNTIL se muestra en la Figura 6.26.

REPEAT<Sentencias>;

...<Sentencias>;

UNTIL <expresiónbooleana>END_REPEAT;

Figura 6.26: Sintaxis para la Sentencia REPEAT ... UNTIL

Page 208: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

186 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Adicional a las sentencias anteriores, existen otras dos con la finalidad depermitir terminar de forma anticipada la ejecución de sentencias de iteración oPOUs.

La sentencia EXIT se emplea dentro de las sentencias de iteración y no estálimitada en el número de veces que puede aparecer. Cuando durante la ejecu-ción de una sentencia de iteración se alcanza un EXIT, la ejecución del restodel código se realiza exactamente a continuación de la palabra reservada quedefine el fin de la sentencia (por ejemplo: END_FOR para la sentencia FOR... DO). Aunque esta sentencia no tiene sentido emplearla exclusivamente ensentencias condicionales, si se emplea junto con ellas dentro de sentencias deiteración con el fin de definir en que casos interrumpir la ejecución de itera-ciones. Una forma para la sintaxis de esta sentencia con el fin de controlar lainterrupción de un FOR ... DO se muestra en la Figura 6.27.

WHILE <... >DO<Sentencias>;

...FOR <... >TO <... >BY <...

>DO<Sentencias>;

...IF <... >THEN EXIT;END_IF;<Sentencias>;

...END_FOR;<Sentencias>;

...END_WHILE;

Figura 6.27: Sintaxis para la Sentencia EXIT

En la figura anterior, una vez alcanzado el EXIT la ejecución continúa justa-mente debajo del END_FOR. Téngase en cuenta que en los casos de secuenciasanidadas la finalidad del EXIT es interrumpir la ejecución de la sentencia deiteración más interna en la cual el se encuentra.

La sentencia RETURN se usa con el fin de abandonar la ejecución de unaPOU de forma anticipada. Al igual que la sentencia EXIT, ésta se debe emplearjunto con una sentencia condicional con el fin de definir la condición bajo lacual la interrupción se lleva a cabo. Cuando la sentencia RETURN se empleadentro de una función, se debe realizar una asignación previa del valor quedebe tomar la función, en el caso de los bloques de funciones si los valoresde las variables de salida no son asignados antes de un RETURN entonces lasvariables tomarán sus valores iniciales o por defecto correspondientes. Si a unavariable de salida le fue asignado un valor intermedio antes de un RETURNdentro de un bloque de función, la variable mantendrá el último valor que le

Page 209: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.5. LISTADO DE INSTRUCCIONES (IL) 187

fue asignado. En resumen, un RETURN ocasiona que una POU sea interrumpi-da justo en el lugar de dicha sentencia y que la ejecución prosiga exactamenteen el código siguiente.

6.5. Listado de Instrucciones (IL)

Este lenguaje es de bajo nivel y es muy similar a los lenguajes de ensam-blador. Con frecuencia se emplea con el fin de implementar soluciones sencillasque se caracterizan primordialmente por poseer un flujo secuencial en la eje-cución. Como se verá más adelante, este programa es frecuentemente tomadocomo un lenguaje de referencia al cual todos los demás lenguajes del estándarpueden ser transcritos, aunque lo anterior puede no ser tan fácil de realizarcuando se habla de programas complejos [1, 8, 9]. Su aplicación principal ra-dica en la implementación de partes críticas de código que requieren una opti-mización máxima en desempeño [8, 9].

6.5.1. Estructura Básica del Listado de Instrucciones

En este lenguaje una instrucción debe abarcar exactamente una solo línea. Asu vez, una instrucción se compone secuencialmente de una etiqueta, un ope-rador o una función, uno o más operandos y un comentario. La etiqueta y eloperador se deben separar mediante el delimitador “:”, aunque la etiqueta esopcional, y por ende si no se usa no se hace necesario tampoco el delimitador.La inserción de un comentario al final de la instrucción también es opcional porparte del programador o usuario. La función de las etiquetas es la de habilitarlos saltos condicionales desde cualquier posición en el cuerpo de instruccionesy aunque la ubicación de una etiqueta al inicio de una línea en blanco no estáconcebida por el estándar, muchos sistemas modernos la permiten con fines declaridad [8]. Los operandos son los parámetros requeridos para la evaluaciónde una función u operador. Para los casos en los cuales un operador o funciónrequiere de más de un operando, estos últimos se deben separar mediante co-mas, espacios en blanco o tabulaciones. Los comentarios deben tener la mismasintaxis definida en la Sección 6.3.4. La Figura 6.28 muestra los componentes ydisposición general para una línea de instrucción dentro de listado de instruc-ciones.

Etiqueta: Operador/Función Lista de Operandos (*Comentarios*)

Figura 6.28: Sintaxis para Listado de Instrucciones

En la sintaxis es necesario tener en cuenta que se requiere como mínimoun delimitador de espacio en blanco entre el operador o función y la lista deoperandos asociados.

Page 210: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

188 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.5.2. El Acumulador Universal

Al igual que en los lenguajes tradicionales tipo ensamblador, el listado deinstrucciones posee un acumulador el cual se conoce como CR (Current Result:Resultado Actual). El compilador del lenguaje listado de instrucciones actua-liza de forma constante el número de bits necesarios para el tipo de dato deloperando que se ejecute, por lo que en la práctica este acumulador es en rea-lidad un acumulador virtual y no de implementación física en el hardware.Además el tipo de dato asociado actualmente con el acumulador también cam-bia para coincidir con el tipo de dato del operando más reciente. Cuando serealiza la evaluación de una operación de comparación, el resultado genera-do se guarda en el acumulador como un 0 (FALSE) o un 1 (TRUE), por lo queen este caso el listado de instrucciones se aparta de los lenguajes tradicionalesde ensamblador donde existen bits de estado, lo anterior da origen a la de-nominación de Acumulador Universal. En general el CR puede tomar uno de lossiguientes tipos de datos: tipo de dato elemental, tipo de dato derivado o tipode dato de bloque de función. Sin embargo, se debe tener en cuenta que dosinstrucciones consecutivas que desarrollan operaciones relacionadas deben sercompatibles, y por ende el tipo de dato del CR debe ser del mismo tipo de datode la subsiguiente instrucción.

6.5.3. Los Operadores

Los operadores pueden ser afectados en su significado por medio de mo-dificadores. Existen tres modificadores básicos, a saber: el modificador de ne-gación “N” el cual niega al operando relacionado, el modificador de anidación“( ... )” que permite la creación de niveles anidados de operadores y finalmenteel modificador condicional “C” que permite la ejecución condicional de un de-terminado operador. Estos modificadores siempre van inmediatamente a con-tinuación del operador asociado y entre ellos no media ningún tipo de delimi-tador. El modificador de anidación tiene la acción de diferir el resultado de unainstrucción produciendo resultados intermedios que no afectan al acumulador.

Los operadores disponibles dependen a su vez del tipo de dato sobre el cualoperan, o de si ellos están destinados a la implementación de saltos y llamados.

Para los datos de tipo Booleano los operadores disponibles son los siguien-tes: LD, AND, OR, XOR, ST, S y R. A los anteriores operadores se les puedeaplicar los modificadores de negación y anidación. Todos estos operadores ac-túan sobre el CR de la siguiente forma: LD carga un operando en CR, las fun-ciones lógicas implementan la función correspondiente entre un operando yCR, ST almacena el valor de CR en un operando y los operadores S y R fijana su operando en 1 (TRUE) y 0 (FALSE) respectivamente si CR tiene un valorde 1 (TRUE). De lo anterior se desprende entonces que el operador modifica-do STN almacenaría el valor negado de CR en un operando. A continuaciónse muestra en la Figura 6.29 la forma de implementar la siguiente función deconmutación: F = ¬(A ∨ (B ∧ (C ∨ D))).

Page 211: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.5. LISTADO DE INSTRUCCIONES (IL) 189

LD A (*Se carga A en el acumulador CR*)

OR( B (*Difiere la operación OR y carga B*)

AND( C (*Difiere la operación AND y carga C*)

OR D (*Se realiza operación OR entre D y C*)

) (*Se realiza operación AND diferida*)

) (*Se realiza operación OR difereida*)

STN F (*Almacena valor negado de CR en F*)

Figura 6.29: Operadores Booleanos en IL

Para los datos de tipo ANY los operadores disponibles son los siguientes:LD, ST, ADD, SUB, MUL, DIV, GT, GE, EQ, NE, LE y LT. El significado de estosoperadores, que a excepción de LD y ST son aritméticos y de comparación,es igual al dado en la Sección 6.3.8.1, donde la función relacionada se realizaentre CR y el operando asociado y el resultado es asignado nuevamente alacumulador. A estos operadores para tipos de datos ANY únicamente se lespuede aplicar el modificador de anidación. Ahora se mostrará un ejemplo dela forma como se pueden emplear los operadores aritméticos; más adelante semostrará un ejemplo de como utilizar los de comparación. La ecuación y =w2 − (x + z) se puede representar en listado de instrucciones de la siguienteforma:

LD w (*Se carga w en el acumulador CR*)

MUL w (*Se carga w2 en el acumulador CR*)

SUB( x (*Difiere resta de CR con paréntesis*)

ADD z (*Realiza la suma de x con z*)

) (*Se realiza operación SUB diferida*)

ST y (*Almacena el valor de CR en y*)

Figura 6.30: Operadores ANY en IL

En la Figura 6.30 se puede observar que el valor de la operación entre parén-tesis (x + z) se realiza pero no se carga en el acumulador, para estos casos deoperaciones diferidas se emplea un arreglo de registros que permiten ir alma-cenando valores intermedios necesarios. Lo mismo ocurre en el ejemplo de laFigura 6.29.

Finalmente los operadores para realizar saltos o llamados a POUs son lossiguientes: una etiqueta, el nombre de una función, JMP, CAL y RET. A es-tos últimos tres operadores se les puede aplicar los modificadores de negacióny condicional, además se puede usar los dos modificadores simultáneamentede ser necesario. El operador JMP realiza un salto a una etiqueta, pero si estáacompañado del modificador condicional entonces el salto estará condiciona-do al valor booleano del acumulador, caso en el cual si la condición no es TRUEentonces el salto no se realiza y la ejecución continúa de forma secuencial. Eloperador CAL realiza el llamado de una POU e igualmente si está acompaña-do del modificador condicional este llamado está supeditado al valor booleanodel acumulador. Finalmente el operador RET implementa un retorno desde

Page 212: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

190 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

una función, en forma similar a la sentencia RETURN vista en la Sección 6.4.3;adicionalmente también se le puede aplicar los modificadores de condición ynegación con el mismo comportamiento descrito para los operadores JMP yCAL.

Como ejemplo que muestra el uso de los operadores de saltos y los opera-dores de comparación se utiliza el mismo ejemplo visto en la Figura 6.11 dondese creó la función DISCR que tiene por objeto evaluar el discriminante para unaecuación cuadrática. El algoritmo que describe la función en lenguaje listadode instrucciones es el siguiente.

FUNCTIONDISCR

VAR_INPUTA, B, C

END_VARVAR

EVALUAREND_VAR

:BOOL:=FALSE

:L_REAL;

:L_REAL;

LDMULSUB(MULMUL)STGTJMPCNST

BB4AC

EVALUAR0SALIRDISCR

SALIR:

RET

END_FUNCTION

Figura 6.31: Operadores de Salto y Comparación en IL

En la Figura 6.31 se debe notar que ciertos tipos de operadores no afectanel valor presente del acumulador, este es el caso por ejemplo de los operadoresde salto y ST. Se observa que en este caso el salto se realiza, hacia la etiquetadenominada SALIR, condicionado a un valor de FALSE en el acumulador.

6.5.4. Llamados a POUs

Cuando se realiza el llamado de una función que requiere únicamente de unparámetro de entrada, este parámetro será automáticamente consultado desdeel acumulador. Si la función invocada posee más de un parámetro de entra-da, igualmente el primero de ellos será consultado desde el CR, el segundoparámetro será el primer operando para la función, el tercer parámetro seráel segundo operando y así sucesivamente. Además como toda función regresa

Page 213: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 191

únicamente un valor, este es asignado al acumulador, el cual se ajusta automáti-camente al tipo de dato involucrado. Por ejemplo, si se desea invocar la funciónDISCR de la Figura 6.31, entonces su llamado se puede realizar en cualquierade las tres formas indicadas en la Figura 6.32.

DISCR(A:=Var1B:=Var2C:=Var3)STResultado

LD Var1DISCR(B:=Var2C:=Var3)STResultado

LD Var1DISCR Var2,Var3ST Resultado

Método 1 Método 2 Método 3

Figura 6.32: Llamado a Función en IL

En la Figura 6.32 se puede observar que adicionalmente se puede ingresarde forma explícita el valor de cada uno de los parámetros, tal como se indicaen el Método 1.

Los llamados a un bloque de función se pueden realizar igualmente de tresformas, siempre haciendo uso del operador de llamado CAL para los bloquesde funciones estándares o definidos por el usuario, o sin necesidad de CALúnicamente para los bloques de funciones estándares. La asignación de salidasdel bloque de función es igual en todos los métodos, tal como se puede ob-servar en la Figura 6.33, donde se ha supuesto un bloque de función estándardenominado FB1 con dos entradas (EN1 y EN2) y dos salidas (SL1 y SL2).

CAL FB1(EN1:=Var1, EN2:=Var2)LD FB1.SL1ST Resultado1LD FB1.SL2ST Resultado2

LD Entrada1ST FB1.EN1LD Entrada2ST FB1.EN2CAL FB1LD FB1.SL1STResultado1LD FB1.SL2STResultado2

LD Entrada1EN1 FB1LD Entrada2EN2 FB1LD FB1.SL1STResultado1LD FB1.SL2STResultado2

Método 1 Método 2 Método 3

Figura 6.33: Llamado a Bloque de Función en IL

6.6. Diagrama de Bloques de Funciones (FBD)

Lenguaje empleado para describir la funcionalidad de cualquier POU me-diante un conjunto de bloques interconectados de forma adecuada. Su fun-

Page 214: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

192 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

cionamiento tiene fundamento en el flujo de las señales entre los diversos ele-mentos que componen un circuito de procesamiento [8, 9].

6.6.1. Elementos Gráficos de una Red FBD

El estándar define dos formas diferentes de realizar los gráficos. Una formasemi-gráfica donde las líneas, conexiones, bloques y conectores son representa-dos mediante los caracteres “_” y “|”. La segunda forma es una representacióngráfica completa la cual, por su funcionalidad ha sido adoptada por la mayoríade los proveedores [8, 9]. En la Figura 6.34 se puede observar las dos formasdisponibles para los elementos gráficos más usados. El estándar no define larepresentación gráfica completa para el formato de líneas que se cruzan sinconexión o que se interconectan, todo ello depende de las disponibilidades enresolución de cada sistema.

OO�OO�OO�OO�����OO�OO

PPPPP

PP

PP

OO�OO�OO�OOG G

OO�OO�OO�OOG G

P

PPPP

PPPPP

OO�OO

OO�OO

OO�OO

OO�OO

OO�OO�OO�OO�OO�OO�OO�OOPPPP

OO�OO�OO�OO�����OO�OO�OO�OOG

PPP

PPP

���������5�#����������������������"5�#������������5�#�������������

L��!��(L

L��!��(L

OO�OO�OO

OO�OO�OO

L��!��(L

L��!��(L

������ ������������MA���������

������$������������������

������$����������������

������������!��$���

����������

PP

Figura 6.34: Elementos Gráficos de una Red FBD

Page 215: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 193

En la Figura 6.34, el elemento denominado Conector es empleado para laelaboración de grandes redes. Este elemento no se considera como un elemen-to para el control de flujo, su significado debe ser entendido como una prolon-gación de una línea y simplemente ayuda en la continuidad del mismo flujo. Aun conector se le asocia un nombre o etiqueta el cual es considerado como unidentificador local en la POU respectiva. En un sistema donde la pantalla estálimitada en ancho o largo, esta herramienta es de mucha utilidad, más sin em-bargo en los sistemas que no limitan la pantalla, o que poseen un gran ancho,esta herramienta es opcional de ser implementada.

La funcionalidad descrita dentro de una POU se puede realizar empleandouna o más redes, por tanto a cada red se le debe asignar un nombre y en lamayoría de los sistemas se acostumbra a realizar una enumeración consecutivade éstas. Este nombre se asocia con la etiqueta necesaria para realizar saltos enel lenguaje ST, ver Figura 6.31 y el estándar sólo la define con ese propósito yla trata además como un identificador local dentro de la POU.

6.6.2. Elementos para Control de Flujo

Son elementos gráficos adicionales que tienen influencia sobre el controlde ejecución. Permiten el abandono prematuro de la ejecución o el salto haciao desde una red. En ambos casos estas acciones se pueden realizar de formacondicional o incondicional. Estos elementos se muestran en la Figura 6.35.

��������� ���

Figura 6.35: Elementos Gráficos Para Control de Flujo en FBD

En la gráfica 6.35 el objeto de la derecha es el elemento para abandonoprematuro y el objeto de la izquierda el elemento para salto. En ambos casos“cond” representa la condición sobre la cual se evalúa la acción, si esta condi-ción se fija en 1 (TRUE) las acciones se realizarán de forma incondicional.

6.6.3. Reglas de la Evolución en una Red FBD

Una red FBD se compone en general de elementos en forma de caja rec-tangular que representan funciones o bloques de funciones, los cuales se in-terconectan empleando conexiones y conectores, y donde además el flujo dela información puede ser direccionado empleando elementos para control deflujo. Una función en general puede tener varias entradas, las cuales se dibujanal lazo izquierdo de la caja que la representa y una única salida que se dibujaal lado derecho, un bloque de función sólo se diferencia de una función en elhecho que puede tener varias salidas todas dibujadas al lado derecho. El nom-bre para el tipo de bloque de función al igual que el nombre de una función vadentro de la caja rectangular en la parte superior, en el caso de los bloques de

Page 216: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

194 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

funciones el nombre de la instancia va ubicado sobre la caja. Los nombres delas variables de entrada y salida para una función o bloque de función dadovan dentro de su caja al nivel del respectivo puerto de dato que representan.

Una red esquematizada con base en la anterior descripción, siempre debeseguir los siguientes criterios con el fin de determinar la forma de evolucióndel flujo de datos a través de las redes [8, 9]:

1. La secuencia de ejecución de varias redes se realiza una a una de arri-ba hacia abajo. Esta secuencia de ejecución se puede alterar empleandosaltos.

2. La evaluación de un elemento cualesquiera en la red requiere para suinicio que todas sus entradas estén disponibles, lo cual equivale a que susentradas hayan sido evaluadas y entregadas desde elementos anteriores.

3. La evaluación de un elemento de la red no se da por terminada hasta quese disponga de la evaluación de todas sus salidas.

4. En el mismo sentido del punto 2, cuando una primera red transfiere datosa una segunda se necesita que la primera tenga disponibles todos losdatos requeridos en la segunda para que ésta última pueda iniciar su eje-cución. Esto también se aplica en conjuntos de bloques de funciones quese ejecutan bajo el control de diferentes tareas que poseen configuraciónde ejecución en tiempos diferentes.

Ejemplo: Una red FBD que implementa la siguiente función de conmutaciónse muestra en la Figura 6.36:

F = ¬(A ∨ (B ∧ (C ∨ 1)))

(

!

�+9

�+9

''(K

��

��

���

Figura 6.36: Ejemplo de Evolución en Red FBD

Page 217: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 195

En la Figura 6.36 se puede observar como la salida, que representa a la funciónF , posee una negación al final de la expresión la cual se pudo haber implemen-tado usando la función estándar NOT indistintamente. Además se debe notarcomo los datos de entrada pueden ser variables o constantes. En esta mismafigura se ha empleado un conector denominado ”tmp” el cual sirve para darlecontinuidad a una línea dentro del diagrama.

Ejemplo: Si la función F del ejemplo anterior se emplea como condición nece-saria para permitir la ejecución de una segunda red, la cual implementala evaluación de la función S = (S ∗ 0,05) + N2, la representación es-quemática para esta nueva red FB es la mostrada en la Figura 6.37.

(

!

�+9

�+9

''(��� �(K

� �,

'',��� �,K

'Q'/

�,

��

���

��

���

���

Figura 6.37: Ejemplo Red FBD con Realimentación y Salto

En la Figura 6.37, es de aclarar que se permite la realimentación de valores,pero para poder cumplir con la reglas de evolución listadas en la Sección 6.6.3es necesario que la primera vez que se avalúa la red el valor de la entradarealimentada sea tomado desde el valor inicial por defecto definido para eltipo de dato asociado.

Es de resaltar además que se cuenta con los parámetros EN y ENO en lasfunciones, con los cuales se puede incidir explícitamente sobre el flujo de lainformación en una red, de la forma ya descrita en la Sección 6.3.8.1.

Page 218: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

196 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.7. Diagrama Escalera (LD)

Este lenguaje se fundamenta en los diagramas de la lógica cableada clásica ysus componentes gráficos representan elementos encontrados en estos mismosdiagramas, tal como se estudió en el Capítulo 4.

Un diagrama escalera se compone de dos líneas verticales, las cuales entre-gan la alimentación para los restantes elementos del diagrama que se sitúan enlíneas horizontales, o escalones, y donde por convención se asume que la in-formación (flujo de potencia) va desde la línea vertical de la izquierda a la líneade la derecha. Como el diagrama se base en el uso de contactores, los contac-tos indican el estado actual de variables booleanas, con lo cual constituyen unmétodo de sólo lectura de la variable que representan, mientras que las bobinasproveen un método de solo escritura para la variable asociada [1, 8, 9].

6.7.1. Elementos Gráficos de una Red LD

Al igual que para una red FBD el estándar define dos métodos de realizarlos gráficos, un método semi-gráfico y un método gráfico completo. Los ele-mentos básicos de la red compuestos por líneas, conexiones, bloques y conec-tores son representados exactamente igual a como se definió en la Sección 6.6.1correspondiente a una red FBD.

Adicional a los elementos básicos anteriores, una red LD posee además ele-mentos gráficos para representar contactos y bobinas, ambos representados encualesquiera de los dos métodos gráficos, por simplicidad se muestra a conti-nuación únicamente las representaciones gráficas completas.

J J

Figura 6.38: Representación de Bobina y Contacto en LD

En la Figura 6.38 la incógnita dentro de cada elemento representa un símbo-lo de un conjunto posible ya sea para un contacto o para una bobina. A conti-nuación se listan los símbolos para cada elemento y se da una breve descripciónde su significado:

Contactos:

“ “ Caracter espacio en blanco: Representa un contacto normalmenteabierto

/ Caracter slash: Representa un contacto normalmente cerrado

P: Representa un contacto sensible a transición positiva, o sea que seactiva con flanco de subida

Page 219: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.7. DIAGRAMA ESCALERA (LD) 197

N: Representa un contacto sensible a transición negativa, o sea quese activa con flanco de bajada

Bobinas:

“ “ Caracter espacio en blanco: Bobina que toma el valor de estadológico evaluado por los elementos a su izquierda

/ Caracter slash: Bobina negada; toma el valor negado de estadológico evaluado por los elementos a su izquierda

S: Set de Bobina; la bobina se fija en el estado ON cuando el valorlógico evaluado por los elementos a su izquierda es 1. La bobinapermanece en este estado hasta que se emplee un reset de bobina.

R: Reset de Bobina; la bobina se fija en el estado OFF cuando el valorlógico evaluado por los elementos a su izquierda es 1. La bobinapermanece en este estado hasta que se defina un estado contrario.

M: Bobina de Retención; opera de forma igual a una bobina normal,con excepción que su estado se retiene en la memoria del PLC antefallos en el suministro de potencia.

SM: Bobina de Retención Set; opera de forma igual a un set de bobi-na, con excepción que su estado se retiene en la memoria del PLCante fallos en el suministro de potencia.

RM: Bobina de Retención Reset; opera de forma igual a un reset debobina, con excepción que su estado se retiene en la memoria delPLC ante fallos en el suministro de potencia.

P: Bobina Sensible a Transición Positiva; la bobina pasa al estado ONcon un flanco de subida.

N: Bobina Sensible a Transición Negativa; la bobina pasa al estadoON con un flanco de bajada.

6.7.2. Elementos Para Control de Flujo

Son elementos gráficos adicionales que tienen influencia sobre el control deejecución. Permiten el abandono prematuro de la ejecución o el salto hacia odesde una red LD. En ambos casos estas acciones se pueden realizar de formacondicional o incondicional y su representación es idéntica a la definida en laFigura 6.35 con operación igual a la ya vista en la Sección 6.6.2 para el lenguajeFBD.

6.7.3. Llamados a Funciones y Bloques de Funciones

Al igual que en el lenguaje FBD, las funciones y bloques de funciones sonrepresentados mediante cajas rectangulares, donde las entradas van al lado iz-quierdo y las salidas (en el caso de las funciones una sola salida) van al ladoderecho. El nombre formal de cada variable de entrada y salida va dentro de

Page 220: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

198 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

la caja al nivel del respectivo puerto de dato que representan. El nombre de untipo de bloque de función y el nombre de una función van dentro de la cajaen la parte superior, mientras que el nombre de la instancia de un bloque defunción va ubicado sobre la caja.

Los parámetros de entrada y salida en un bloque de función pueden ser decualquier tipo de dato, pero el estándar exige que como mínimo una entraday una salida deben ser de tipo booleano y deben tener conexión directa o indi-recta a las líneas verticales del diagrama escalera. En las funciones las entradasEN y ENO sirven como elementos para controlar el flujo y además proveen unmedio de cumplir con el requerimiento de tener como mínimo una entrada yuna salida booleana con conexión directa o indirecta a las líneas verticales dela red LD.

6.7.4. Reglas de la Evolución en una Red LD

La secuencia de evaluación siempre debe seguir los siguientes criterios conel fin de determinar la forma de evolución del flujo de datos a través de lasredes [8, 9]:

1. La secuencia de ejecución de varias redes se realiza una a una de arri-ba hacia abajo. Esta secuencia de ejecución se puede alterar empleandosaltos. Igualmente los escalones de una red son ejecutados en secuenciade arriba hacia abajo.

2. La evaluación de un elemento cualesquiera en la red requiere para suinicio que todas sus entradas estén disponibles, lo cual equivale a que enun escalón o una POU sus entradas hayan sido evaluadas y entregadasdesde elementos anteriores.

3. La evaluación de un elemento de la red no se da por terminada hasta quese disponga de la evaluación de todas sus salidas.

4. En el mismo sentido del punto 2, cuando una red transfiere datos a otrase requiere que la primera tenga disponibles todos los datos requeridosen la segunda para poder iniciar su ejecución.

La función de conmutación de la Figura 6.36 se toma a manera de ejemplopara la implementación de una red en lenguaje LD, la cual se muestra en laFigura en la página siguiente. De la anterior red es claro como este lenguajeposee una naturaleza análoga a los circuitos digitales, ya que en ella fácilmentese pueden implementar funciones de conmutación, además desde el mismodiagrama se puede deducir simplificaciones que en muchos casos requieren detécnicas de minimización. Sin embargo una de las grandes desventajas de laprogramación en este lenguaje, fuera de las ya expuestas en la Sección 6.1.1, esla dificultad para programar ciclos iterativos o para tratar con tipos de datosderivados [2, 8, 9].

Page 221: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.7. DIAGRAMA ESCALERA (LD) 199

R�

! �

(

Figura 6.39: Ejemplo de Evolución en Red LD

En el lenguaje LD también es posible realizar la realimentación de varia-bles, lo cual sucede cuando en un mismo escalón se emplean contactos y en-tradas a funciones o bloques de funciones que se relacionan con variables (co-mo bobinas o salidas de funciones o bloques de funciones) que se actualizanen el mismo escalón. A diferencia de lo que ocurre con la realimentación enel lenguaje FBD, en LD la realimentación sólo se realiza mediante conexionesimplícitas, con lo cual aquellas conexiones que inician a la derecha y terminanen la izquierda, ver Figura 6.37, no son permitidas en LD.

Un tema de especial cuidado, que se puede presentar con mayor frecuenciaen lenguaje LD en comparación con FBD, es el problema de determinación desecuencia en la ejecución, que en algunos lenguajes gráficos de programaciónse denomina como condiciones de ejecución. Para entender este punto se mues-tra la Figura 6.40.

���!���!(

�(

�,

�(

A�,

A�( A�, A�-

Figura 6.40: Determinación de Secuencia en Ejecución

Se puede observar como al momento de ejecutar la red de la Figura 6.40no es claro en que instante será actualizado el dato de la variable denominadaVar2, por tanto tampoco es claro si al instante de su evaluación ésta poseerá unvalor que viene desde la evaluación previa o si por el contrario estará actuali-zado con el valor que entregue la salida 2 del bloque de función (FunAB1.S2)durante la evaluación presente. Por ende, este tipo de situaciones debe ser evi-tada durante la realización de redes tipo FBD o LD.

Page 222: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

200 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.8. Diagrama Funcional Secuencial (SFC)

Éste es el último de los lenguajes del estándar IEC 61131-3, tiene su funda-mento en las metodologías para la descripción de sistemas secuenciales, princi-palmente en Redes de Petri. Su naturaleza es gráfica y permite la estructuraciónde una implementación mediante estados, o unidades, que se ejecutan paso apaso. Cada uno de estos estados basa su ejecución en condiciones definidas porel operador y en condiciones dependientes de las entradas al sistema. Ademáscada unidad puede ser implementada en cualquiera de los otros cuatro lengua-jes definidos en el estándar o mediante descripciones proporcionadas por elmismo SFC [2, 1, 8, 9].

El diagrama funcional secuencial se puede utilizar para realizar la imple-mentación de POUs del tipo Bloque de Funciones o Programa, más no para lasFunciones, lo anterior se debe a la misma naturaleza de este lenguaje, el cualretiene información en los estados y por tanto va en contravía de la definicióndada para Función, ver la Sección 6.3.8.1.

6.8.1. Elementos Gráficos y Descripción de una Red SFC

Una red SFC se compone primariamente de dos elementos: las Etapas y lasTransiciones. Las etapas se representan mediante cajas rectangulares que vaninterconectadas entre si mediante una línea vertical, donde a su vez va ubicadauna línea horizontal que representa la transición. A cada etapa se le puedeasociar un conjunto de instrucciones, denominadas Acciones, las cuales se rea-lizan dependiendo del estado actual en el cual se encuentre la etapa. Una etapapuede estar en uno de dos estados posibles: Activo o Inactivo. Si el estado actuales activo, entonces las acciones asociadas se repiten hasta que el estado de laetapa sea el de inactivo.

El cambio de estado de una etapa está determinado por la transición in-mediatamente debajo de ella. A la transición se le asigna una Condición de Tran-sición la cual no es más que una expresión booleana a ser verificada. Cuandouna etapa se encuentra activa se evalúa continuamente la condición asociada ala transición debajo de ella, cuando esta condición alcanza un valor verdadero“TRUE” ocasiona que la etapa que actualmente se encuentra activa pase alestado de inactiva y la etapa posterior a la transición, que actualmente se en-contraba inactiva, pasa a estar activa (dependiendo de la estructura de la redse podría tener más de una etapa posterior a la transición).

Dentro de la red SFC existe una etapa especial, denominada Start, (Inicio).Cuando la red SFC es invocada la etapa Start es activada de forma automáticadando inicio así al flujo de datos a través de la red. En los sistemas modernosse acostumbra indicar las etapas que actualmente se encuentran en el estadoactivo mediante una marca circular negra (•) que se denomina Token (moneda)y que ayuda en el seguimiento gráfico del flujo secuencial a través de la red.En la Figura 6.41 se muestra una red SFC para una secuencia de encendido dedos cargas.

Page 223: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 201

�*(

��9 �

����

�*(

�*'

!

�*'

�& ������� ���6

��9������

������6����������6�� �=���������*(

��9

������6����������6�� �=���������*'

Figura 6.41: Componentes Básicos de una Red SFC

En la Figura 6.41, cuando se hace el llamado a la red se activa inicialmentela etapa Start la cual permanece así hasta el instante en el cual la transicióninmediatamente debajo verifique la condición asignada, en este caso se esperapor la pulsación de P. Luego cuando se pulse P entonces se desactiva la eta-pa inicial y se activa la etapa A donde se debe asignar el conjunto de accionesnecesarias para encender la primer carga (las acciones serán estudiadas másadelante). Esta carga permanece encendida hasta el instante cuando se libereel pulsador P, que además es la condición de la transición debajo de A, por loque al verificarse esta condición, esto es P = 0, se desactiva la etapa A y se ac-tiva la etapa Espera. En Espera el sistema no realiza ninguna acción asociada,simplemente ahora es necesaria una nueva verificación de pulsación de P parapoder avanzar hacia la siguiente etapa. Cuando se pulse P entonces se desacti-va Espera y se activa la etapa B, donde se realizan las acciones necesarias paraencender la carga B hasta cuando se libere nuevamente el pulsador. Finalmentecon la liberación de P se regresa al estado inicial y el ciclo puede reiniciar.

6.8.1.1. Las Etapas

Cada etapa dentro de una red SFC posee un identificador que debe ser úni-co y que es tomado como una variable declarada automáticamente y de tipo lo-cal. El nombre de este identificador no debe ser asignado a ningún otro elemen-to dentro de la POU implementada. Las etapas son de dos clases a saber: unasdenominadas simplemente como etapas las cuales se representan medianterectángulos y otras denominadas como etapas iniciales las cuales se presen-tan mediante un rectángulo dentro de otro, ver Figura 6.41. Cuando se realizael llamado a una POU implementada en SFC, se activan de forma automáticatodas las etapas iniciales, las cuales no necesariamente deben ir al principio de

Page 224: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

202 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

la red. La activación de una etapa se indica en la mayoría de los sistemas me-diante la presencia de una marca circular, o token, dentro del rectángulo de laetapa.

Asociado a cada identificador de etapa existen dos variables declaradas im-plícitamente. La primera de ellas es la Bandera de Etapa, que se puede accedermediante la notación identificador.X, y es una variable de tipo BOOL que entre-ga el valor actual de activación de la etapa asociada, así si la etapa se encuentraactiva entonces identificador.X tendrá un valor de TRUE y de lo contrario val-drá FALSE. Esta primera variable implícita es de mucha utilidad para el controlde flujo y la ejecución de acciones en diferentes lugares de la red.

La segunda variable declarada de forma implícita es Tiempo Transcurrido deEtapa, la cual se puede acceder mediante la notación identificador.T, y es unavariable de tipo TIME que entrega el tiempo transcurrido desde la activaciónde la etapa. Si la etapa no ha sido activa ni una sola vez, el valor de esta variableserá cero, pero si la etapa ya fue activa pero actualmente no lo está, entoncesel valor de la variable será el tiempo transcurrido de la última vez que estuvoactiva. Si se desea que el valor de esta variable incluya el valor de iteracionesanteriores, entonces se debe declarar explícitamente una instancia con el atri-buto RETAIN, de la misma forma como se explicó en la Sección 6.3.7.2 y talcomo aparece en la Figura 6.10.

6.8.1.2. Las Transiciones

Una transición es una especie de barrera que retiene activas las etapas pre-vias a ella hasta cuando se verifique una expresión booleana que se le asocia,caso en el cual las etapas previas se desactivan y todas las etapas posteriores seactivan. Sin embargo la condición de una transición sólo es evaluada cuandotodas las etapas previas a ella se encuentren en estado activo.

La expresión que describe la condición de la transición puede ser imple-mentada en varias formas y en cualquiera de los otros cuatro lenguajes delmismo estándar, aunque la forma empleada restringe los lenguajes a usar. Co-mo ejemplo, las expresiones para las transiciones en la Figura 6.41 están dadasen ST.

A continuación se describen las diversas formas en las cuales se puede rea-lizar la descripción de la condición de transición y en cada una se indica loslenguajes del estándar que se pueden emplear.

La primera forma, denominada como de sintaxis inmediata, consiste enescribir inmediatamente a continuación de la transición la expresión para lacondición. En este caso escribir puede ser interpretado como la acción de es-cribir una expresión booleana en lenguaje ST o por la conexión directa de unared LD o FBD que entrega como resultado un dato de tipo BOOL. En estaprimera forma no se permite el uso de expresiones en lenguaje IL. A conti-nuación, en la Figura 6.42, se muestran los casos específicos mencionados.

Page 225: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 203

Representación Descripción

��9,

��9(

A(�)�A,

Condición de transición evaluada mediantecualquier expresión en lenguaje de texto estruc-turado (ST) que entregue como resultado un datobooleano.

��9,

��9(

A( A,

Condición de transición evaluada directamentedesde un escalón de red LD. Por naturaleza, unared LD evalúa mediante contactos expresionesbooleanas las cuales se emplean para evaluar latransición.

��9,

��9(

A(

A,

)

Condición de transición evaluada directamentedesde una salida de tipo booleana en una red FBD.Se debe asegurar que la salida de la red FBD conec-tada a la transición sea de tipo booleana.

Figura 6.42: Transiciones con Sintaxis Inmediata

La segunda forma, denominada sintaxis de conector, consiste en emplearconectores en los casos de redes LD y FBD en lugar de conexiones inmediatas.El empleo de estos conectores se realiza de la misma forma en que se descri-bieron en la Sección 6.6.1. A continuación, en la Figura 6.43, se muestra la formade ser empleados.

Representación Descripción

��9,

��9(

�� ����

Se emplea un conector con conexión directa a latransición. El conector hace el enlace hacia una reden LD o FBD que se encuentra en otro lugar del dia-grama SFC

Figura 6.43: Transición con Sintaxis de Conector

La tercer y última forma, denominada sintaxis de nombre de transición, em-plea un identificador como nombre para la transición. De esta forma se puede

Page 226: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

204 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

emplear cualquiera de los otros cuatro lenguajes del estándar en los cuales sedescribe programáticamente, de acuerdo a la naturaleza de cada uno, la expre-sión booleana para el identificador de la transición. En la Figura 6.44 se muestraun ejemplo de cada uno de los casos posibles para esta forma de sintaxis.

Representación Descripción

��9,

��9(

��(

A la transición se le asigna un identificador, o nom-bre, el cual puede ser definido usando cualquierade los otros cuatro lenguajes del estándar.

��()A(

A,

�������������(K

���O����������

Definición del identificador para la condición detransición empleando una red FBD. La salida de lared es el valor para la condición.

A( A, ��(�������������(K

���O����������

Definición del identificador para la condición detransición empleando una red LD. A la bobina dela red LD se le asigna el identificador.

TRANSITION Tran1:LD V1AND V2

END_TRANSITION

Definición del identificador para la condición detransición empleando el lenguaje IL. El resultado fi-nal almacenado en el acumulador es el valor de lacondición.

TRANSITION Tran1:= V1 & V2;

END_TRANSITION

Definición del identificador para la condición detransición empleando el lenguaje ST. La asignaciónde la condición se realizar usando el delimitador :=.

Figura 6.44: Transiciones con Sintaxis de Nombre de Transición

6.8.2. Secuencias

Cualquier POU implementada en SFC puede poseer una o más redes, cadauna de las cuales se compone de etapas y transiciones. Nunca se podrá conectardos etapas entre sí o dos transiciones entre sí. Es posible que una transición estéprecedida de una o más etapas, e igualmente es posible que luego de ella existauna o más etapas siguientes.

La interconectividad entre estos elementos (etapas, transiciones) se deno-mina secuencia, así si posterior a la activación de una etapa es posible sólo

Page 227: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 205

la activación de otra se dice que la conexión es en Secuencia Única, pero si esposible la activación de una etapa entre varias se dice que la conexión es en Se-cuencia Divergente, mientras que si es posible la activación de dos o más etapasa la vez la conexión es en Secuencias Simultáneas. Como ejemplo, la red de laFigura 6.41 se compone exclusivamente de secuencias únicas. A continuaciónse describe las secuencias divergentes y las simultáneas.

6.8.2.1. Secuencias Divergentes

Cuando a una etapa le sigue más de una transición, se dice que la secuenciaes divergente. En este caso al estar la etapa activa se evaluarán todas las transi-ciones posteriores a ella y la primera transición en ser validada definirá la rutaa seguir. En caso de tener más de una transición validada simultáneamente sedefinen métodos para determinar la prioridad entre ellas. En la Figura 6.45 semuestran las tres posibles formas de definir la prioridad en la evaluación.

Por Defecto Definida por Usuario Mutuamente Excluyente

S

��9(

��( ��,

��9, ��9-

S

��9(

��( ��,

��9, ��9-

(,

��9(

��( ��,

��9, ��9-

La selección de una secuen-cia se realiza evaluando lastransiciones de izquierda aderecha. La primer transi-ción en ser validada define laruta a seguir. Un asterisco in-dica que ésta es la prioridaden uso.

El usuario define medianteun número la prioridad dela evaluación, así cada rutaes enumerada y la evalua-ción se realiza en orden as-cendente. Un asterisco y elnúmero asignado a cada rutaindican que ésta es la priori-dad en uso.

Las transiciones son eva-luadas sin ningún ordendefinido. En este caso sedebe asegurar que las mis-mas expresiones para lascondiciones de las transi-ciones operen de forma mu-tuamente excluyente, es de-cir, sólo sea posible la vali-dación de una entre varias.

Figura 6.45: Secuencias Divergentes y Prioridades

Luego de la selección de una secuencia divergente, es necesario volver aunir los caminos hacia una sola ruta. En este caso a una etapa le antecede másde una transición, una desde cada ruta. En la Figura 6.46 se muestra la formade realizar la convergencia de secuencias divergentes.

Page 228: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

206 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

��( ��,

��9( ��9,

��9�

Figura 6.46: Convergencia de Secuencias Divergentes

6.8.2.2. Secuencias Simultáneas

Cuando una transición debe dar lugar a la ejecución simultánea de más deuna etapa, se dice que las secuencias son simultáneas. En este caso cuando unatransición es validada, lo cual implica además que la etapa previa a ella se en-cuentre activa, se activa simultáneamente más de una etapa inmediatamenteposterior a la transición. Igualmente será necesario realizar la convergencia desecuencias simultáneas hacia una sola ruta, en este caso una transición se va-lida cuando todas las etapas conectadas a ella y que provienen de secuenciassimultáneas se encuentren activas y además se valide la condición de la tran-sición, con lo cual se desactivarán todas las etapas previas a dicha transicióny se activará la etapa siguiente. En la Figura 6.47 se muestra la representacióngráfica de secuencias simultáneas y su respectiva convergencia.

��

��9( ��9,

��9�

��9(

��9, ��9-

��

Figura 6.47: Secuencias Simultáneas y su Convergencia

6.8.2.3. Redes Inseguras

Ya que SFC tiene su fundamento en las Redes de Petri, se debe prevenirredes que no tengan un comportamiento seguro. El estándar IEC 61131-3 haceénfasis en la necesidad de evitar redes con topologías Inseguras e Inalcanzables[8, 9].

Una Topología Insegura es aquella en la cual se puede presentar la activaciónincontrolada y sin coordinación de etapas, esto sucede especialmente cuandoen secuencias simultáneas se permite la activación de etapas exteriores a ellassin asegurar que las acciones al interior se terminen completamente.

Page 229: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 207

Una Topología Inalcanzable es aquella en la cual algún elemento (etapa o tran-sición) nunca podrá ser evaluado. Esto sucede comúnmente cuando se mezclansecuencias divergentes con simultáneas sin el debido cuidado.

La Figura 6.48 muestra un ejemplo de cada uno de estos dos tipos de redesinseguras, topologías estas que se deben evitar.

��9(

��9, ��9-

�(

��9/��9.

�, �-

�/

��91

�.

�1

��9(

��9, ��9-

�(

��9/��9.

�, �-

�/

��91

�.

Red Insegura: Si estando activas Etapa2 yEtapa3 se valida T4 podría ocurrir tener acti-vas simultáneamente Etapa2 y Etapa4 debidoal retorno hacia Etapa1, además el número demarcas podría crecer sin control.

Red Inalcanzable: En esta red nunca se po-drá verificar T5, ya que Etapa5 y Etapa6 for-man una secuencia divergente ocasionandoque nunca T5 tenga sus tres etapas previas ac-tivas.

Figura 6.48: Redes Inseguras

6.8.3. Acciones

Al describir una red mediante el lenguaje SFC se persigue como objetivoque con cada etapa que se encuentre activa se realice la ejecución de una ac-ción, o un conjunto de acciones, que se asocia a dicha etapa con la finalidad deimplementar un comportamiento deseado. Estas instrucciones entonces son es-critas dentro de una caja denominada Bloque de Acciones y la cual va unida a laetapa asociada.

Las acciones tienen por finalidad definir las instrucciones de una etapa ouna secuencia de instrucciones que se deben ejecutar bajo ciertas condiciones.Además de implementar comportamientos externos del sistema, también sepueden emplear como elementos para el control de flujo.

6.8.3.1. Bloques de Acciones

En la Figura 6.49 se puede observar los elementos constitutivos generalesde un bloque de acción, donde la descripción de las acciones se puede realizar

Page 230: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

208 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

en cualquiera de los otros cuatro lenguajes definidos por el estándar e inclusose puede emplear otra red SFC.

��(

� �������9, �������

����� ����� ��������������K*�����T����������������K*������T���O��

���C����� ��+8� �� ����6 �������

!��� �

� ����9��6�� ������6

��,

��9,

Figura 6.49: Elementos de un Bloque de Acción

En general, un bloque de acción consta de los siguientes elementos: un Cali-ficador, el cual define una condición de ejecución que controla ya sea el tiempo,o instante, de ejecución de las instrucciones asociadas o el valor que se debeasignar a una variable booleana. El Nombre de Acción es un identificador quedebe ser único dentro de la POU implementada. El Indicador Booleano es unavariable opcional a ser implementada dentro del bloque de acción con propósi-to de permitir su actualización de forma manual dentro del cuerpo de instruc-ciones con el fin de ser indicativa del estado actual de la ejecución. Por últimola sección de Descripción de la Acción puede ser implementada en cualquierade los lenguajes del estándar, incluyendo otra red SFC, es más, debido a lacomplejidad que podría alcanzar la descripción de un comportamiento dadose permite que esta sección sea implementada en un diagrama aparte o inclusoen otra página, caso en el cual el lenguaje IL no se puede usar.

Cuando se emplea un diagrama o página independiente para la implemen-tación de la descripción de la acción, el nombre de la acción se emplea comoidentificador que enlaza la acción con la descripción.

En general, una etapa puede constar de cualquier número de acciones aso-ciadas. Además una misma acción puede ser relacionada con más de una etapa.Más aún, si se desea, una etapa puede no tener ninguna acción asociada, conlo cual simplemente se espera a la validación de la condición de transición.

La ejecución de las acciones se rige mediante las siguientes dos reglas:

1. Cada etapa junto con sus acciones asociadas se ejecuta al menos una vezluego de su activación. En este estado la bandera Etapa.X se fija y per-manece en TRUE.

2. Posterior a la desactivación de una etapa, ésta y todas sus acciones asocia-das son invocadas una vez más con el propósito de asegurar una adecua-da finalización de variables y estados. Durante esta parte de la ejecucióny durante todo el tiempo que la etapa esté inactiva la bandera Etapa.Xpermanece en FALSE.

Page 231: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 209

Por último, es de destacar que los bloques de acciones no son de uso restrictivodel lenguaje SFC. Estos también pueden ser empleados dentro de redes FBD yLD tal como se muestra en la Figura 6.50.

A( A, ����� ����6 �(

����)A(

A,� ����6 �(

Bloque de Acción en LD Bloque de Acción en FBD

Figura 6.50: Bloques de Acciones en los Lenguajes LD y FBD

En la Figura 6.50 la línea a la izquierda del bloque de acción se encarga dedar la activación, en FBD cuando se entrega un valor booleano de TRUE y enLD cuando hay paso en el flujo de potencia de izquierda a derecha. Igualmentese puede emplear de forma opcional el indicador booleano con propósitos deseguimiento al desarrollo de las acciones implementadas, caso en el cual seasigna su valor a una variable.

6.8.3.2. Calificadores de las Acciones

Ya se ha visto que uno de los elementos constitutivos de una acción es sucalificador, ver Figura 6.49. Hasta el momento siempre se ha empleado el cali-ficador “N” con el cual toda acción se ejecuta continuamente mientras su etapaasociada se encuentre activa. Sin embargo, el estándar define un amplio rangode calificadores adicionales con los cuales se puede controlar de forma exac-ta el momento justo en el cual una acción se debe ejecutar en relación con laactivación de su etapa asociada.

De lo anterior es claro que la ejecución de una acción será dependientede la activación de la etapa asociada y del tipo de calificador asignado. En laTabla 6.5 se muestra el listado de los calificadores disponibles.

Aunque estos calificadores son de inmensa ayuda en la descripción de fun-cionalidades, igualmente pueden ocasionar mayores inconvenientes en el man-tenimiento, depuración y seguimiento a redes que los contienen, especialmenteen aquellos casos donde se emplea calificadores que extienden acciones másallá de la desactivación de una etapa, como es el caso de SD. Con el propósitode clarificar la forma de operar de estos calificadores, a continuación se mues-tran las posibles situaciones de cada uno de ellos en un diagrama de tiempos.

Page 232: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

210 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Calificador Nombre Descripción

No Memorizada Se ejecuta mientras la etapa sea activa

N No Memorizada Igual a la anterior

R Reset Reset memorizado de una acción

S Set Set memorizado de una acción

L Limitada Acción que se ejecuta sólo por un tiempo dadoo hasta que la etapa esté inactiva, lo que sucedaprimero

D Retarda Acción que inicia su ejecución luego de un tiempode retardo dado y que termina cuando la etapa estéinactiva. Si la etapa es inactiva antes del retardo laacción nunca se ejecuta

P Impulsiva Acción que se ejeucta sólo una vez al inicio de laactivación de la etapa

SD Memorizada yRetardada

Set memorizado de una acción luego de un tiempodado. El set ocurrirá independiente de la desacti-vación de la etapa.

DS Retardada yMemorizada

Igual a la anterior, pero en este caso si se produce ladesactivación de la etapa antes de terminar el retar-do no se realiza la memorización

SL Memorizada yLimitada

Set memorizado por un tiempo dado. El set ocurri-rá independiente de la desactivación de la etapa

Tabla 6.5: Calificadores de Acciones

El calificador tipo ’N’ ejecuta la acción de forma continua mientras la eta-pa asociada esté igualmente activa. Esto es, la acción se realizará mientras labandera Etapa.X tenga un valor de TRUE. En la Figura 6.51 se observa el com-portamiento de la acción en el tiempo.

�(

�,

����6�(�(

�(QU

����6�(

�,

Figura 6.51: Acción con Calificador N

El calificador tipo ’S’ ejecuta la acción de forma continua desde el momentoen el cual la etapa asociada esté activa y dicha acción permanece (se memoriza)aunque la etapa pase al estado inactivo. Para detener la ejecución de la acciónes necesario que en otra etapa se haga referencia a la misma acción pero usandoel calificador ’R’, con lo cual en el momento de la activación de esta segundaetapa se ejecutará una vez más la acción y se realizará enseguida el reset. En laFigura 6.52 se muestra la forma como operan estos calificadores.

Page 233: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 211

�(

�,

����6�(

�"(

����6�

�(QU

����6

�"(

�,

Figura 6.52: Acción con Calificadores S y R

El calificador ’L’ ejecuta la acción desde la activación de la etapa asociada,pero la realiza sólo por un periodo determinado de tiempo. En caso que laetapa se desactive antes de culminar la ejecución de la acción, ésta última no secontinúa ejecutando. Es claro entonces que la acción se realizará hasta cuandosuceda una de las siguientes situaciones: hasta que transcurra el tiempo pro-puesto o hasta que se desactive la etapa asociada, estas situaciones se muestranen la Figura 6.53.

�(

��V,�

�,

����6�(

�(QU

����6

�,

,� ,�

Figura 6.53: Acción con Calificador L

El calificador ’D’ ejecuta la acción un tiempo después de la activación de laetapa asociada. Esta ejecución dura hasta cuando se produzca la desactivaciónde la correspondiente etapa, en caso que el tiempo no se cumpla antes de ladesactivación de la etapa entonces la acción nunca se lleva a cabo. Este com-portamiento se observa en la Figura 6.54.

�(

��V,�

�,

����6�(

�(QU

����6

�,

,� ,�

Figura 6.54: Accón con Calificador D

Page 234: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

212 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

El calificador ’P’ ejecuta la acción una única vez con la activación de la eta-pa asociada. A este calificador también se le denomina como impulsivo. En laFigura 6.55 se muestra su comportamiento.

�(

�,

����6�(

�(QU

����6

�,

Figura 6.55: Acción con Calificador P

El calificador ’SD’ ejecuta la acción un tiempo después de la activación dela etapa asociada, este inicio de ejecución se realiza independientemente delestado futuro de la etapa. La ejecución se detiene sólo cuando en otra etapa sehaga referencia a la misma acción empleando el calificador ’R’. En las anteriorescondiciones es de aclarar que en caso que el calificador ’R’ se realice sobre laacción antes de que se cumpla el tiempo de retardo la acción nunca se lleva acabo. En la Figura 6.56 se muestran estos comportamientos para el calificador’SD’.

�(

����V,�

�,

����6�(

�"(

����6�

�(QU

����6

�"(

,�

�,

,�

Figura 6.56: Acción con Calificador SD

El calificador ’DS’ ejecuta la acción un tiempo después de la activación dela etapa asociada, este inicio se realiza siempre y cuando una vez cumplido elretardo la etapa aún esté activa. Al igual que en el caso anterior, se requierehacer referencia en otra etapa a la misma acción usando el calificador ’R’ paradetener su ejecución. La Figura 6.57 muestra el comportamiento descrito paraeste calificador.

Page 235: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 213

�(

����V,�

�,

����6�(

�"(

����6�

�(QU

����6

�"(

,�

�,

,�

Figura 6.57: Acción con Calificador DS

Por último, el calificador ’SL’ ejecuta la acción desde la activación de la eta-pa asociada y memoriza esta acción por un tiempo determinado. La duraciónde la ejecución de la acción no depende en este caso del estado futuro de laetapa asociada, sin embargo si en una etapa posterior se hace referencia a lamisma acción usando el calificador ’R’, la acción se detendrá aún en el casoque no se haya cumplido la duración fijada para la ejecución. En la Figura 6.58se muestran los comportamientos descritos para este calificador.

�(

����V,�

�,

����6�(

�"(

����6�

�(QU

����6

�"(

,�

�,

,�

Figura 6.58: Acción con Calificador LS

6.8.3.3. Control de Acción

Ya que se puede hacer referencia a una acción en particular desde diferen-tes bloques de acciones en varias etapas y como estas etapas pueden estar, ono, activas simultáneamente, dependiendo incluso de los tipos de calificadoresempleados, una acción en particular puede recibir simultáneamente llamadosdesde diferentes lugares los cuales influenciarán su tiempo de ejecución. Parapoder controlar la programación de una acción específica se emplea un Controlde Acción, el cual en general es un bloque de función propio del sistema opera-tivo y que se encarga de evaluar y determinar las condiciones bajo las cualesse debe dar inicio y paro a la ejecución de una acción [8]. En la Figura 6.59 semuestra la representación de este bloque de función.

Page 236: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

214 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

�(QU

�QU

��QU

�(

)

�������� �����6

��

��

��

$

Figura 6.59: Control de Acción

El control de acción está implementado con base en una función OR la cualrecibe como entradas las evaluaciones de cada uno de los diferentes tipos decalificadores (representados en la Figura 6.59 mediante un rectángulo) a excep-ción de ’R’. Una función AND se encarga de proveer el nivel mayor de prio-ridad al calificador ’R’. Desde las diferentes etapas que contengan bloques deacciones con la acción a evaluar se conecta la bandera Etapa.X a la entrada res-pectiva y la salida Q se encarga de activar directamente la acción o de permitirla ejecución cíclica de instrucciones en las secciones asociadas de descripciónde acción.

De acuerdo con las reglas para la ejecución de acciones, se debe tener siem-pre presente que posterior a la desactivación de una etapa se realiza una últimainvocación de todas las acciones con el propósito de asegurar el estado final delas variables.

6.8.4. Reglas de la Evaluación en una Red SFC

En los lenguajes de texto como IL o ST las instrucciones se ejecutan en se-cuencia una a continuación de la otra en el mismo orden que son escritas y estasecuencia únicamente es alterada por el uso de sentencias para control de flujou operadores para saltos. En una red SFC el método que determina la secuenciade ejecución es diferente.

En las redes SFC cada POU se asocia con una tarea, la cual es responsablede la ejecución de los elementos en su interior. Así una red SFC dentro de unaPOU es evaluada cada vez que la POU lo haga y una red SFC dentro de unbloque de acción es evaluada cada vez que la etapa asociada sea activa.

En general las reglas para la evaluación de redes SFC son las siguientes[8, 9]:

1. Todos las etapas iniciales son activadas por defecto cuando se realiza lainicialización del sistema, por ende se ejecutan las acciones asociadas a

Page 237: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 215

las etapas iniciales.

2. Con el inicio de una nueva evaluación se determina el conjunto de todaslas etapas activas y se permite la evaluación de todas las transicionesasociadas con ellas.

3. Para cada acción se realiza la verificación de la salida de su control deacción respectivo. Las acciones que terminan su ejecución desde la eva-luación anterior (transición TRUE a FALSE de la salida del control deacción) son ejecutadas una vez más.

4. Se ejecutan todas las acciones con salida TRUE en su control de acción.

5. A medida que las instrucciones en acciones se terminen, se realiza la lec-tura y escritura de valores de variables hacia o desde los canales físicosde entrada.

6. Las etapas activas con transiciones asociadas que tienen condición detransición TRUE (que son validadas) son desactivadas y se activan lasetapas siguientes a las transiciones validadas. En este punto se itera des-de el paso 2.

El comportamiento descrito para la evaluación se implementa de forma físicamediante lo denominado Módulo Secuenciador de Etapa. Éste se interpreta comoun elemento tecnológico funcional capaz de realizar la conexión entre etapasanteriores y posteriores. Su diseño se realiza mediante un biestable donde ala entrada SET se conectan mediante una función AND dos señales con el finde implementar las dos condiciones necesarias para la activación de la etapa,a saber: que la etapa anterior esté activa y que se produzca la validación dela transición previa a ella. En la entrada RESET se conecta una señal desde laetapa siguiente, esta entrada implementa la condición de ejecución de accionesuna vez más luego de la desactivación de la etapa. Finalmente la única salidadel módulo es el estado actual de activación que se emplea como señal para lasetapas siguientes, señal de desactivación de las etapas previas y como señal dela bandera Etapa.X. En la Figura 6.60 se muestra un módulo secuenciador y laforma de conexión para la implementación de varias etapas.

�(

)

�QU

��9�W������6�� =��

)

�QU

)

�G(

�G(QU�� ��G(

�"(

�G,

�( �(��9��7�� �

Figura 6.60: Módulo Secuenciador de Etapa

Page 238: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

216 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.8.5. Reglas de la Evolución en una Red SFC

Las siguientes reglas de evolución aseguran el correcto flujo de la informa-ción y el comportamiento adecuado de una red SFC [8, 9].

1. Nunca se podrá unir de forma directa dos etapas o dos transiciones, laconexión siempre debe incluir de forma alternada etapas y transiciones.

2. Si una transición se une hacia dos o más etapas en secuencia simultánea,las secuencias que inician en cada nueva etapa se ejecutan de forma si-multánea e independiente.

3. El tiempo durante el cual se realiza la validación de una transición, ladesactivación de las etapas previas a ella y la activación de sus etapassiguientes se puede considerar como instantáneo.

4. No se hace necesario considerar efectos de retardo entre transiciones quese validan de forma simultánea.

5. La condición de transición para una etapa no se evalúa hasta que el efectoresultante de la activación de la etapa sea comunicado a través de toda laPOU.

6.8.6. Otras Características No Definidas en el Estándar

Debido a la gran popularidad en implementación de automatismos conbase en SFC muchos sistemas integran en forma general algunas característicasadicionales no definidas dentro del estándar IEC 61131-3. El propósito de estasección es el de describir brevemente algunas de las características adicionalesmás relevantes que se implementan [3, 9].

Dentro del conjunto de los calificadores se define uno adicional denomina-do Condicional y representado por ’C’. Este calificador ocasiona que una acciónen particular requiera del cumplimiento de una condición para ser ejecutada,esta condición es adicional a la activación de la etapa. La forma general paraeste calificador se muestra en la Figura 6.61, donde la condición booleana esuna expresión en sintaxis ST igual a las expresiones descritas para las transi-ciones y que define la condición bajo la cual se puede realizar la acción. Laacción se ejecutará sólo si la etapa asociada está activa y la expresión booleanapara la condición toma un valor TRUE.

�(

�,

����6��9�(�(

������6�!���

Figura 6.61: Acción con Calificador C

Page 239: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 217

Otro concepto importante no definido dentro del estándar es el de Macro-Etapa. Una macro-etapa es una representación gráfica que permite agrupar co-mo una sola unidad una porción de la red SFC, facilitando de esta forma lalegibilidad, mantenibilidad y reutilización de porciones de código. La interfazde conexión entre la macro-etapa y el resto de la red SFC se realiza medianteuna etapa de entrada E y una etapa de salida S, ver Figura 6.62, las cuales en-marcan a las etapas y transiciones que se desea agrupar. Estas últimas recibenel nombre de Expansión de la macro-etapa. La validación de la transición queprecede a la macro-etapa ocasiona la activación de la etapa de entrada y la ac-tivación de la etapa de salida será entonces una de las condiciones necesarias,más no suficiente, para la validación de la transición posterior a la macroetapa.En la Figura 6.62 para activar la etapa de inicio de la macro-etapa se requierede la validación de la transición A y para la validación de la transición B debeestar activa la etapa de salida en la macro-etapa.

����

��9,

��(

��9-

!

�(,

�('

5

����"��9

��9������

��9����

�('

�((

Figura 6.62: Partes de una Macro-Etapa

Cuando se realiza un diseño jerárquico frecuentemente se tendrán variasredes SFC que describen de forma separada funcionalidades particulares delsistema implementado. Esta situación requiere entonces de acciones de controlque permitan la interacción controlada y sincronizada de las diferentes redesmediante la definición de condiciones de dependencia entre ellas lo cual conlle-va a establecer jerarquías entre las mismas redes. Para facilitar esta labor variossistemas de implementación adicionan acciones denominadas Órdenes de Forza-do, las cuales permiten controlar la ejecución de un diagrama jerárquicamenteinferior desde otro de orden superior. Este control se lleva a efecto mediante lamodificación del conjunto de etapas activas en la red inferior en función de lasvariables que intervienen en la activación de las transiciones de la red de ordensuperior.

Page 240: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

218 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Una orden de forzado se comporta como una acción de índole interna con lacual la red de jerarquía inferior toma de inmediato la situación que se imponey además esta orden es prioritaria sobre las demás reglas de evolución. Con elpropósito de impedir ciclos indeseados se prohíbe que una red forzada realiceacción similar sobre su red de orden superior y además una red sólo puedeser forzada en todo instante por una sola red de orden superior. Lo anteriorfacilita una de las condiciones generales de una red forzada y es que ésta debepermanecer en dicho estado mientras las condiciones que fijaron tal situaciónse sigan verificando.

La sintaxis general para una orden de forzado es: ’F/Identificador de reda forzar:{elementos a forzar}’. El formato para las etapas que se desea forzarpuede tomar varias formas dependiendo de lo deseado, así por ejemplo si sedesea forzar todas las etapas de una red identificada como G01 la sintaxis es’F/G01:{ }’, pero si se desea desactivar únicamente la evolución conservandoactiva la etapa actual la sintaxis es ’F/G01:{*}. Si finalmente lo deseado es cam-biar las etapas de la red que deben estar actualmente activas, por ejemplo a lasetapas 3 y 8, entonces la sintaxis es ’F/G01:{3,8}’. En muchas ocasiones se deseaque estas órdenes de forzado duren solo un instante, caso en el cual se puedeemplear el calificador impulsivo para esta acción adicionando una flecha orien-tada a continuación de la letra F así: ’F↑/G01:{3,8}’.

6.9. Portabilidad entre los Diferentes Lenguajes

La portabilidad es la posibilidad de representar una POU descrita en unlenguaje en otro dado. Aunque debería ser posible realizar en forma general latraducción entre lenguajes del estándar, esto no siempre es práctico, ya que unade la principales características del mismo estándar es proveer el conjunto delenguajes de entre los cuales se debe escoger de acuerdo a la aplicación puntualo diseño particular de POU el que mejor se acomode [1, 8, 9].

Durante el desarrollo de cada una de las secciones concernientes a los len-guajes del estándar se han presentado ejemplos de como realizar ciertas ope-raciones o funcionalidades en cada uno de los lenguajes, a su vez, de la com-paración entre estas formas se puede ir esbozando métodos generalizados pararealizar la traducción, aunque está no siempre se puede realizar de forma di-recta como en el caso de sentencias para el control de flujo en ST hacia FBD,donde se debe recurrir a toda la experiencia y algo de ingenio para lograr deforma correcta la traducción.

6.10. Ejemplo

Se presenta el desarrollo de un ejemplo en los cinco lenguajes del estándarIEC 61131-3. Para la implementación del mismo se ha empleado el paquete desoftware CoDeSys.

Page 241: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.10. EJEMPLO 219

Se implementa un sistema de control para un tanque de aguas lluvias, elcual posee tres motobombas (denominadas respectivamente M1, M2 y M3) ytres sensores de nivel, S1 para indicar nivel bajo, S2 para nivel medio y S3 paranivel alto. El control permite la activación alternada de motobombas cada vezque el nivel ascienda a S1. Si estando una motobomba activa el nivel llega a S2se debe activar la siguiente motobomba en la secuencia. Si estando dos moto-bombas activas el nivel llega a S3 se debe activar la última de las motobombas.Cuando el nivel baje nuevamente de S1 se deben apagar todas las motobombasactivas. La siguiente ocasión que el nivel suba de S1, debe encender la moto-bomba que sigue en la secuencia individual.

Figura 6.63: Ejemplo en Texto Estructurado

Page 242: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

220 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Figura 6.64: Ejemplo en Listado de Instrucciones

Page 243: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.10. EJEMPLO 221

Figura 6.65: Ejemplo en Diagrama de Bloques de Funciones

Page 244: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

222 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Figura 6.66: Ejemplo en Diagrama Escalera

Page 245: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.10. EJEMPLO 223

������������� �������� �������� �����

��������������������� ��������������������� � ���������������������

��������������� �������� �������� �����

���������������������� ��������������������� � ��������������������

��������������� �������� �������� �����

���������������������� �������������������� � ���������������������

Figura 6.67: Ejemplo en Diagrama Funcional Secuencial

Page 246: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

224 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

6.11. Ejercicios Propuestos

Para cada uno de los siguientes problemas propuestos, realice su imple-mentación en los cinco lenguajes del estándar IEC 61131-3. La implementaciónen cada lenguaje se debe desarrollar de forma independiente, es decir, no tratede hacer una implementación por analogía con otra.

1. Se desea controlar el encendido de una carga desde un único pulsadormonoestable normalmente abierto. Cada vez que se presione y libere elpulsador la carga debe cambiar de estado, es decir cuando el pulsadorregrese a su estado de reposo la carga debe pasar de encendida a apagadao viceversa, según como se encuentre. Al inicio, cuando se presiona elpulsador, la carga está apagada.

2. La Figura 6.68, muestra el esquema de un proceso para mezclas de reac-tivos. En el depósito de mezcla se vierte inicialmente el reactivo que sealimenta mediante la válvula V1 hasta el nivel N2, luego se vierte el reac-tivo alimentado por la válvula V2 hasta el nivel N3. Esta mezcla se llevaal Depósito A mediante la acción de la válvula V4 y hasta que el nivel N1indique tanque vacío. Posteriormente se prepara otra mezcla vertiendoinicialmente el reactivo alimentado por la válvula V3 hasta el nivel N2 yseguidamente el reactivo alimentado por V2 hasta el nivel N3. Esta mez-cla se lleva al Depósito B mediante la acción de la válvula V5 y hasta quese vacíe nuevamente el depósito de mezcla. Mientras se vierta el reacti-vo alimentado por V2 se debe tener encendido un mezclador, M, el cualdebe permanecer así hasta que el nivel baje a N2 cuando el tanque se es-té vaciando. Cuando los depósitos A y B estén llenos con sus respectivasmezclas se procede a abrir las válvulas VA y VB que los vacían. Ya que lasmezclas son diferentes no se garantiza el vaciado simultáneo, por lo quecada vez que se vacía el depósito A (nivel en Na) o el depósito B (nivelen Nb) se debe cerrar la respectiva válvula de ese depósito (VA o VB). Elciclo reinicia sólo con los depósitos A y B vacíos. Se cuenta con un inte-rruptor monoestable para dar arranque al sistema. Además, el arranqueestá condicionado a que todos los depósitos deben estar vacíos, para locual primero se debe garantizar vaciar los depósitos inferiores, y luegosi el depósito de mezcla tiene residuo, se abren todas las válvulas parapermitir su vaciado rápido.

Page 247: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.11. EJERCICIOS PROPUESTOS 225

A( A, A-

A. A/

A� A!

� �(�,�-� 96������ �� E��

� 96������������

� 96�����������!

�8�

Figura 6.68: Ejercicio Propuesto 2

3. En muchos sistemas automatizados se dispone de un único botón demando desde el cual se selecciona una operación deseada de entre unconjunto de posibles. De desea implementar el control de operación parauna impresora, la cual dispone únicamente de un botón monoestablepara determinar la operación a realizar, así: si el botón se presiona pormenos de tres segundos la impresora enciende de forma normal, si elbotón se presiona entre 5 y 8 segundos la impresora entrega la página deprueba, pero si el botón se presiona entre 8 y 10 segundos se entra en elmodo de configuración. Además, como ayuda para el usuario se disponede un led que opera de la siguiente forma: Inicialmente se encuentraapagado, cuando se inicia la pulsación del botón éste led enciende deforma permanente hasta los tres segundos, entre 3 hasta 5 segundos sepaga nuevamente para indicar que este intervalo no produce ningunaoperación del sistema, entre 5 hasta 8 segundos hace una intermitencia(encendido y apagado) con período de 1s, luego entre 8 hasta 10 segun-dos la intermitencia es con un periodo de 0.5s, finalmente luego de los10 segundos el led permanece apagado. Este diseño únicamente controlael tipo de encendido, se asume que cada uno de los sistemas que imple-mentan cada acción de la impresora ya están disponibles y sólo requierenser activados adecuadamente de acuerdo a la solicitud de encendido. Siel botón se libera en alguno de los intervalos que no producen ningunaacción, el sistema debe permitir nuevamente el reinicio de pulsación.

4. Un sistema de mezcla y carga posee un total de tres carros de transporte(CarroA, CarroB y CarroC), cada uno de los cuales circula por su propiavía, con sensores en los extremos así: al lado izquierdo los sensores son detipo final de carrera y se denominan Ai, Bi y Ci respectivamente; al ladoderecho los sensores son de tipo inductivo y calibrados para detectar loscarros justo en su centro y denominados Ad, Bd y Cd. Cada carro poseeen el fondo una compuerta manejada por un pistón de efecto simple (conuna señal de cero lógico cierra y con una señal de 1 lógico abre) que per-mite el vaciado de cada carro, estos pistones se denominan Pa, Pb y Pc

Page 248: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

226 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

respectivamente, además existen motores que permiten el desplazamien-to a izquierda o derecha de cada uno de los carros, así: para el CarroA sonCai y Cad, para el CarroB son Cbi y Cbd y para el CarroC son Cci y Ccd.Existen dos tolvas T1 y T2, donde la primera contiene cierto material yla segunda agua. Al inicio los tres carros se encuentran a la izquierda yel arranque es simultáneo mediante un pulsador monoestable A. Los tresinician su desplazamiento a derecha de forma independiente hasta el sen-sor que los ubica debajo de la tolva T1 (At1 para el CarroA, Bt1 para elCarroB y Ct1 para el CarroC). Esta tolva se puede desplazar a izquierdao derecha con los motores T1i y T1d respectivamente (Ver vista lateral enla Figura 6.69) e inicia en la posición central. La tolva debe atender loscarros en el mismo orden de llegada depositando en cada uno materialdurante 10s para lo cual debe activar el pistón Pt1. Cuando un carro hasido cargado por la tolva T1 puede iniciar su recorrido hacia la tolva T2,para lo cual existe un sensor que lo ubica en posición (At2 para el CarroA,Bt2 para el CarroB y Ct2 para el CarroC). La tolva T2, inicialmente en laposición central, igualmente se puede desplazar a izquierda o derechacon los motores T2i y T2d (no mostrados en la Figura 6.69) y debe de-positar agua en el mismo orden de llegada en cada uno de los carros porun tiempo de 5s, para lo cual dispone del pistón Pt2. Cuando un carrotiene completa su carga de agua, debe continuar su recorrido a derechahasta los sensores Ad, Bd o Cd, según el caso. En el extremo derecho,cada carro puede vaciar su contenido dentro del Carro de Carga para locual debe abrir su pistón de vaciado. En este punto, no importa que másde un carro vacíe de forma simultánea su contenido. Una vez vacío, uncarro puede regresar a cargar en la tolva 1 sin ir hasta el extremo izquier-do. El Carro de Carga se debe llenar con un total de 10 viajes de los carrosde transporte de tal forma que al final no quede ningún carro cargado, esdecir, el carro que realiza la octava descarga debe ir hasta la izquierda yno trabajar más, luego el que realiza la novena y finalmente el que hacela décima descarga. Todo el proceso en general debe ser realizado en elmenor tiempo posible, por lo que no está permitido que ningún carroespere a otro en ninguna posición.

Page 249: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

6.11. EJERCICIOS PROPUESTOS 227

����� ����! �����

����� ����! �����

�( �,

�(������ ���7

� �8 ��

�8 ���

�( �(8 �(�

��(�!�(���( ��,�!�,���,���!����

���!�����

��( ��,�� �� �8� �8� ��� ���

A������ ��

A����C����

�(� �(�

Figura 6.69: Ejercicio Propuesto 4

Page 250: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

228 CAPÍTULO 6. ESTÁNDAR IEC 61131-3

Page 251: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

Bibliografía

[1] Bolton, W.Programmable Logic Controllers, Fourth Edition.Elsevier, 2006. ISBN-10: 0-7506-8112-8

[2] Balcells, Josep. Romeral, Jose Luis.Autómatas ProgramablesAlfaomega marcombo 1998, ISBN 970-15-0247-7

[3] García Moreno, Emilio.Automatización de Procesos IndustrialesAlfaomega 2001, ISBN 970-15-0658-8

[4] International Electrotechnical Commission SC65B/WG7/TF3Type 2 Technical Report “Proposed Extensions to IEC 1131-3”Commite Draft, Paris, France, 9/96. Version: 05/1997

[5] International Electrotechnical Commission SC65B/WG7/TF3Correction of IEC 1131-3 “Revised Technical Corrigendum to IEC 1131-3”Draft Version, Yokohama, Japan, 5/97

[6] International Electrotechnical Commission SC65B/WG7/TF3Porposal to IEC 1131-3 “Draft Amendments to IEC 1131-3”Draft Version, Venedig, Italy, 8/98

[7] International Electrotechnical Commission SC65B/WG7/TF3Committee Draft - IEC 61131-3, 2nd Ed.“Programmable Controllers - programming languages”Committee Draft, Houston, 10/1998

[8] John, Karl-Heinz. Tiegelkamp, Michael.IEC 61131-3: Programming Industrial Automation SystemsSpringer, 2001. ISBN 3-540-67752-6

[9] Lewis, R. W.Programming Industrial Control Systems Using IEC 1131-3Revised EditionIEE 1998. ISBN 0-85296-950-3

229

Page 252: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica

230 BIBLIOGRAFÍA

[10] Parr, E.A.Programmable Controllers, An enginner´s guide, Third Edition.Newness. 2003. ISBN 0-7506-5757-X.

Page 253: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica
Page 254: Automatismos Industriales - Info · PDF fileautomatismo así como en las metodologías de lógica cableada y programada. El fundamento básico de los automatismos está en la lógica