Professional Documents
Culture Documents
discussions, stats, and author profiles for this publication at: https://www.researchgate.net/publication/266244394
Automatismos Industriales
Article
CITATION READS
1 4,079
4 authors, including:
Cristian Guarnizo
Universidad Tecnológica de Pereira
21 PUBLICATIONS 22 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Cristian Guarnizo on 18 February 2015.
2008
III
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 al
modelamiento, 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ón
de automatismos con la motivación de brindar una metodología que permita
la portabilidad e interoperabilidad de los diversos sistemas existentes.
IV
Notaciones
Notación Significado
Texto en cursiva Resalta palabras claves
a, b, c, di Constantes
w, x, y, z, xi , αi , ε, ζ Variables
J, K, L Relatores
f , 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ío
H 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ón
L Lenguaje formal de primer orden
L
Lenguaje formal sin descriptor
Cuantificador existencial
Cuantificador universal
∈ Pertenencia
F Expresión Booleana
F
d Expresión Booleana Dual
m Sumatoria de mintérminos
M Productoria de maxtérminos
d Términos Don’t Care o no importa
Q(t) Estado presente en una memoria
Q(t + 1) Estado siguiente en una memoria
V
Notación Significado
NA Contacto normalmente abierto
NC Contacto normalmente cerrado
A, B, M, N Contactor
CR, CR, CRB Relé
TR Relé de temporización
TR ON Relé de temporización al trabajo
TR OFF Relé de temporización al reposo
TA Contacto temporizado a la apertura
TC Contacto temporizado al cierre
CRc Relé de campo
CRsc Relé de sobrecarga
RdP Red de Petri
P Conjunto de lugares de una RdP
pi i-ésimo lugar de una RdP
T Conjunto de Transiciones de una RdP
tj j-ésima transición de una RdP
F ⊆ (P x T ) ∪ (T x P ) Conjunto de arcos de una RdP
W : F → {1, 2, 3, ...} Función de peso en los arcos de una RdP
M0 Marcado inicial de una RdP
Mn n-ésimo marcado alcanzable de una RdP
M (pi ) Valor del marcado en el i-ésimo lugar
N = {P, T, F, W } RdP sin marcado inicial
P N = {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 disparo
N G = {P, T, α, β} RdP generalizada
Número arbitrariamente grande de marcas
G = {V, E} Gráfico de cobertura
PN∗ Subred de Petri
C+ Matriz de incidencia posterior
C− Matriz de incidencia previa
C Matriz de incidencia
c+ij Elemento ij de C+
c−ij Elemento ij de C−
cij Elemento ij de C
•
tj Lugares de entrada de la transición t j
t•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 estados
GM Gráfico marcado
LE Red de libre elección
µk Vector de disparo
MT Matriz transpuesta de M
VI
Notación Significado
Γ Vector anulador derecho de C
∆ Vector anulador izquierdo de C
γi i-ésimo elemento de Γ
δi i-ésimo elemento de ∆
N Gd RdP dual de N G
Cd Matriz de incidencia de una RdP dual
Γ
Soporte del T-invariante
∆
Soporte del P-invariante
CONSTRUCTOR Palabra reservada IEC 61131-3
IF · · · THEN Palabra reservada resaltada
Texto a ingresar Texto código IEC 61131-3
VII
VIII
Índice General
1. INTRODUCCIÓN 1
IX
3.4.2. Diagrama de Estados . . . . . . . . . . . . . . . . . . . . 46
3.4.3. Dispositivos de Memoria . . . . . . . . . . . . . . . . . . 47
3.4.3.1. Latch Set-Reset . . . . . . . . . . . . . . . . . . . 48
3.4.3.2. Latch SCR . . . . . . . . . . . . . . . . . . . . . . 51
3.4.3.3. Latch D . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.3.4. Flip-Flop SR . . . . . . . . . . . . . . . . . . . . 53
3.4.3.5. Flip-Flop D . . . . . . . . . . . . . . . . . . . . . 54
3.4.3.6. Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . 55
3.4.3.7. Flip-Flop T . . . . . . . . . . . . . . . . . . . . . 56
3.4.4. Implementación de Automatismos Secuenciales . . . . . 56
3.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 62
4. LÓGICA CABLEADA 67
4.1. Dispositivos de Mando y Control . . . . . . . . . . . . . . . . . . 67
4.1.1. El Contactor . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1.1.1. Categorías Según el Empleo . . . . . . . . . . . 70
4.1.2. El Relé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.1.3. Relé de Enclavamiento . . . . . . . . . . . . . . . . . . . . 71
4.1.4. Contactor con Bobina de Autorretención . . . . . . . . . 71
4.1.5. Relé de Temporización al Trabajo (Relé Tipo ON) . . . . 71
4.1.6. Relé de Temporización al Reposo (Relé Tipo OFF) . . . . 72
4.1.7. Relé de Temporización al Trabajo y al Reposo . . . . . . . 73
4.1.8. Elementos de Mando . . . . . . . . . . . . . . . . . . . . . 73
4.2. Funciones Básicas de Lógica Cableada . . . . . . . . . . . . . . . 74
4.2.1. Función Interruptor y Función Sello . . . . . . . . . . . . 74
4.2.2. Función Detector de Flancos . . . . . . . . . . . . . . . . 75
4.2.3. Función Toggle . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2.4. Función Memoria Biestable . . . . . . . . . . . . . . . . . 77
4.2.5. Función Tren de Pulsos . . . . . . . . . . . . . . . . . . . 78
4.2.6. Función Refresco . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.7. Función Simulación de Relé Tipo OFF con ON . . . . . . 80
4.2.8. Función Simulación de Relé Tipo ON con OFF . . . . . . 80
4.2.9. Función Contador . . . . . . . . . . . . . . . . . . . . . . 81
4.3. Lógica de Conmutación con Lógica Cableada . . . . . . . . . . . 81
4.4. Diseños Básicos en Lógica Cableada . . . . . . . . . . . . . . . . 84
4.4.1. Activación Alternada de Cargas . . . . . . . . . . . . . . 84
4.4.2. Encendido Secuencial de Cargas . . . . . . . . . . . . . . 86
4.4.3. Arranque de Motor DC en Derivación . . . . . . . . . . . 88
4.4.4. Arranque de Motores Trifásicos . . . . . . . . . . . . . . . 90
4.4.4.1. Arranque Estrella-Delta con Transición Abierta 90
4.4.4.2. Arranque Estrella-Delta con Transición Cerrada 91
4.4.5. Inversión de Giro en Motores . . . . . . . . . . . . . . . . 92
4.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 93
X
5. Redes de Petri 99
5.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2. Definición y Presentación de las RdP . . . . . . . . . . . . . . . . 100
5.3. Tipos de Transiciones y Lugares . . . . . . . . . . . . . . . . . . . 102
5.4. Alcanzabilidad y Secuencia de Disparo . . . . . . . . . . . . . . 103
5.5. Propiedades de las RdP . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.1. RdP Limitada . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.2. RdP Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.3. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.4. RdP Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.5. RdP Conforme . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.6. RdP Persistente . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5.7. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . 107
5.6. RdP Interpretada . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7. RdP Autónoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7.1. RdP Generalizada . . . . . . . . . . . . . . . . . . . . . . 108
5.7.2. RdP Ordinaria y Pura . . . . . . . . . . . . . . . . . . . . 108
5.8. RdP Extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.9. Modelamiento de Procesos . . . . . . . . . . . . . . . . . . . . . . 109
5.9.1. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . 109
5.9.2. Arquitectura de Decisión . . . . . . . . . . . . . . . . . . 110
5.9.3. Arquitectura Paralela . . . . . . . . . . . . . . . . . . . . . 110
5.9.4. Arquitectura de Confusión . . . . . . . . . . . . . . . . . 111
5.9.5. Arquitecturas de Sincronización . . . . . . . . . . . . . . 112
5.9.6. Arquitectura para Recurso Compartido . . . . . . . . . . 113
5.9.7. Arquitectura Lectura-Escritura . . . . . . . . . . . . . . . 114
5.9.8. Arquitectura Productor-Consumidor . . . . . . . . . . . 115
5.9.9. Arquitectura Productor-Consumidor con Prioridad . . . 116
5.9.10. Arquitectura para Capacidad Limitada . . . . . . . . . . 116
5.9.11. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . 117
5.9.12. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . 117
5.10. Simplificación de una RdP . . . . . . . . . . . . . . . . . . . . . . 118
5.11. Análisis de las Redes de Petri . . . . . . . . . . . . . . . . . . . . 120
5.11.1. Análisis por Árbol de Cobertura . . . . . . . . . . . . . . 121
5.11.2. Análisis por Transformación . . . . . . . . . . . . . . . . 124
5.11.2.1. Reducción de una Subred de Petri a un Lugar . 125
5.11.3. Análisis por Representación Estructural . . . . . . . . . . 126
5.11.3.1. Matrices de Incidencia Previa y Posterior . . . . 127
5.11.3.2. Subconjuntos y Subclases de una RdP . . . . . 127
5.11.3.3. Matriz de Incidencia . . . . . . . . . . . . . . . . 129
5.11.3.4. Ecuación de Estado . . . . . . . . . . . . . . . . 130
5.11.3.5. Determinación de la Reversibilidad . . . . . . . 131
5.11.3.6. Determinación de la Conservatividad . . . . . . 132
5.11.3.7. Determinación de la Limitación . . . . . . . . . 133
5.11.3.8. Determinación de la Vivacidad . . . . . . . . . 133
5.12. Análisis Local de Redes de Petri . . . . . . . . . . . . . . . . . . . 135
XI
5.12.1. Red de Petri Dual . . . . . . . . . . . . . . . . . . . . . . . 135
5.12.2. Invariantes de Marcado y de Disparo . . . . . . . . . . . 135
5.12.2.1. Obtención de los P-Invariantes . . . . . . . . . . 136
5.13. Portabilidad entre Redes de Petri y Lógica Cableada . . . . . . . 138
5.14. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 143
XII
6.7.2. Elementos Para Control de Flujo . . . . . . . . . . . . . . 197
6.7.3. Llamados a Funciones y Bloques de Funciones . . . . . . 197
6.7.4. Reglas de la Evolución en una Red LD . . . . . . . . . . . 198
6.8. Diagrama Funcional Secuencial (SFC) . . . . . . . . . . . . . . . 200
6.8.1. Elementos Gráficos y Descripción de una Red SFC . . . . 200
6.8.1.1. Las Etapas . . . . . . . . . . . . . . . . . . . . . 201
6.8.1.2. Las Transiciones . . . . . . . . . . . . . . . . . . 202
6.8.2. Secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8.2.1. Secuencias Divergentes . . . . . . . . . . . . . . 205
6.8.2.2. Secuencias Simultáneas . . . . . . . . . . . . . . 206
6.8.2.3. Redes Inseguras . . . . . . . . . . . . . . . . . . 206
6.8.3. Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.8.3.1. Bloques de Acciones . . . . . . . . . . . . . . . . 207
6.8.3.2. Calificadores de las Acciones . . . . . . . . . . . 209
6.8.3.3. Control de Acción . . . . . . . . . . . . . . . . . 213
6.8.4. Reglas de la Evaluación en una Red SFC . . . . . . . . . 214
6.8.5. Reglas de la Evolución en una Red SFC . . . . . . . . . . 216
6.8.6. Otras Características No Definidas en el Estándar . . . . 216
6.9. Portabilidad entre los Diferentes Lenguajes . . . . . . . . . . . . 218
6.10. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.11. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 224
XIII
XIV
Índice de Tablas
XV
XVI
Índice de Figuras
XVII
3.31. Diagrama de Estados Automatismo Secuencial 1 . . . . . . . . . 57
3.32. Funciones Para el Flip-Flop A . . . . . . . . . . . . . . . . . . . . 58
3.33. Funciones Para el Flip-Flop B . . . . . . . . . . . . . . . . . . . . 58
3.34. Diagrama Lógico Automatismo 1 . . . . . . . . . . . . . . . . . . 59
3.35. Diagrama de Estados Automatismo Secuencial 2 . . . . . . . . . 60
3.36. Funciones Para los Flip-flops del Automatismo 2 . . . . . . . . . 61
3.37. Funciones Para los Flip-flops del Automatismo 2 . . . . . . . . . 62
3.38. Diagrama Lógico Automatismo 2 . . . . . . . . . . . . . . . . . . 62
XVIII
5.6. RdP No Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.7. RdP No Viva en Punto Muerto . . . . . . . . . . . . . . . . . . . 105
5.8. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.9. RdP No Persistente . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.10. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.11. Arco Inhibidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.12. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . . . . . 110
5.13. Arquitectura de Decisión o de Conflicto . . . . . . . . . . . . . . 110
5.14. Arquitectura Paralela o Concurrente . . . . . . . . . . . . . . . . 110
5.15. Arquitectura de Confusión Simétrica . . . . . . . . . . . . . . . . 111
5.16. Arquitectura de Confusión Asimétrica . . . . . . . . . . . . . . . 111
5.17. Arquitectura de Punto de Encuentro Simple . . . . . . . . . . . . 112
5.18. Arquitectura de Punto de Encuentro Simétrico . . . . . . . . . . 112
5.19. Arquitectura de Punto de Encuentro Asimétrico . . . . . . . . . 113
5.20. Arquitectura de Semáforo . . . . . . . . . . . . . . . . . . . . . . 113
5.21. Arquitectura de Recurso Compartido . . . . . . . . . . . . . . . 114
5.22. Arquitectura de Lectura-Escritura . . . . . . . . . . . . . . . . . 115
5.23. Arquitectura Productor-Consumidor . . . . . . . . . . . . . . . . 115
5.24. Arquitectura Productor-Consumidor con Prioridad . . . . . . . 116
5.25. Arquitectura para Capacidad Limitada . . . . . . . . . . . . . . 117
5.26. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . . . . . 117
5.27. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . . . . . 118
5.28. Fusión de Lugares en Serie . . . . . . . . . . . . . . . . . . . . . . 119
5.29. Fusión de Transiciones en Serie . . . . . . . . . . . . . . . . . . . 119
5.30. Fusión de Lugares Paralelos . . . . . . . . . . . . . . . . . . . . . 119
5.31. Fusión de Transiciones Paralelas . . . . . . . . . . . . . . . . . . 120
5.32. Eliminación de Lugar Auto-lazo . . . . . . . . . . . . . . . . . . 120
5.33. Eliminación de Transición Auto-lazo . . . . . . . . . . . . . . . . 120
5.34. Árbol de Cobertura para la Figura 5.10 . . . . . . . . . . . . . . . 122
5.35. RdP con Nodo Terminal y Nodos Infinitamente Reproducibles. 122
5.36. Árbol de Cobertura para la Figura 5.35 . . . . . . . . . . . . . . . 123
5.37. Gráfico de Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.38. Subred de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.39. Subred de Petri a Macrolugar . . . . . . . . . . . . . . . . . . . . 126
5.40. Matrices de Incidencia Previa y Posterior . . . . . . . . . . . . . 127
5.41. RdP No Pura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.42. RdP No Pura a Pura . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.43. Gráfico Orientado Marcado . . . . . . . . . . . . . . . . . . . . . 134
5.44. Sifón y Trampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.45. Arquitectura Secuencial a Lógica Cableada . . . . . . . . . . . . 139
5.46. Arcos con Pesos a Lógica Cableada . . . . . . . . . . . . . . . . . 139
5.47. Arco Inhibidor a Lógica Cableada . . . . . . . . . . . . . . . . . 139
5.48. Nodo And a Lógica Cableada . . . . . . . . . . . . . . . . . . . . 140
5.49. Arquitectura de Decisión a Lógica Cableada . . . . . . . . . . . . 140
5.50. Arquitectura de Decisión con Prioridad a Lógica Cableada . . . 141
5.51. Temporizador a Lógica Cableada . . . . . . . . . . . . . . . . . . 141
XIX
5.52. Acción a Lógica Cableada . . . . . . . . . . . . . . . . . . . . . . 141
5.53. Ejemplo de Red de Petri a Lógica Cableada . . . . . . . . . . . . 142
5.54. Ejercicios sobre Propiedades . . . . . . . . . . . . . . . . . . . . . 143
5.55. Ejercicio de Simplificación . . . . . . . . . . . . . . . . . . . . . . 144
XX
6.42. Transiciones con Sintaxis Inmediata . . . . . . . . . . . . . . . . 203
6.43. Transición con Sintaxis de Conector . . . . . . . . . . . . . . . . 203
6.44. Transiciones con Sintaxis de Nombre de Transición . . . . . . . . 204
6.45. Secuencias Divergentes y Prioridades . . . . . . . . . . . . . . . 205
6.46. Convergencia de Secuencias Divergentes . . . . . . . . . . . . . 206
6.47. Secuencias Simultáneas y su Convergencia . . . . . . . . . . . . 206
6.48. Redes Inseguras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.49. Elementos de un Bloque de Acción . . . . . . . . . . . . . . . . . 208
6.50. Bloques de Acciones en los Lenguajes LD y FBD . . . . . . . . . 209
6.51. Acción con Calificador N . . . . . . . . . . . . . . . . . . . . . . . 210
6.52. Acción con Calificadores S y R . . . . . . . . . . . . . . . . . . . . 211
6.53. Acción con Calificador L . . . . . . . . . . . . . . . . . . . . . . . 211
6.54. Accón con Calificador D . . . . . . . . . . . . . . . . . . . . . . . 211
6.55. Acción con Calificador P . . . . . . . . . . . . . . . . . . . . . . . 212
6.56. Acción con Calificador SD . . . . . . . . . . . . . . . . . . . . . . 212
6.57. Acción con Calificador DS . . . . . . . . . . . . . . . . . . . . . . 213
6.58. Acción con Calificador LS . . . . . . . . . . . . . . . . . . . . . . 213
6.59. Control de Acción . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.60. Módulo Secuenciador de Etapa . . . . . . . . . . . . . . . . . . . 215
6.61. Acción con Calificador C . . . . . . . . . . . . . . . . . . . . . . . 216
6.62. Partes de una Macro-Etapa . . . . . . . . . . . . . . . . . . . . . . 217
6.63. Ejemplo en Texto Estructurado . . . . . . . . . . . . . . . . . . . 219
6.64. Ejemplo en Listado de Instrucciones . . . . . . . . . . . . . . . . 220
6.65. Ejemplo en Diagrama de Bloques de Funciones . . . . . . . . . . 221
6.66. Ejemplo en Diagrama Escalera . . . . . . . . . . . . . . . . . . . 222
6.67. Ejemplo en Diagrama Funcional Secuencial . . . . . . . . . . . . 223
6.68. Ejercicio Propuesto 2 . . . . . . . . . . . . . . . . . . . . . . . . . 225
6.69. Ejercicio Propuesto 4 . . . . . . . . . . . . . . . . . . . . . . . . . 227
XXI
XXII
Capítulo 1
INTRODUCCIÓN
1
2 CAPÍTULO 1. INTRODUCCIÓN
los autómatas de lógica programable. Es por esta razón fundamental que los
autores han querido presentar este libro como una herramienta básica en el
aprendizaje 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 presentando
herramientas especializadas de diseño como lo son las redes de Petri.
Capítulo 2
FUNDAMENTOS DE LOS
AUTOMATISMOS
5
6 CAPÍTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS
individuales.
En [6] se puede encontrar imágenes y descripciones de la mayoría de los
automatismos mencionados previamente, incluso se puede encontrar variantes
y la evolución que algunos de estos sistemas han tenido. Además, igualmente
en [6] se puede encontrar la presentación de automatismos de los siglos XVII a
XIX, como es el caso de los primeros componentes automatizados en molinos
de viento.
PLANTA
Accionadores
CAPTADORES PREACCIONADORES
Sensores, Transductores Relés, Contactores
SISTEMA
Señales DE Señales
Físicas CONTROL de Mando
COMUNICACIONES INTERFAZ
HOMBRE-MÁQUINA
13
Capítulo 3
ANÁLISIS Y SÍNTESIS DE
AUTOMATISMOS
Variables: Son símbolos conformados por las últimas letras del alfabeto y en
minúsculas. Se permite la adición de subíndices y el uso del alfabeto
1 La aridad de una función o de un predicado se define como el número de argumentos que
tiene.
15
16 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
La Implicación: Se lee como “SI ... ENTONCES ...” o “ ... IMPLICA ...” y se
representa por la conectiva →.
ε ¬ε
V F
F V
ε ζ ε∧ζ
V V V
V F F
F V F
F F F
ε ζ ε∨ζ
V V V
V F V
F V V
F F F
ε ζ ε→ζ
V V V
V F F
F V V
F F V
ε ζ ε↔ζ
V V V
V F F
F V F
F F V
4. Funtores: Cada funtor debe tener asociado un rango e índice en las mis-
mas condiciones mencionadas para los relatores. Fin es el funtor n-ádico
de í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 generalizador
de L.
20 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
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 resultante
al retirar el descriptor.
ε, ζ ∈ H ε ∧ ζ ∈ H y ε ∨ ζ ∈ H
ε∈H ε∨ 0=ε
ε∈H ε∧ 1=ε
Postulado 3. Conmutatividad
ε, ζ ∈ H ε ∧ ζ = ζ ∧ ε
ε, ζ ∈ H ε ∨ ζ = ζ ∨ ε
22 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
Postulado 4. Asociatividad
ε, ζ, ψ ∈ H ε ∧ (ζ ∧ ψ) = (ε ∧ ζ) ∧ ψ
ε, ζ, ψ ∈ H ε ∨ (ζ ∨ ψ) = (ε ∨ ζ) ∨ ψ
Postulado 5. Distributividad
ε, ζ, ψ ∈ H ε ∨ (ζ ∧ ψ) = (ε ∨ ζ) ∧ (ε ∨ ψ)
ε, ζ, ψ ∈ H ε ∧ (ζ ∨ ψ) = (ε ∧ ζ) ∨ (ε ∧ ψ)
ε∈H ¬ε ∈ H ε ∨ ¬ε = 1
ε ∈ H ¬ε ∈ H ε ∧ ¬ε = 0
si F ε, ζ, ψ : (¬ε ∨ ¬ζ) ∧ (ε ∧ ζ) ∨ ψ = ψ ∧ (¬ε ∨ ¬ζ)
ahora F d ε, ζ, ψ : (¬ε ∧ ¬ζ) ∨ (ε ∨ ζ) ∧ ψ = ψ ∨ (¬ε ∧ ¬ζ)
ε∈H ε ∨ ε=ε
ε∈H ε ∧ ε=ε
ε∈H ε ∨ 1=1
ε∈H ε ∧ 0=0
Teorema 3: Involución
ε ∈ H ¬(¬ε) = ε
Teorema 4: Absorción
ε, ζ ∈ H ε ∨ (ε ∧ ζ) = ε
ε, ζ ∈ H ε ∧ (ε ∨ ζ) = ε
ε, ζ ∈ H ε ∨ (¬ε ∧ ζ) = ε ∨ ζ
ε, ζ ∈ H ε ∧ (¬ε ∨ ζ) = ε ∧ ζ
ε, ζ ∈ H (ε ∧ ζ) ∨ (ε ∧ ¬ζ) = ε
ε, ζ ∈ H (ε ∨ ζ) ∧ (ε ∨ ¬ζ) = ε
ε, ζ, ψ ∈ H (ε ∧ ζ) ∨ (ε ∧ ¬ζ ∧ ψ) = (ε ∧ ζ) ∨ (ε ∧ ψ)
ε, ζ, ψ ∈ H (ε ∨ ζ) ∧ (ε ∨ ¬ζ ∨ ψ) = (ε ∨ ζ) ∧ (ε ∨ ψ)
24 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
ε, ζ ∈ H ¬(ε ∨ ζ) = ¬ε ∧ ¬ζ
ε, ζ ∈ H ¬(ε ∧ ζ) = ¬ε ∨ ¬ζ
ε, ζ, ψ ∈ H (ε ∧ ζ) ∨ (¬ε ∧ ψ) ∨ (ζ ∧ ψ) = (ε ∧ ζ) ∨ (¬ε ∧ ψ)
ε, ζ, ψ ∈ H (ε ∨ ζ) ∧ (¬ε ∨ ψ) ∧ (ζ ∨ ψ) = (ε ∨ ζ) ∧ (¬ε ∨ ψ)
α0 α1 f02 f12 f22 f32 f42 f52 f62 f72 f82 f92 2
f10 2
f11 2
f12 2
f13 2
f14 2
f15
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
α0 , ... , αn−1 ∈ H f (α0 , ... , αn−1 ) = α0 ∧ ... ∧ αn−1 = β | β ∈ H
n
β = f 3 (α0 , α1 , α2 ) = α0 ∧ α1 ∧ α2
= (α0 ∧ α1 ) ∧ α2
= α0 ∧ (α1 ∧ α2 )
β = f 3 (α0 , α1 , α2 ) = α0 ∧ (α1 ∧ α2 )
= α0 ∧ (α2 ∧ α1 )
= (α0 ∧ α2 ) ∧ α1
= α2 ∧ α0 ∧ α1
α0 α1 α0 ∧ α1
a0 &
b a0 a1 0 0 0
b 0 1 0
a1 1 0 0
1 1 1
α0 , ... , αn−1 ∈ H f n (α0 , ... , αn−1 ) = α0 ∨ ... ∨ αn−1 = β | β ∈ H
β = f 3 (α0 , α1 , α2 ) = α0 ∨ (α1 ∨ α2 )
= α0 ∨ (α2 ∨ α1 )
= (α0 ∨ α2 ) ∨ α1
= α2 ∨ α0 ∨ α1
a0 ³1
α0 α1 α0 ∨ α1
a0 0 0 0
b
b 0 1 1
a1
a1 1 0 1
1 1 1
1 α0 ¬α0
a0 b a0
b 0 1
1 0
A partir de las tres funciones anteriores se puede obtener las siguientes cuatro,
aunque debido a su amplia utilización se han definido independientemente y
se les ha asignado un símbolo.
a0 &
α0 α1 ¬(α0 ∧ α1 )
a0 0 0 1
b
b 0 1 1
a1
a1 1 0 1
1 1 0
α0 , ... , αn−1 ∈ H f (α0 , ... , αn−1 ) = ¬(α0 ∨...∨αn−1 ) = β | β ∈ H
n
α0 α1 ¬(α0 ∨ α1 )
a0 ³1
b a0 a1 0 0 1
b 0 1 0
a1 1 0 0
1 1 0
y = f 2 (α0 , α1 ) = α0 ⊕ α1
= (α0 ∧ ¬α1 ) ∨ (¬α0 ∧ α1 )
a0 =1
α0 α1 α0 ⊕α1
a0 a1 0 0 0
b
b 0 1 1
a1
a0 a1 1 0 1
1 1 0
β = f 2 (α0 , α1 ) = ¬(α0 ⊕ α1 )
= α0 α1
= ¬ (α0 ∧ ¬α1 ) ∨ (¬α0 ∧ α1 )
a0 =1
α0 α1 α0 α1
a0 a1
b 0 0 1
b 0 1 0
a1
a0 a1 1 0 0
1 1 1
a0 & a0 ³1
Øa 0 Øa 0
NOT
g11 h11
³1
a0
a0 ³1
& &
AND
a1 ³1
a1
g22 h22
&
a0
& a0
³1 ³1
OR
& a1
a1
g32 h23
α0 α1 α2 f 3 (α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
Ejemplo: Encontrar las formas canónicas para una función que indica con un
valor lógico de 1 si un número de entrada en código BCD es mayor a 3 y
menor 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 codifica
los números del 0 al 9, por tanto las posiciones 10 a 15 son “Don’t Care”
34 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
Código α0 α1 α2 α3 f 4 (α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
En la Tabla 3.12, mediante una d se ha notado los términos que son “Don’t
Care” y que corresponden a aquellas entradas que se sabe nunca se presentarán
para este ejemplo. La función se podrá representar de las siguientes formas:
f 4 (α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)}
α0 α1
a0,Øa1
Ø ¬α0 α0 a0 0
Cód min m0 a1 1
(0) (1) 0 2
0 0 0 m0 0
1 0 1 m1 a0,Øa1 a0, a1Øa0, a1 ¬α1
m2 m3 m1 (0) m0 m2 1 3
2 1 0 m2 1
3 1 1 m3 α1
(1) m1 m3
Cód α0 α1 α2 min a0 0 1
Øa0,Øa1,Øa2 a0,a1,Øa2 a1,a2
0 0 0 0 m0 m0 a ,Øa ,Øa 0 4
0
m4 m6
1 2
00
1 0 0 1 m1 a ,a ,a Øa0,a1,Øa2
0 1 2
1 5
2 0 1 0 m2 m2 01
3 0 1 1 m3
m5 m7 m3 3 7
11
4 1 0 0 m4
m1 2 6
5 1 0 1 m5
Øa0,Øa1,a2 10
6 1 1 0 m6 a0,Øa1,a2 Øa0,a1,a2
7 1 1 1 m7
á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 la
operación de unión a la disyunción.
36 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
a0,a1
a2 00 01 11 10
0 2 6 4
0
1 3 7 5
1
vez.
3.3. SIMPLIFICACIÓN DE FUNCIONES DE CONMUTACIÓN 37
a0
a0,a1
a2,a3 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
a3
3 7 15 11
11 1 1 1
a2
2 6 14 10
10 1
a1
Grupo 1 = m8 , m10
Grupo 2 = m3 , m7
Grupo 3 = m5 , m7 , m13 , m15
a0
a0,a1
a2,a3 00 01 11 10
0 4 12 8
00 1
1 5 13 9
01 1 1
a3
3 7 15 11
11 1 1 1
a2
2 6 14 10
10 1
a1
Grupo 1 = M9 , M13
Grupo 2 = M2 , M10
Grupo 3 = M12 , M13 , M14 , M15
a0
a0,a1
a2,a3 00 01 11 10
0 4 12 8
00 0
1 5 13 9
01 0 0
a3
3 7 15 11
11 0
a2
2 6 14 10
10 0 0 0
a1
f 4 (α0 , α1 , α2 , α3 ) = m {(0, 2, 5, 6, 8, 9, 10, 14) + d (4, 7, 13, 15)}
a0
a0,a1
a2,a3 00 01 11 10
0 4 12 8
00 1 d 1
1 5 13 9
01 1 d 1
a3
3 7 15 11
11 d d
a2
2 6 14 10
10 1 1 1 1
a1
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:
f 4 (α0 , α1 , α2 , α3 ) = (¬α1 ∧¬α3 ) ∨ (¬α0 ∧α1 ) ∨ (α2 ∧¬α3 ) ∨ (α0 ∧¬α2 ∧α3 )
f 4 (α0 , α1 , α2 , α3 ) = m {0, 2, 3, 6, 7, 8, 9, 10, 13}
Columna 1
Mintérminos α0 α1 α2 α3
0 0000 Cero unos
3 0011
6 0110
9 1001 Tres unos
10 1010
7 0111 Cuatro
13 1101 Unos
Columna 1 Columna 2
Mintér α0 α1 α2 α3 Mintér α0 α1 α2 α3
0 0000 * 0y2 00_0
0y8 _000
2 0010 *
8 1000 * 2y3 001_
2y6 0_10
3 0011 * 2 y 10 _010
6 0110 * 8y9 100_
9 1001 * 8 y 10 10_0
10 1010 *
3y7 0_11
7 0111 * 6y7 011_
13 1101 * 9 y 13 1_01
0 2 3 6 7 8 9 10 13
T1 0,2,8,10 _0_0 X X X X
T2 2,3,6,7 0_1_ X X X X
T3 8,9 100_ X X
T4 9,13 1_01 X X
* * * * * * * * *
0 2 3 6 7 8 9 10 13
T1 0,2,8,10 _0_0 * X X X X
T2 2,3,6,7 0_1_ * X X X X
T3 8,9 100_ X X
T4 9,13 1_01 * X X
MEMORIA
W1 Wl wl w1
LÓGICA
x1 COMBINACIONAL z1
x2 z2
xn zm
zi = φn+l
i (x1 , x2 , ... , xn , W1 , W2 , ... , Wl )
wi = ϕn+l
i (x1 , x2 , ... , xn , W1 , W2 , ... , Wl )
Donde φn+l
i y ϕn+l
i son respectivamente la i − sima función de salida y de
estado siguiente de aridad n + l.
Lógica
Entradas Sistema Lógica
combinacional
de combinacional Salidas
para estado Estado
Memoria Presente de Salida
siguiente
Lógica
Entradas Sistema Lógica
combinacional Estado
de Presente combinacional Salidas
para estado
Memoria de Salida
siguiente
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
1
1
0
1
A B
0
0
1 1
0 0
0
0
D C
0
1 1
1
0 ³1 1 ³1 1 ³1
0 1 1 Q
0 1 S 0
0 ³1 ³1 1 ³1 ³1
0 1
1 0
0 1
1 0
1 ³1 ³1
1
0
0
R ØQ
Las dos configuraciones anteriores no tienen una aplicación útil ya que una
vez se ha fijado un valor de 1 o 0 respectivamente en cada una de ellas, no
es posible volver a cambiarlo. En la práctica se necesita de un dispositivo que
permita 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 compuerta
NOR (la que realiza la función de negación) se obtiene un sistema como el de
la Figura 3.24, el cual es conocido como un latch set-reset o simplemente Latch
SR.
S ³1
ØQ
³1 S Q
ØQ
³1
S Q Q
³1 R
Q
R
S R Q
0 0 0
0 1 0
Se guarda un 1 1 0 1
0 0 1
Se guarda un 0 0 1 0
0 0 0
Entrada ilegal 1 1 X
Estado Estado
Entradas
Presente 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
Q(t + 1) = S ∨ ¬R ∧ Q(t)
3.4. AUTOMATISMOS SECUENCIALES 51
S &
S Q S Q
C C
& R Q R Q
Estado Estado
Entradas
Presente 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
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 dato
de entrada denominado D. La configuración y representación del Latch D se
muestra en la Figura 3.26. Para este dispositivo, dada su configuración, la tabla
de 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, ya
sea 1 o 0, se debe ingresar como dato el mismo valor a almacenar. La tabla de
excitación se puede observar en la Tabla 3.22.
D &
S Q D Q
C
& R Q C Q
Estado Estado
Entradas
Presente 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
3.4.3.4. Flip-Flop SR
Maestro Esclavo
S S Q S Q S Q
C C C
R R Q R Q R Q
C 1 1
(reloj)
Cuando la señal del reloj, que es la misma señal de control, tiene un valor
lógico de 0 el latch maestro se encuentra con sus entradas habilitadas mientras
el latch esclavo las tiene inhibidas, esto hace que los valores en las entradas S y
R 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á los
valores en sus entradas dando estabilidad en su salida y así permitiendo que
el latch esclavo pase a su estado siguiente justo con la transición de subida del
reloj.
La tabla de excitación y ecuación característica del flip-flop SR se muestran
a continuación, donde se puede observar que son iguales a la del latch SR con
la única diferencia que los pasos a estado siguiente se producen justamente en
el pulso de subida del reloj.
54 CAPÍTULO 3. ANÁLISIS Y SÍNTESIS DE AUTOMATISMOS
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
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.
Maestro Esclavo
D D Q D Q D Q
C Q C Q C Q
C 1 1
(reloj)
D Q(t) C Q(t + 1)
0 0 ↑ 0
0 1 ↑ 0
1 0 ↑ 0
1 1 ↑ 1
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 la
restricción existente para S = R = 1. Para lograr este cometido, se realiza
la configuración mostrada en la Figura 3.29, donde ahora la entrada J hace
las veces de la entrada S y la entrada K de R. En esta configuración cuando
J = K = 1 se obtiene la conmutación de la salida, es decir, si el estado presente
es 0 entonces el siguiente será 1 y recíprocamente para un estado actual de 1.
&
R Q J Q
K C C
J &
S Q K Q
reloj
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
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á el
estado actual si el valor de entrada es 0.
T J Q T Q
C
K Q C Q
reloj
T Q(t) C Q(t + 1)
0 0 ↑ 0
0 1 ↑ 1
1 0 ↑ 1
1 1 ↑ 0
00 01
1 1
11 10
0 1 0
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
A, B A, B
x 00 01 11 10 x 00 01 11 10
0 2 6 4 0 2 6 4
0 d d 0 d d
1 3 7 5 1 3 7 5
1 1 d d 1 1 d 1 1 d
JB=x KB=x
J Q A
&
C F-A
K Q
x J Q B
C F-B
K Q
clk
00 00
0d 11 11
11 10 10 10 00
10 10 10 11
00 01 01 01 10 01 11
01 01 01
10
01
De la Tabla 3.29 se puede deducir la tabla de verdad para cada una de las
entradas de los 2 flip-flops que se requieren, solo basta seleccionar que
tipo usar, en este caso se empleará flip-flops tipo T. Igualmente se realiza
la tabla de verdad para las dos salidas. Los resultados se muestran en la
Tabla 3.30.
Seguidamente, y con base en la misma Tabla 3.30, se puede realizar la
simplificació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 las
Figuras 3.36 y 3.37.
3.4. AUTOMATISMOS SECUENCIALES 61
Q1, Q2 Q1, Q2
D, I 00 01 11 10 D, I 00 01 11 10
0 4 12 8 0 4 12 8
00 00
1 5 13 9 1 5 13 9
01 1 01 1 1 1
3 7 15 11 3 7 15 11
11 d d d d 11 d d d d
2 6 14 10 2 6 14 10
10 1 1 10 1 1 1 1
T1=(Q2ÙD)Ú(Q1ÙØQ2ÙI) T2=DÚ(Q2ÙI)Ú(Q1ÙI)
Q1, Q2 Q1, Q2
D, I 00 01 11 10 D, I 00 01 11 10
0 4 12 8 0 4 12 8
00 1 1 1 1 00 1 1 1 1
1 5 13 9 1 5 13 9
01 1 01 1 1 1 1
3 7 15 11 3 7 15 11
11 d d d d 11 d d d d
2 6 14 10 2 6 14 10
10 1 1 1 10 1
R=(DÙØI)Ú(ØQ1ÙØQ2)Ú V=ØDÚ(Q1ÙQ2ÙD)
(ØQ1ÙD)Ú(Q1ÙØQ2ÙD)
&
& ³1
T Q &
& ³1
FF 1
R
C Q &
D ³1 & ³1
&
T Q V
I &
FF 2
&
C Q
clk
65
Capítulo 4
LÓGICA CABLEADA
67
68 CAPÍTULO 4. LÓGICA CABLEADA
Contactos
móviles
Resortes de
reposición
contactos
Armadura
Contactos móvil
fijos
Cámara soplado
de arco Resorte de
reposición
armadura
Bobina
Armadura
fija
Base
Contactos auxiliares
13 14 23 24 31 32 41 42
Contactos auxiliares Contactos auxiliares
de cierre de apertura
4.1.2. El Relé
Su operación, constitución y finalidad es igual a las ya descritas para un
contactor. Su diferencia principal radica en que el relé sólo posee contactos
auxiliares, por lo que no se emplea para controlar los accionamientos de los
receptores. Debido a que sus contactos son todos auxiliares, se emplea en la
secció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.
Bobina
A1
TRon A2
Bobina
Contactos instantáneos
Instantáneo
13 14 21 22
Temporizado
Contactos temporizados
Ajuste Ajuste
37 38 45 46
TR-TC TR-TA
igual al del relé tipo ON con la única diferencia que ahora un contacto auxiliar
temporizado que en reposo está normalmente abierto temporiza su apertura
mientras 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].
Bobina
A1
TRoff A2 Bobina
Contactos instantáneos
Instantáneo
13 14 21 22
Temporizado
Contactos temporizados
Ajuste Ajuste
37 38 45 46
TR-TA TR-TC
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 apertura
de uno solo de los polos es suficiente para abrir todos los demás. Adi-
cionalmente permite protección por sobre cargas.
Pulsadores
Relé de
Braker bipolar Fusible sobrecorriente
Circuito de control
P2
P1
CR P2 P1
CR
CR
A
A
CR
B
Circuito de potencia
Circuito de control
P1
P1 P1
CR1
CR2 CR1
CR1
A CR2
CR1 CR2
A,B
Circuito de potencia
Circuito de control
P1
P1 P1
CR1
CR2 CR1
CR1
A CR2
CR1 CR2
A,B
Circuito de potencia
Circuito de control
P1
P1 P1 P1 P1 P1 P1
CR1
CR2 CR1,
CR1 CR2
CR3
CR4
CR1 CR2 CR4
CR3,
CR3 A
CR4
CR1 CR2 CR3
CR4
A
CR3
Circuito de control
P1 P1 P2 P2
P1
S S
P2
R
R
Q
S R Q
Circuito de control
P2
P1 P2
CR
TR1
CR
t1
TR1
CR TR2-TA ON TR2
t2
TR2 A
TR1-TC ON
A t1 t2
CR TR1-TA
CR1
Figura 4.12: Función Tren de Pulsos con 2 Relés OFF y con Un solo ON.
Circuito de control
P1
P1
CR
t A
TR
OFF
CR t t t
A
TR-TA
P2 P2
P1 P1
CR CR
CR CR
OFF
CR1 TR
CR TR-TA CR
ON
TR
CR1 CR
A A
CR1 TR-TA
P2 P2
P1 P1
CR CR
CR CR
OFF ON
TR TR
CR CR1 CR
CR1
TRi
CR2
CR1 TR-TC A
A TR-TC
CR2
P2
P1
CR1
CR2
CR1
CR3
CR2 CR1
CR4
CR3 CR1
CR5
CR4 CR1
CR5
A
CR1 CR5
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 con
los motores, se puede construir la siguiente tabla de verdad y mapa de
Karnaugh para simplificar la función:
P2
P1
CR
CR
Al
CR CRA
CRB CRC
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 para
el cierre denominado C. Una vez el funcionario oprime A se enciende
de forma automática un sistema de video, pero la apertura de la caja se
retrasa durante 5 segundos. A su vez, cuando el operario sale y oprime
cerrar la caja se cierra de forma automática e inmediata, pero el sistema
de 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 sistema
de video con base en las señales de control A y C, pero usando un único
relé de temporización TR.
Para dar solución a este problema se procede de la siguiente forma: Se
emplean memorias biestables con el fin de guardar las órdenes de aper-
tura (CR1) y de cierre (CR2) y una memoria adicional (M) que ingresa con
la apertura y se resetea con el cierre y se emplea para controlar el video
y la puerta. El relé de temporización (TR) en esta ocasión se comporta
por naturaleza como un ON ya que una vez energizado debe inmediata-
mente iniciar el conteo de los 5 segundos. Este conteo inicia ya sea con
la orden de apertura o la de cierre y se mantiene hasta que termine el
tiempo 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 de
cierre, lo cual se expresa directamente mediante lógica combinacional tal
como se puede observar en la Figura 4.19. El video debe estar encendido
mientras 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 de
hacer reutilizable el diseño se saca de operación las bobinas CR1 y CR2
luego de terminada la temporización relacionada con cada orden.
84 CAPÍTULO 4. LÓGICA CABLEADA
A TR-TA
CR1
CR1
C TR-TA
CR2
CR2 M A C
CR1 CR2
M
M P
TR-TA t
CR1
TR
ON V
CR2
TRi 5s 5s
TR-TC CR2
M P
P
M V
CR2
P1 CR1 C
A
A
CR1 CR2 A
B
B
CR2 B
C
C
C
A
CR1
CR1
C
B CR2
CR2
P1 P1
CR1 B CR1 C
A A
A A
A B A C
CR1 CR1
CR1 CR1
CR4 CR4
B CR4 C B D C
CR2 CR2
CR2 CR2
CR4 CR4 CR4
C CR4 CR3 C CR4 CR3
CR3 CR3
D A D A
CR4 CR4
CR4 CR4
P1 A1
M1
M2 M1
P2 A2 M1
M2
M3 M2
P3 A3
M3
M2
M3
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 del
lado izquierdo.
P1 A1 P1 A1
M1 M1
M3 M1 M3 M1
P2 A2 M1 P2 A2 M1
M2 M2
M1 M2 M2 M1 M2
P3 A3 P3 A3
M3 M3
M2 M2
M3 M3
Figura 4.23: Encendido en Secuencia M1↑, M2↑, M3↑, M3↓, M1↓, M2↓
P1 A1 P1 A1
M1 M1
M3 M1 M3 M1
P2 A2 M1 P2 A2 M1
M2 M2
M2 M2
P3 A3 M2 P3 A3 M2
M3 M3
M2 M3 M3 M2 M3
Figura 4.24: Encendido en Secuencia M1↑, M2↑, M3↑, M2↓, M3↓, M1↓
A
P CRsc CRc
M
Rf Lf
M 2A CRc
M t1
TR1
ON
R arranque Ea
TR1-TC
1A + -
1A M CRsc M
TR1-TC t2 1A 2A
TR2
ON
TR2-TC
2A
2A
A
P CRsc CRc
M
M M
TR2-TC 1A t1
TR1
OFF
TR1-TC TR2-TA
1A
1A
TR1-TA 2A t2
TR2
OFF
TR2-TC 1A
2A
2A
Circuito de control
A
P TR-TA
N
N CRsc CRsc
M
M CRsc
M
t1
M
TR
OFF
M N
D
Rf Lf M M
CRc
F R
R arranque F R F R
+
-
M CRsc M Auxiliar Principal
1A 2A
R F K
Circuito de control
P PF PR CRr
CRf
CRf
PR PF CRf
CRr
CRr
F
M
t1
R
TR
OFF
TR-TC CRf
F
CRr
F
R
16. Por un pasillo largo solo puede circular una persona a la vez, por tanto se
ha dispuesto de un sistema de control que permita indicar a las personas
que llegan si pueden ingresar. En cada extremo se ha ubicado un sensor
fotoeléctrico a la entrada y un semáforo con luz roja y verde que permite
indicar si se puede ingresar o no. El sistema debe iniciar con los semáforos
de 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 que
el tráfico es muy bajo y que en ningún caso habrá personas que pueden
ingresar simultáneamente desde ambos lados.
17. Ajustar el diseño del punto anterior si se desea que una vez salga una
persona del pasillo los semáforos esperen 3 segundos antes de pasar a
verde. Para este nuevo diseño, usar un único relé de temporización del
tipo deseado.
4.5. EJERCICIOS PROPUESTOS 95
97
Capítulo 5
Redes de Petri
99
100 CAPÍTULO 5. REDES DE PETRI
t1 P1
t4 t5
t3 P3 P5 P6
2
t2 P2 P4
En la Figura 5.1 el peso del arco que une el lugar P4 con t4 tiene un valor
de 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 de
los demás arcos. En esta red sólo el lugar P4 tiene marcas al inicio por lo que
el vector de marcado inicial en este caso es: M0 = {0, 0, 0, 2, 0, 0} el cual
denota claramente la existencia de 2 marcas en el lugar 4 y ninguna para los
demás. Si la transición t1 se dispara1 aparece una marca en el lugar 1 y da
lugar al marcado M1 = {1, 0, 0, 2, 0, 0}. Ahora se puede disparar únicamente
la transición t2 ya que las demás no se encuentran sensibilizadas. Al disparar
t2 el nuevo marcado ahora es M2 = {1, 1, 0, 2, 0, 0}. Teniendo sensibilizada la
transición t3, una vez ocurre su disparo se retira una marca de cada uno de los
lugares 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 sensibilizada
la transición t4 y cuando ocurre su disparo se retira una marca del lugar P3 y
dos marcas del lugar P4 y se pasa una marca al lugar P5. Estas secuencias de
disparos ocurren siguiendo fielmente las tres reglas de evolución enunciadas
previamente y arrojan un nuevo marcado M4 = {0, 0, 0, 0, 1, 0}.
1 Por ahora se asume que esta transición se puede disparar sin importar el hecho de no poseer
ningú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.
5.4. ALCANZABILIDAD Y SECUENCIA DE DISPARO 103
t1 P1 t2 P2 t3
P2 t2
P1 t1
P3 t3
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ón
t2 y la cual al ser disparada deja la red únicamente con una marca en el lugar
P4 (Figura 5.7-c); con la red en este marcado no se tiene ninguna transición
sensibilizada y se alcanza un punto muerto.
t2
P2
P1
P4 P5
t1
P3 t3
t2 t2 t2
P2 P2 P2
P1 P5 P1 P5 P1 P5
P4 P4 P4
t1 t1 t1
P3 P3 P3
t3 t3 t3
Nivel 0: Se dice que una transición es L0-Viva si nunca puede ser disparada
para cualquier secuencia de disparo desde M 0 .
Nivel 1: Se dice que una transición es L1-Viva si puede ser disparada al menos
una vez en alguna secuencia de disparo desde M 0 .
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 puede
disparar en alguna secuencia de disparo desde M 0 .
Nivel 4: Se dice que una transición es L4-Viva si es L1-Viva para todo marca-
do alcanzable desde M 0 . Se debe observar que si para una transición se
cumple 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 entonces
se cumple que es de nivel menor, más no lo contrario.
P2 t2 P4
P1 t1 t4 P6
P3 t3 P5
t5
P2 t2 P4 t4
P1 t1 P6
P3 t3 P5 t5
t6
P2 t2 P4
P1 t1 t4 P6
2 2
P3 t3 P5
t5
α(pi , tj )β(tj , pi ) = 0
P2 P2
t1 P3 t1 P3
P1 P1
(a) (b)
P1 t1 P2 t2 P3 t3
t1
P2
t2
P1 P3
t3
P4
P2
P3
P1
t1 P4
P1 P2
t1 t2 t3
P3
t2
P1 P2 P4
t1 t3
t1 t2
P1 P2
t3
P3 P4
t4 t5
t1 t2
P1 P2 P3 P4
t3 t4
t1
P2
P1 t2
t3 P3
Semáforo Ésta es una arquitectura de encuentro, pero en este caso sólo una
primera rama secuencial se sincroniza con una segunda sin que ésta úl-
tima se sincronice con la primera. En la Figura 5.20 se puede observar
como t4 requiere del disparo previo de t1, sin embargo t3 es totalmente
independiente de t2.
t1 t2
P2
P1 P3
t3 t4
t1 t2
P5
P1 P2
t3 t4
P3 P4
t5 t6
t1
P1
t2 t3
P2 P3 P4
t4 t5
t1 t2
P1 P2
t3 t4
P3 P4 P5
t5 t6
t1 t2 t7 t8
P1 P2 P6 P7
t3 t4 t9 t10
P3 P4 P5 P8 P9 P10
t5 t6 t11 t12
En los sistemas reales los almacenes, depósitos, buffers, etc. poseen capaci-
dad límite de almacenamiento o de procesamiento. Las redes de Petri brindan
una 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 de
capacidad se emplea un lugar adicional con tantas marcas iniciales como ca-
pacidad tiene el recurso en cuestión; este lugar debe estar conectado por arcos
hacia 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 capacidad
para el almacén, el sistema resultante es el mostrado en la Figura 5.25, donde
además se ha impuesto como restricción de capacidad en el almacén un total
de 4 productos mediante el nuevo lugar P6.
5.9. MODELAMIENTO DE PROCESOS 117
t1 t2
P1 P6 P2
t3 t4
P3 P4 P5
t5 t6
P1 P2
t1
t1 Cliente nuevo
Servicio 1 Servicio 2
t2 P1 t3
Fila P3 Fila
P2 Servicio 2
Servicio 1
t4 t5 t6
P4 P5 P6 P7 P8 P9
t7 t8 t9
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 es
M0 = {2, 0, 0, 0, 0, 0} y el cual se emplea como raíz del árbol. A partir de
este marcado M0 se puede determinar que la única transición sensibilizada es
t1 lo cual conduce a un solo nuevo marcado M1 = {0, 1, 1, 0, 0, 0}, donde
nuevamente se encuentra que las únicas transiciones sensibilizadas son t2 y
t3 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
122 CAPÍTULO 5. REDES DE PETRI
[2 0 0 0 0 0] M0
t1
[2 0 0 0 0 0] M1
t2 t3
M2 [2 0 0 0 0 0] [2 0 0 0 0 0] M3
t3 t2
[2 0 0 0 0 0] M4
t4
t5
[2 0 0 0 0 0] M5
t5
[2 0 0 0 0 0] M6
P3
t1 t3
P7
P1 P2 P4 P5
t5
P6
t2 t4
disparar la transición t2, pero este marcado contiene a su vez al marcado inicial
ya 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 nodo
M4 = {0, 0, 0, 1, 0, 0, 1} es un nodo terminal ya que en este marcado no se
encuentra sensibilizada ninguna transición.
M0 [1 0 0 1 0 1 0]
M1 t1
t2 [0 1 1 1 0 1 0] t5
M10 M5 t3 M2
[1 0 w 1 0 1 0] [0 1 0 0 1 1 0] t5 [0 0 1 1 0 0 1]
t2
M11 t1 M12 t3 t4 M7 t2 M6 t4 M3 t3
[0 1 w 1 0 1 0] [1 0 w 0 1 1 0] [1 0 0 0 1 1 0] [0 1 0 1 0 1 0] [0 0 0 0 1 0 1]
M13 t5 t3 t1 t2 M8 t1 t2 t5 M4 t4
[0 0 w 1 0 0 1] [0 1 w 0 1 1 0] [0 0 0 1 0 0 1]
t3 t4 t5 t4 Nodo Terminal
M9
t4 [0 0 w 0 1 0 1]
M2
t2 t3
M0 M1 M4 M5 M6
t1 t4 t5
M3
t3 t2
t5
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 posean
un único lugar de entrada y un único lugar de salida. Si la subred cumple esta
condición, se dice que es una subred Potencialmente Reducible.
En la Figura 5.38 se muestra una subred potencialmente reducible a un solo
lugar. En una subred, los lugares con transiciones de entrada que no pertenecen
a la subred se denominan Lugares Ascendientes (lugares P1, P2 y P3), mientras
que los lugares con transiciones de salida que no pertenecen a la subred se
denominan Lugares Descendientes (lugares P3 y P5). El lugar que reemplaza a la
subred dentro de la red mayor se denomina Macrolugar.
Macrolugar
t3 P3 t3
t5 t6 t11 t11
t2 t8 P5 t2
?
P2 t10 t10
t1 t4 t9 t1
P1 t7 P4
2. Para todo lugar dentro de la subred mínimo existe un camino que parte
de un lugar ascendiente y llega a él.
3. Para todo lugar dentro de la subred existen caminos que lo unen a los
diferentes lugares descendientes.
P3
Macrolugar
t3 t5
t1 t6
P2
t2 t4
t1 t6
P1
⎡ ⎤ ⎡ ⎤
0 0 0 0 1 2 0 0 0 0
⎢ 1 0 0 0 0 ⎥ ⎢ 0 1 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 1 0 0 0 0 ⎥ ⎢ 0 0 1 0 0 ⎥
C+ =⎢ ⎥ C− =⎢ ⎥
⎢ 0 1 0 0 0 ⎥ ⎢ 0 0 0 1 0 ⎥
⎣ 0 0 1 0 0 ⎦ ⎣ 0 0 0 1 0 ⎦
0 0 0 2 0 0 0 0 0 1
Matriz de Incidencia Posterior Matriz de Incidencia Previa
Para la Figura 5.10, algunos de los subconjuntos que se pueden definir son:
2. Gráfico Marcado, GM: es una red de Petri ordinaria donde cada lugar
posee 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 generaliza
las dos subclases anteriores.
LE = pi ∈ T |p•i | ≤ 1 ∨ • (p•i ) = {pi }
5.11. ANÁLISIS DE LAS REDES DE PETRI 129
⎡ ⎤ ⎡ ⎤
0 0 0 0 1 2 0 0 0 0
⎢ 1 0 0 0 0 ⎥ ⎢ 0 1 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
⎢ 1 0 0 0 0 ⎥ ⎢ 0 0 1 0 0 ⎥
C= C+ − C− =⎢ ⎥−⎢ ⎥
⎢ 0 1 0 0 0 ⎥ ⎢ 0 0 0 1 0 ⎥
⎣ 0 0 1 0 0 ⎦ ⎣ 0 0 0 1 0 ⎦
0 0 0 2 0 0 0 0 0 1
⎡ ⎤
−2 0 0 0 1
⎢ 1 −1 0 0 0 ⎥
⎢ ⎥
⎢ 1 0 −1 0 0 ⎥
=⎢ ⎥
⎢ 0 1 0 −1 0 ⎥
⎣ 0 0 1 −1 0 ⎦
0 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 claramente
el tipo de incidencia que relaciona a cada lugar con cada transición ya que
las matrices de incidencia previa y posterior no comparten elementos en las
mismas 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 en
la Figura 5.41, donde el lugar P3 es simultáneamente de entrada y de salida
para la transición t1.
P1
t1 P3
P2
t2
⎡ ⎤ ⎡ ⎤
0 1 1 0
C+ =⎣ 1 0 ⎦ C− =⎣ 0 1 ⎦
1 0 1 0
P1 P4
t1 t3
P2 P3
t2
MkT = Mk−1
T
+ Cµk
5.11. ANÁLISIS DE LAS REDES DE PETRI 131
MkT = Mk−2
T
+ Cµk−1 + Cµk = M0T + C(µ1 + · · · + µk )
MkT = M0T + Cσ
forma rápida a partir del balance de marcas en cada uno de los lugares de la
red, así por ejemplo, para la red de la Figura 5.10 se tiene:
⎡ ⎤
−2 0 0 0 1 ⎡ ⎤ −2γ1 + γ5 = 0
γ1
⎢ 1 −1 0 0 0 ⎥ γ1 − γ2 = 0
⎢ ⎥⎢ γ2 ⎥
⎢ 1 0 −1 0 0 ⎥⎢ ⎥ γ1 − γ3 = 0
CΓ = ⎢ ⎥⎢ γ3 ⎥=0
⎢ 0 1 0 −1 0 ⎥⎣ ⎦ γ2 − γ4 = 0
⎣ ⎦ γ4
0 0 1 −1 0 γ3 − γ4 = 0
γ5
0 0 0 2 −1 2γ4 − γ5 = 0
−2δ1 + δ2 + δ3 =0
−δ2 + δ4 =0
−δ3 + δ5 =0
−δ4 − δ5 + 2δ6 =0
δ1 − δ6 =0
t1
P1 P2
P3
t5 t3 t2
P5
P6 P4
t4
Sifón Trampa
Criterio 8: Una red de libre elección es viva si y sólo si cada sifón en la red
contiene una trampa marcada.
5.12. ANÁLISIS LOCAL DE REDES DE PETRI 135
⎡ ⎤
..
⎢ +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 no
nulas, lo cual es ahora C1 :
⎡ ⎤
..
⎢ 0 0 0 +1 0 0 . 0 +1 0 −1 0 ⎥
⎢ ⎥
⎢ . ⎥
⎢ 0 ⎥
..
⎢ 0 0 0 0 +1 0 0 0 +1 −1 ⎥
.. ⎢ .. ⎥
I 1 .C1 = ⎢
⎢ 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
⎡ ⎤
..
. ⎢ +1 +1 0 +1 0 +1 . 0 0 0 0 0 ⎥
4. 4
I .C =⎣ ⎦
..
+1 0 +1 0 +1 +1 . 0 0 0 0 0
Los resultados anteriores están claramente normalizados, por los que los
soportes para los P-invariantes obtenidos son entonces:
P1=C1
C1 t1
C2:=C2+1
t1
C1:=C1-1
P2=C2
P1=C1
t1
n C1 > n C2:=C2+m
t1
m
C1:=C1-n
P2=C2
P1=C1 P2=C2
C1 C2 t1
C3:=C3+1
t1 C1:=C1-1
P3=C3
P1=C1 P2=C2 C1 C2 t1
C3:=C3+1
t1 C4:=C4+1
C1:=C1-1
P1=C1 C1 t1
C2:=C2+1
t1 t2 C1:=C1-1
C1 t2
C3:=C3+1
C1 t2 t1
C2:=C2+1
C1:=C1-1
C1 t1 t2
C3:=C3+1
C1:=C1-1
t1
C1
P1=C1 Ton=T(s)
Ton=T C1 Ton t2
C2:=C2+1
t2
C1:=C1-1
P2=C2
t1
C1
P1=C1 A(Acción)
A(Acción)
t2
C2 C3 C4 C5 C6
C1:=C1+1
C1 t1
C2:=C2+1
P1 C3:=C3+1
C1:=C1-1
t1
C2 t2
C4:=C4+1
P3 P2
C2:=C2-1
t5 t3 t2 C3 t3
C5:=C5+1
P5 P4 C3:=C3-1
C4 C5 t4
t4 C6:=C6+1
C4:=C4-1
P6
C5:=C5-1
C6 t5
C1:=C1+1
C6:=C6-1
t1
P1
P1 P2
t1
P2 P3
t2 t3
t3 t2
P3 P4
P4
(a) (b)
P1 P1 P2
t1 t2 t3 P5
t1 t4 t2
P2 P3 P4
t5
t4 t6 P6
t5 P3 P4
t3
(c) (d)
t9
P1 P2
t1 t2
P3 P4 P11
t3 t10
P6
P5 P7 P12
t6 t8 t11
t4
P8 P10
P9 P13
t7
t5
t12
145
146 BIBLIOGRAFÍA
149
150 CAPÍTULO 6. ESTÁNDAR IEC 61131-3
código relacionado con cada proceso pueden ser diferentes, así unas partes
del 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 los
sistemas tradicionales encontrados. Es más, cuando el sistema requiere de con-
troles basados en técnicas PID el problema se multiplica, ya que para garantizar
un buen control, es necesario mantener la velocidad de muestreo entre actua-
lizaciones de los algoritmos de control en estado estable y con una duración
definida. Además, cuando se hace necesaria la introducción de análisis más
complejos se requerirá de la presencia de operaciones aritméticas, las cuales
son bastante complicadas en su implementación mediante el uso exclusivo de
programación escalera.
Todas las problemáticas expuestas son justificaciones más que válidas como
motivación para la búsqueda y posterior introducción del Estándar IEC 61131-
3 [2, 1, 8, 9].
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á ser
accedida por todos los elementos constitutivos de los mismos.
Variables de Representación Directa: Permiten el acceso directo a posiciones
de memoria del PLC. Sólo pueden ser declaradas y accedidas dentro de
los programas. Su uso extensivo dificulta la reutilización de los progra-
mas que las definen, dado que al indicar posiciones determinadas de
memoria éstas pueden variar de un programa a otro.
Ruta de Acceso: Es una declaración especial de variable que puede ser leída
o escrita por otras configuraciones remotas diferentes a la que la declara.
Es de resaltar que el estándar no define los protocolos de comunicaciones
a emplear.
CONFIGURACIÓN
Bloque VAR
de Función LOCAL
Función (FUN)
(FB)
FB FUN
RUTAS DE ACCESO
ALGORITMO
Parte de código
Como ejemplo para los diferentes tipos de lenguajes del estándar, se tiene la
implementación de un control sencillo para una alarma en un banco: si se abre
la caja fuerte en horario laboral se debe encender un indicador de riesgo, pero
si se abre la caja fuerte fuera de horario laboral se debe activar una alarma
sonora:
LD CajaFuerte
AND Laboral
ST Indicador
LD CajaFuerte
AND NOT(Laboral)
ST Alarma
CajaFuerte &
Indicador
1
Laboral &
Alarma
CajaFuerte
CajaFuerte Laboral
<Indicador
Laboral
<Alarma
CajaFuerte
1
Laboral Laboral
2 3
Indicador Alarma
Cancelar Cancelar
6.3.2. Identificadores
Los identificadores son mostrados en texto normal y se emplean para dar
nombres a las variables, funciones, nuevos tipos de datos y otros elementos
dentro del lenguaje. Siempre deben iniciar con un caracter que sea diferente
de un dígito y el resto de la cadena se puede componer de letras, dígitos o
líneas de subrayado, sin embargo se prohíbe el uso de dos líneas de subrayado
seguidas. 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 exige
la verificación de los primeros 6 caracteres de un identificador para determinar
su 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.4. Comentarios
La gran mayoría de los lenguajes de programación, tanto modernos como
tradicionales, han permitido la inserción de comentarios dentro del cuerpo de
instrucciones, esto con el fin de poder especificar funcionalidades, facilitar el
mantenimiento 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 se
inicia con los caracteres “(*” y se termina con “*)”, se puede colocar en cualquier
ubicación que permita la inserción de al menos un espacio en blanco, aunque
se 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*)
(*****************************************)
(*****************************************)
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, pero
si 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 puede
emplear como un operador de negación de expresiones.
Algunos de los delimitadores más empleados son los siguientes, teniéndose
en cuenta que sus modos de uso y significados se podrán inferir para la gran
mayoría de forma natural: +, - , #, E, ;, :=, ,(coma), (...), [...], ;, %, =>, <, >, >=,
<=, =, <>, *, **, /, &. El espacio en blanco se considera igualmente como un
delimitador.
160 CAPÍTULO 6. ESTÁNDAR IEC 61131-3
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, entre
los cuales se encuentran los Enteros, Reales, Tiempo, Fecha y Tiempo, Cade-
nas y Booleanos los cuales se constituyen como los tipos elementales de datos
disponibles.
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 llama
Literales.
Son tipos de datos que se forman con base en los tipos elementales y sus
propiedades, 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 tipos
elementales. La forma de definir estos tipos de datos es textual y para ello se
emplean las palabras reservadas TYPE y END_TYPE para indicar su inicio y
fin. Si por ejemplo, se desea crear un nuevo tipo de variable que refleje toda la
información de los motores de una planta industrial se podría crear un tipo de
dato como el siguiente:
164 CAPÍTULO 6. ESTÁNDAR IEC 61131-3
TYPE
Rpm :INT(0..10000); (*Propiedad de rango*)
MotMaq :ARRAY[1..20]OF Rpm; (*Propiedad arreglo*)
MotLin :ARRAY[1..10]OF MotMaq; (*Propiedad arreglo*)
Trabajo :(Paro, Mant, Prod); (*Propiedad enumeración*)
Archivo : (*Nombre de la estructura*)
STRUCT
Nombre :STRING; (*Tipo elemental de dato*)
Estado :Trabajo:=Paro; (*Tipo enumerado
Motores :MotLin; inicializado*)
(*Tipo arreglo*)
END_STRUCT;
END_TYPE
6.3.7. Variables
Existen varios tipos de variables las cuales se declaran, al igual que los tipos
de datos, en la parte de declaraciones de una POU y dichos tipos dependen de
su funcionalidad dentro de la POU. La definición de todos los tipos inicia con
una 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 mediante
el 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: las
propiedades de los tipos de datos declarados ya sean elementales o derivados,
declaración de valores iniciales, declaración de límites adicionales a arreglos y
declaració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 de
ellas.
VAR_INPUT
Inicio :BOOL (*Atributo de flanco de subida*)
END_VAR R_EDGE;
VAR CONSTANT
Modo (*Variable tipo Bit con atributo
END_VAR :Bit:=2#1; Constant fijada a un valor de 1
VAR_OUTPUT binario*)
Salida1, RETAIN
Salida2 :BYTE; (*Variables tipo Byte con atributo
END_VAR Retain*)
En la anterior lista el numeral cuatro posee la prioridad más alta, sin embargo
se debe diferenciar entre dos tipos diferentes de arranque, uno proveniente
luego de cargar por primera vez un programa o posterior a un paro por error
o solicitud del usuario y que se denomina Arranque en Frío caso en el cual el
numeral cuatro no se lleva a efecto y la prioridad en los valores iniciales la
toman los puntos uno a tres con mayor prioridad en éste último. Otro tipo de
arranque es el posterior a un paro por corte en potencia y el cual se denomina
Arranque en Caliente y donde el punto cuatro es el que tiene la mayor prioridad.
6.3.8.1. Funciones
EVALUAR := B* -(4*A*C);
IF EVALUAR >= 0 THEN
DISCR := TRUE;
END_IF;
END_FUNCTION
TYPE
TipoMODO : (RESET, ASC, DES,
RET):=RET:
END_TYPE
FUNCTION_BLOCK CONTADOR
VAR_INPUT
MODO : TipoMODO:=RESET;
END_VAR
VAR_OUTPUT
CUENTA : INT:=0;
END_VAR
PROGRAM CUENTA_CICLICA
VAR INPUT
CONTROL_CUENTA :
BOOL:=FALSE;
END_VAR
VAR_OUTPUT
VALOR_CUENTA : INT:=0;
END_VAR
VAR
CONT1 : CONTADOR;
END_VAR
IF CONTROL_CUENTA THEN
CONT1(MODO := ASC);
VALOR_CUENTA :=
CONT1.CUENTA;
IF CONT1.CUENTA = 100 THEN
CONT1(MODO := RESET);
END_IF;
END_IF;
END_PROGRAM
IN
TP
BOOL BOOL
IN Q
PT PT PT
Q
TIME TIME
PT ET
ET
t
IN
TON
BOOL BOOL
IN Q
PT PT PT
Q
TIME TIME
PT ET
ET
t
IN
TOF
BOOL BOOL
IN Q
PT PT
Q
TIME TIME
PT ET
ET
t
RTC
BOOL BOOL
IN Q
DATE_AND_TIME DATE_AND_TIME
PDT CDT
6.3.8.3. Programas
En analogía con los lenguajes tradicionales de programación, las funciones
y bloques de funciones constituyen lo que se denomina subrutinas y la POU de
tipo programa viene siendo el programa principal o unidad mayor en jerarquía
dentro de la reutilización de código. En los PLCs con capacidades de multitarea
se pueden tener varios programas en ejecución simultánea, cada uno asociado
a una configuración.
180 CAPÍTULO 6. ESTÁNDAR IEC 61131-3
6.4.1. Sentencias
Un programa se compone de un conjunto de sentencias, donde cada una
está separada mediante el delimitador “;”, por lo que una sentencia puede ser
escrita 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 en
cualquier lugar de la sentencia donde se permita la presencia de un espacio.
Las sentencias permiten entre otras labores asignar valores a variables, realizar
llamados a funciones y bloques de funciones, crear expresiones, evaluar sen-
tencias condicionales y crear estructuras de control de flujo.
indicando en este caso por ejemplo el significado de cada una de las variables
de la expresión a evaluar.
En general una expresión consiste de Operandos, los cuales se relacionan
mediante Operadores de tipos aritméticos o lógicos. Los operandos pueden ser
conformados por literales, variables de tipo simple o multielemento y llamados
a funciones. No se permite el uso de bloques de funciones como operandos de
una expresión, ya que estas pueden no tener valores de retorno, y por tanto son
tratadas 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 incluye
varios 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 varios
operadores con el mismo nivel de jerarquía, entonces ellos son evaluados de
izquierda a derecha. Un ejemplo de asignación de una expresión compuesta
por varios operandos y operadores se muestra a continuación.
Figura 6.21: Formas de Sintaxis para la Sentencia IF ... THEN ... ELSE
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>;), como
conjunto 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 de
una variable enumerada, si por ejemplo se tiene una variable llamada OPCION
con tres posibles valores (OPCION : (Opc1, Opc2, Opc3)) entonces cada uno se
puede emplear como un caso de la sentencia CASE, como se puede observar
en la Figura 6.23.
CASE OPCION OF
Opc1 :
<Sentencias>;
Opc2 :
<Sentencias>;
Opc3 :
<Sentencias>;
ELSE
<Sentencias>;
END_CASE;
WHILE <expresión
booleana>DO
<Sentencias>;
.
.
.
<Sentencias>;
END_WHILE;
REPEAT
<Sentencias>;
.
.
.
<Sentencias>;
UNTIL <expresión
booleana>
END_REPEAT;
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 exactamente
en el código siguiente.
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 estos
operadores, 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 realiza
entre CR y el operando asociado y el resultado es asignado nuevamente al
acumulador. A estos operadores para tipos de datos ANY únicamente se les
puede aplicar el modificador de anidación. Ahora se mostrará un ejemplo de
la forma como se pueden emplear los operadores aritméticos; más adelante se
mostrará 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 siguiente
forma:
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*)
FUNCTION :BOOL:=FALSE
DISCR
VAR_INPUT :L_REAL;
A, B, C
END_VAR
VAR :L_REAL;
EVALUAR
END_VAR
LD B
MUL B
SUB( 4
MUL A
MUL C
)
ST EVALUAR
GT 0
JMPCN SALIR
ST DISCR
RET
SALIR:
END_FUNCTION
cionamiento tiene fundamento en el flujo de las señales entre los diversos ele-
mentos que componen un circuito de procesamiento [8, 9].
|
LINEAS |
| __ __ __ __ __ __ __ __
HORIZONTALES Y |
VERTICALES |
|
|
|
LINEAS |
QUE SE __ __ __ __
+ __ __ __ __
INTERCONECTAN |
|
|
| |
LINEAS | |
QUE NO SE __ __ __ __ __|__
CONECTAN | |
| |
+ __ __ __ __ +
| |
__ __ __ __
FORMAS | |
DE LOS | |
BLOQUES __ __ | |__ __
| |
+ __ __ __ __ +
__ __ __
>CABLE1> >CABLE1>
CONECTORES
__ __ __
>CABLE1>
>CABLE1>
4. En el mismo sentido del punto 2, cuando una primera red transfiere datos
a una segunda se necesita que la primera tenga disponibles todos los
datos 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 que
se ejecutan bajo el control de diferentes tareas que poseen configuración
de ejecución en tiempos diferentes.
F = ¬(A ∨ (B ∧ (C ∨ 1)))
001:
C OR
AND
1
tmp
B
tmp OR
F
A
001 Red1:
C OR
AND
1
tmp
B
tmp
OR
Red2
A
002 Red2:
0.05 MUL
AND S
N2
? ?
Contactos:
Bobinas:
4. En el mismo sentido del punto 2, cuando una red transfiere datos a otra
se requiere que la primera tenga disponibles todos los datos requeridos
en la segunda para poder iniciar su ejecución.
B C F
FunAB1
FunAB
S1
E1
S2 Var2
Transición, su
P=1 condición se valida
cuando P=1
A
Etapa
Transición, su
P=0 condición se valida
Espera cuando P=0
P=1
B
P=0
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 se
activan. Sin embargo la condición de una transición sólo es evaluada cuando
todas 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 del
mismo 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 dadas
en 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 los
lenguajes del estándar que se pueden emplear.
La primera forma, denominada como de sintaxis inmediata, consiste en
escribir inmediatamente a continuación de la transición la expresión para la
condició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 una
red LD o FBD que entrega como resultado un dato de tipo BOOL. En esta
primera 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.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 203
Representación Descripción
Etapa1
Condición de transición evaluada mediante
cualquier expresión en lenguaje de texto estruc-
V1 & V2
turado (ST) que entregue como resultado un dato
Etapa2 booleano.
Representación Descripción
Etapa1
Se emplea un conector con conexión directa a la
transición. El conector hace el enlace hacia una red
Conector
en LD o FBD que se encuentra en otro lugar del dia-
Etapa2 grama SFC
emplear cualquiera de los otros cuatro lenguajes del estándar en los cuales se
describe 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 muestra
un ejemplo de cada uno de los casos posibles para esta forma de sintaxis.
Representación Descripción
Etapa1
A la transición se le asigna un identificador, o nom-
bre, el cual puede ser definido usando cualquiera
Tran1 de los otros cuatro lenguajes del estándar.
Etapa2
END_TRANSITION
6.8.2. Secuencias
Cualquier POU implementada en SFC puede poseer una o más redes, cada
una de las cuales se compone de etapas y transiciones. Nunca se podrá conectar
dos 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 exista
una 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
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 205
Cuando a una etapa le sigue más de una transición, se dice que la secuencia
es 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 ruta
a seguir. En caso de tener más de una transición validada simultáneamente se
definen métodos para determinar la prioridad entre ellas. En la Figura 6.45 se
muestran las tres posibles formas de definir la prioridad en la evaluación.
* 2
* 1
Tran1 Tran2 Tran1 Tran2 Tran1 Tran2
Etapa2 Etapa3 Etapa2 Etapa3 Etapa2 Etapa3
La selección de una secuen- El usuario define mediante Las transiciones son eva-
cia se realiza evaluando las un número la prioridad de luadas sin ningún orden
transiciones de izquierda a la evaluación, así cada ruta definido. En este caso se
derecha. La primer transi- es enumerada y la evalua- debe asegurar que las mis-
ción en ser validada define la ción se realiza en orden as- mas expresiones para las
ruta a seguir. Un asterisco in- cendente. Un asterisco y el condiciones de las transi-
dica que ésta es la prioridad número asignado a cada ruta ciones operen de forma mu-
en uso. indican que ésta es la priori- tuamente excluyente, es de-
dad en uso. cir, sólo sea posible la vali-
dación de una entre varias.
Etapa1 Etapa2
Tran1 Tran2
Etapa n
Tran
Tran
Etapa2 Etapa3 Etapa n
Etapa1 Etapa1
T1 T1
T2 T3 T4 T2 T3 T4
Etapa4 Etapa5 Etapa6 Etapa4 Etapa5 Etapa6
T5 T6 T5
Red Insegura: Si estando activas Etapa2 y Red Inalcanzable: En esta red nunca se po-
Etapa3 se valida T4 podría ocurrir tener acti- drá verificar T5, ya que Etapa5 y Etapa6 for-
vas simultáneamente Etapa2 y Etapa4 debido man una secuencia divergente ocasionando
al retorno hacia Etapa1, además el número de que nunca T5 tenga sus tres etapas previas ac-
marcas podría crecer sin control. tivas.
6.8.3. Acciones
Al describir una red mediante el lenguaje SFC se persigue como objetivo
que 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 de
implementar un comportamiento deseado. Estas instrucciones entonces son es-
critas dentro de una caja denominada Bloque de Acciones y la cual va unida a la
etapa asociada.
Las acciones tienen por finalidad definir las instrucciones de una etapa o
una secuencia de instrucciones que se deben ejecutar bajo ciertas condiciones.
Además de implementar comportamientos externos del sistema, también se
pueden emplear como elementos para el control de flujo.
Calificador Nombre de
Tran1 Acción Indicador
Booleano
Etapa2
N AccionEtapa2 Indicador
IF Presion THEN
Tran2 Indicador := TRUE;
ELSE
Indicador := FALSE;
END_IF
Descripción de la acción
Por último, es de destacar que los bloques de acciones no son de uso restrictivo
del lenguaje SFC. Estos también pueden ser empleados dentro de redes FBD y
LD tal como se muestra en la Figura 6.50.
V1 &
V1 V2 Salida N Acción I1 Salida
N Acción I1 V2
E1.X
T1
E1 N AcciónE1 AcciónE1
T2 T2
T1
E1.X
E1 S Acción
T2 T2
Tn-1 Acción
En R Acción
Tn-1
Tn
E1.X
T1
T2 T2
2s 2s
E1.X
T1
T2 T2
2s 2s
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 la
Figura 6.55 se muestra su comportamiento.
T1 E1.X
E1 P Acción Acción
T2 T2
T1
E1.X
E1 SD T#2s Acción
T2
T2
Tn-1 Acción
En R Acción Tn-1
Tn 2s 2s
T1
E1.X
E1 DS T#2s Acción
T2
T2
Tn-1 Acción
En R Acción Tn-1
Tn 2s 2s
T1
E1.X
E1 LS T#2s Acción
T2
T2
Tn-1 Acción
En R Acción Tn-1
Tn 2s 2s
R &
Q
N ³1
S
E1.X
L
Ei.X D
P
En.X
SD
DS
SL
Control de Acción
1. Todos las etapas iniciales son activadas por defecto cuando se realiza la
inicialización del sistema, por ende se ejecutan las acciones asociadas a
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 215
Ti Ti+1
En.X En.X En+1.X
Etapa y
Transición & & &
Previas En-1
En En En+1
Etapa ³1 ³1 ³1
Siguiente
En+2
T1 Condición Booleana
E1 C AcciónEtapaE1
T2
Etapa Inicial
Start E10
A F
E11
ME1 Macro-Etapa
B G
Etapa2 E12
C H
Etapa3 S10
D Etapa Final
Una orden de forzado se comporta como una acción de índole interna con la
cual la red de jerarquía inferior toma de inmediato la situación que se impone
y además esta orden es prioritaria sobre las demás reglas de evolución. Con el
propósito de impedir ciclos indeseados se prohíbe que una red forzada realice
acción similar sobre su red de orden superior y además una red sólo puede
ser forzada en todo instante por una sola red de orden superior. Lo anterior
facilita una de las condiciones generales de una red forzada y es que ésta debe
permanecer en dicho estado mientras las condiciones que fijaron tal situación
se sigan verificando.
La sintaxis general para una orden de forzado es: ’F/Identificador de red
a forzar:{elementos a forzar}’. El formato para las etapas que se desea forzar
puede tomar varias formas dependiendo de lo deseado, así por ejemplo si se
desea forzar todas las etapas de una red identificada como G01 la sintaxis es
’F/G01:{ }’, pero si se desea desactivar únicamente la evolución conservando
activa 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 las
etapas 3 y 8, entonces la sintaxis es ’F/G01:{3,8}’. En muchas ocasiones se desea
que estas órdenes de forzado duren solo un instante, caso en el cual se puede
emplear 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.10. Ejemplo
Se presenta el desarrollo de un ejemplo en los cinco lenguajes del estándar
IEC 61131-3. Para la implementación del mismo se ha empleado el paquete de
software CoDeSys.
6.10. EJEMPLO 219
Action Init
M1:=FALSE;
M2:=FALSE;
M3:=FALSE;
Action Step 2
M1:=TRUE;
IF S2 THEN
M2:=TRUE;
END_IF
IF S3 THEN
M3:=TRUE;
END_IF
Action Step 3
M1:=FALSE;
M2:=FALSE;
M3:=FALSE;
Action Step 4
M2:=TRUE;
IF S2 THEN
M3:=TRUE;
END_IF
IF S3 THEN
M1:=TRUE;
END_IF
Action Step 5
M1:=FALSE;
M2:=FALSE;
M3:=FALSE;
Action Step 6
M3:=TRUE;
IF S2 THEN
M1:=TRUE;
END_IF
IF S3 THEN
M2:=TRUE;
END_IF
V1 V2 V3
N3
Depósito de Mezcla
N2
M N1
V4 V5
Depósito Depósito
A B
Na Nb
VA VB
T1 T2 Vista frontal
Pt1 Pt2
Cai Cad Cbi Cbd Cci Ccd
CarroA CarroB CarroC
Ai,Bi Pa Pb Pc
Ci Ad,
At1,Bt1,Ct1 At2,Bt2,Ct2 Bd,
Cd
T1i T1d Carro de Carga
T1
T1a T1b T1c
CarroA CarroB CarroC
Pa Pb Pc
Vista lateral
[1] Bolton, W.
Programmable Logic Controllers, Fourth Edition.
Elsevier, 2006. ISBN-10: 0-7506-8112-8
[9] Lewis, R. W.
Programming Industrial Control Systems Using IEC 1131-3
Revised Edition
IEE 1998. ISBN 0-85296-950-3
229
230 BIBLIOGRAFÍA