Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Automatismos Industriales
Automatismos Industriales
2008
ISBN: 978-958-8272-99-3
PREFACIO
el Captulo 4, mientras otra tcnica con mayor alcance se presenta en el Captulo 5, donde est todo lo relacionado con las redes de Petri y su orientacin al
modelamiento, diseo y validacin de automatismos.
Finalmente, en el Captulo 6, se trata el Estndar IEC 61131-3 el cual presenta las diversas tcnicas de programacin ms usadas para la implementacin
de automatismos con la motivacin de brindar una metodologa que permita
la portabilidad e interoperabilidad de los diversos sistemas existentes.
IV
Notaciones
Notacin
Texto en cursiva
a, b, c, di
w, x, y, z, xi , i , ,
J, K, L
f , g, h
|
{e1, e2, , en}
L
L
F
F
d
m
M
d
Q(t)
Q(t + 1)
Significado
Resalta palabras claves
Constantes
Variables
Relatores
Denotan una funcin
Descriptor
Conjunto en notacin por extensin
Unin de conjuntos
Interseccin de conjuntos
Conjunto vaco
Funcin Booleana
Conectiva lgica AND
Conectiva lgica OR
Conectiva lgica NOT
Conectiva lgica XOR
Conectiva lgica NXOR
Conectiva lgica de implicacin
Conectiva lgica de coimplicacin
Lenguaje formal de primer orden
Lenguaje formal sin descriptor
Cuantificador existencial
Cuantificador universal
Pertenencia
Expresin Booleana
Expresin Booleana Dual
Sumatoria de mintrminos
Productoria de maxtrminos
Trminos Dont Care o no importa
Estado presente en una memoria
Estado siguiente en una memoria
V
Notacin
NA
NC
A, B, M, N
CR, CR, CRB
TR
TR ON
TR OFF
TA
TC
CRc
CRsc
RdP
P
pi
T
tj
F (P x T ) (T x P )
W : F {1, 2, 3, ...}
M0
Mn
M (pi )
N = {P, T, F, W }
P N = {N, M0 }
(pi , tj ) = w (pi , tj )
(tj , pi ) = w (tj , pi )
N G = {P, T, , }
G = {V, E}
PN
C+
C
C
c+
ij
c
ij
cij
tj
tj
pi
pi
ME
GM
LE
k
MT
Significado
Contacto normalmente abierto
Contacto normalmente cerrado
Contactor
Rel
Rel de temporizacin
Rel de temporizacin al trabajo
Rel de temporizacin al reposo
Contacto temporizado a la apertura
Contacto temporizado al cierre
Rel de campo
Rel de sobrecarga
Red de Petri
Conjunto de lugares de una RdP
i-simo lugar de una RdP
Conjunto de Transiciones de una RdP
j-sima transicin de una RdP
Conjunto de arcos de una RdP
Funcin de peso en los arcos de una RdP
Marcado inicial de una RdP
n-simo marcado alcanzable de una RdP
Valor del marcado en el i-simo lugar
RdP sin marcado inicial
RdP con marcado inicial
Funcin de incidencia previa
Funcin de incidencia posterior
Vector secuencia de disparo
RdP generalizada
Nmero arbitrariamente grande de marcas
Grfico de cobertura
Subred de Petri
Matriz de incidencia posterior
Matriz de incidencia previa
Matriz de incidencia
Elemento ij de C+
Elemento ij de C
Elemento ij de C
Lugares de entrada de la transicin t j
Lugares de salida de la transicin tj
Transiciones de entrada del lugar pi
Transiciones de salida del lugar pi
Mquina de estados
Grfico marcado
Red de libre eleccin
Vector de disparo
Matriz transpuesta de M
VI
Notacin
i
i
N Gd
Cd
CONSTRUCTOR
IF THEN
Texto a ingresar
Significado
Vector anulador derecho de C
Vector anulador izquierdo de C
i-simo elemento de
i-simo elemento de
RdP dual de N G
Matriz de incidencia de una RdP dual
Soporte del T-invariante
Soporte del P-invariante
Palabra reservada IEC 61131-3
Palabra reservada resaltada
Texto cdigo IEC 61131-3
VII
VIII
ndice General
1. INTRODUCCIN
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
8
9
10
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
15
17
19
20
21
22
23
24
25
29
30
30
31
33
33
34
34
37
41
44
45
45
46
IX
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
46
47
48
51
52
53
54
55
56
56
62
4. LGICA CABLEADA
4.1. Dispositivos de Mando y Control . . . . . . . . . . . . . . . . . .
4.1.1. El Contactor . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.1.1. Categoras Segn el Empleo . . . . . . . . . . .
4.1.2. El Rel . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1.3. Rel de Enclavamiento . . . . . . . . . . . . . . . . . . . .
4.1.4. Contactor con Bobina de Autorretencin . . . . . . . . .
4.1.5. Rel de Temporizacin al Trabajo (Rel Tipo ON) . . . .
4.1.6. Rel de Temporizacin al Reposo (Rel Tipo OFF) . . . .
4.1.7. Rel de Temporizacin al Trabajo y al Reposo . . . . . . .
4.1.8. Elementos de Mando . . . . . . . . . . . . . . . . . . . . .
4.2. Funciones Bsicas de Lgica Cableada . . . . . . . . . . . . . . .
4.2.1. Funcin Interruptor y Funcin Sello . . . . . . . . . . . .
4.2.2. Funcin Detector de Flancos . . . . . . . . . . . . . . . .
4.2.3. Funcin Toggle . . . . . . . . . . . . . . . . . . . . . . . .
4.2.4. Funcin Memoria Biestable . . . . . . . . . . . . . . . . .
4.2.5. Funcin Tren de Pulsos . . . . . . . . . . . . . . . . . . .
4.2.6. Funcin Refresco . . . . . . . . . . . . . . . . . . . . . . .
4.2.7. Funcin Simulacin de Rel Tipo OFF con ON . . . . . .
4.2.8. Funcin Simulacin de Rel Tipo ON con OFF . . . . . .
4.2.9. Funcin Contador . . . . . . . . . . . . . . . . . . . . . .
4.3. Lgica de Conmutacin con Lgica Cableada . . . . . . . . . . .
4.4. Diseos Bsicos en Lgica Cableada . . . . . . . . . . . . . . . .
4.4.1. Activacin Alternada de Cargas . . . . . . . . . . . . . .
4.4.2. Encendido Secuencial de Cargas . . . . . . . . . . . . . .
4.4.3. Arranque de Motor DC en Derivacin . . . . . . . . . . .
4.4.4. Arranque de Motores Trifsicos . . . . . . . . . . . . . . .
4.4.4.1. Arranque Estrella-Delta con Transicin Abierta
4.4.4.2. Arranque Estrella-Delta con Transicin Cerrada
4.4.5. Inversin de Giro en Motores . . . . . . . . . . . . . . . .
4.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . .
67
67
67
70
71
71
71
71
72
73
73
74
74
75
76
77
78
79
80
80
81
81
84
84
86
88
90
90
91
92
93
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5. Redes de Petri
5.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Definicin y Presentacin de las RdP . . . . . . . . . . . . . . .
5.3. Tipos de Transiciones y Lugares . . . . . . . . . . . . . . . . . .
5.4. Alcanzabilidad y Secuencia de Disparo . . . . . . . . . . . . .
5.5. Propiedades de las RdP . . . . . . . . . . . . . . . . . . . . . .
5.5.1. RdP Limitada . . . . . . . . . . . . . . . . . . . . . . . .
5.5.2. RdP Viva . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.3. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . .
5.5.4. RdP Binaria . . . . . . . . . . . . . . . . . . . . . . . . .
5.5.5. RdP Conforme . . . . . . . . . . . . . . . . . . . . . . .
5.5.6. RdP Persistente . . . . . . . . . . . . . . . . . . . . . . .
5.5.7. RdP Conservativa . . . . . . . . . . . . . . . . . . . . .
5.6. RdP Interpretada . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7. RdP Autnoma . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.7.1. RdP Generalizada . . . . . . . . . . . . . . . . . . . . .
5.7.2. RdP Ordinaria y Pura . . . . . . . . . . . . . . . . . . .
5.8. RdP Extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9. Modelamiento de Procesos . . . . . . . . . . . . . . . . . . . . .
5.9.1. Arquitectura Secuencial . . . . . . . . . . . . . . . . . .
5.9.2. Arquitectura de Decisin . . . . . . . . . . . . . . . . .
5.9.3. Arquitectura Paralela . . . . . . . . . . . . . . . . . . . .
5.9.4. Arquitectura de Confusin . . . . . . . . . . . . . . . .
5.9.5. Arquitecturas de Sincronizacin . . . . . . . . . . . . .
5.9.6. Arquitectura para Recurso Compartido . . . . . . . . .
5.9.7. Arquitectura Lectura-Escritura . . . . . . . . . . . . . .
5.9.8. Arquitectura Productor-Consumidor . . . . . . . . . .
5.9.9. Arquitectura Productor-Consumidor con Prioridad . .
5.9.10. Arquitectura para Capacidad Limitada . . . . . . . . .
5.9.11. Arquitectura de Memoria . . . . . . . . . . . . . . . . .
5.9.12. Arquitectura para Colas . . . . . . . . . . . . . . . . . .
5.10. Simplificacin de una RdP . . . . . . . . . . . . . . . . . . . . .
5.11. Anlisis de las Redes de Petri . . . . . . . . . . . . . . . . . . .
5.11.1. Anlisis por rbol de Cobertura . . . . . . . . . . . . .
5.11.2. Anlisis por Transformacin . . . . . . . . . . . . . . .
5.11.2.1. Reduccin de una Subred de Petri a un Lugar
5.11.3. Anlisis por Representacin Estructural . . . . . . . . .
5.11.3.1. Matrices de Incidencia Previa y Posterior . . .
5.11.3.2. Subconjuntos y Subclases de una RdP . . . .
5.11.3.3. Matriz de Incidencia . . . . . . . . . . . . . . .
5.11.3.4. Ecuacin de Estado . . . . . . . . . . . . . . .
5.11.3.5. Determinacin de la Reversibilidad . . . . . .
5.11.3.6. Determinacin de la Conservatividad . . . . .
5.11.3.7. Determinacin de la Limitacin . . . . . . . .
5.11.3.8. Determinacin de la Vivacidad . . . . . . . .
5.12. Anlisis Local de Redes de Petri . . . . . . . . . . . . . . . . . .
XI
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
99
99
100
102
103
104
104
104
106
106
106
107
107
108
108
108
108
109
109
109
110
110
111
112
113
114
115
116
116
117
117
118
120
121
124
125
126
127
127
129
130
131
132
133
133
135
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
135
135
136
138
143
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
149
149
150
151
151
154
157
157
157
157
159
159
160
160
162
162
163
165
165
167
169
169
170
174
179
181
181
181
182
187
187
188
188
190
191
192
193
193
196
196
XII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
XIII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
197
197
198
200
200
201
202
204
205
206
206
207
207
209
213
214
216
216
218
218
224
XIV
ndice de Tablas
3.1. Tabla de Verdad para la Negacin . . . . . . . . . . . . . . . . . .
3.2. Tabla de Verdad para la Conjuncin . . . . . . . . . . . . . . . .
3.3. Tabla de Verdad para la Disyuncin . . . . . . . . . . . . . . . .
3.4. Tabla de Verdad para la Implicacin. . . . . . . . . . . . . . . . .
3.5. Tabla de Verdad para la Coimplicacin . . . . . . . . . . . . . . .
3.6. Posibles Combinaciones para Funcin de Aridad 1. . . . . . . .
3.7. Posibles Combinaciones para Funcin de Aridad 2. . . . . . . .
3.9. Notacin Simplificada de Mintrminos . . . . . . . . . . . . . . .
3.10. Notacin Simplificada de Maxtrminos . . . . . . . . . . . . . .
3.11. Formas Cannicas Equivalentes . . . . . . . . . . . . . . . . . . .
3.12. Trminos Dont Care . . . . . . . . . . . . . . . . . . . . . . . . .
3.13. Lista de Mintrminos Ordenados por Vecindad . . . . . . . . . .
3.14. Primera Bsqueda de Trminos Adyacentes . . . . . . . . . . . .
3.15. Segunda Bsqueda de Trminos Adyacentes . . . . . . . . . . .
3.16. Listado de Trminos No Agrupados y Mintrminos . . . . . . .
3.17. Identificacin de Trminos que Cubren Todos los Mintrminos .
3.18. Ejemplo de Tabla de Estados . . . . . . . . . . . . . . . . . . . . .
3.19. Secuencia de Excitacin en una Latch SR. . . . . . . . . . . . . .
3.20. Tabla de Excitacin para el Latch SR. . . . . . . . . . . . . . . . .
3.21. Tabla de Excitacin para el Latch SCR. . . . . . . . . . . . . . . .
3.22. Tabla de Excitacin para el Latch D. . . . . . . . . . . . . . . . .
3.23. Tabla de Excitacin para el Flip-Flop SR. . . . . . . . . . . . . . .
3.24. Tabla de Excitacin para el Flip-Flop D. . . . . . . . . . . . . . .
3.25. Tabla de Excitacin para el Flip-Flop JK. . . . . . . . . . . . . . .
3.26. Tabla de Excitacin para el Flip-Flop T. . . . . . . . . . . . . . . .
3.27. Tabla de Transiciones Automatismo Secuencial 1 . . . . . . . . .
3.28. Excitacin de Flip-Flops Automatismo 1 . . . . . . . . . . . . . .
3.29. Tabla de Transiciones Automatismo Secuencial 2 . . . . . . . . .
3.30. Excitacin de Flip-Flops Automatismo 2 . . . . . . . . . . . . . .
6.1.
6.2.
6.3.
6.4.
6.5.
Tipos de POUs . . . . . . . . . . .
Tipos de Variables . . . . . . . . .
Palabras Reservadas IEC 61131-3
Tipos de Datos Elementales . . .
Calificadores de Acciones . . . .
XV
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
18
18
18
19
24
25
31
32
33
34
42
42
43
43
44
47
50
50
51
52
54
54
55
56
57
58
60
61
152
153
158
161
210
XVI
ndice de Figuras
2.1. Alarma de Platn Basada en Clepsydra . . . . . . . . . . . . . .
2.2. Odmetro de Hern . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Modelo de Sistema de Control . . . . . . . . . . . . . . . . . . .
6
7
10
26
26
27
27
28
28
29
30
35
35
36
36
37
38
39
39
40
44
45
46
47
48
49
49
51
52
53
54
55
56
XVII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
XVIII
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
57
58
58
59
60
61
62
62
69
70
72
73
74
75
75
76
77
77
78
79
79
80
80
81
82
82
84
85
86
87
87
88
89
89
90
91
91
92
93
102
103
103
103
104
105
105
106
107
107
109
110
110
110
111
111
112
112
113
113
114
115
115
116
117
117
118
119
119
119
120
120
120
122
122
123
124
125
126
127
129
130
134
134
139
139
139
140
140
141
141
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
141
142
143
144
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
154
155
155
156
156
156
156
159
164
168
171
172
173
175
176
178
178
179
179
180
183
183
184
185
185
185
186
187
189
189
190
191
191
192
193
194
195
196
199
199
201
XX
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
XXI
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
203
203
204
205
206
206
207
208
209
210
211
211
211
212
212
213
213
214
215
216
217
219
220
221
222
223
225
227
XXII
Captulo 1
INTRODUCCIN
El origen de los automatismos no se encuentra definido para una fecha especfica, probablemente se puede hablar de los primeros sistemas automticos
desde los mismos inicios de la era prehistrica de la humanidad en el Paleoltico1 , cuando se realizaban trampas de caza con funcionamiento automtico
consistentes bsicamente en fosas cavadas y cubiertas adecuadamente para ser
activadas por el peso de la presa. Pero es desde los comienzos de la revolucin
industrial, a finales del siglo XIX y principios del XX, cuando la automatizacin
de procesos ha cobrado un inters especial por parte de la ciencia y de los ingenieros, presentando la perspectiva que tenemos hoy de ellos como sistemas en
los cuales se realizan acciones sobre un sistema mediante la manipulacin directa de magnitudes fsicas haciendo uso de otro sistema denominado de control. Los esfuerzos se han enfocado en reducir significativamente todos los costos derivados de la produccin de bienes, manteniendo una calidad constante
tanto en los productos terminados como en los mismos medios de produccin
y apartando al hombre de labores rutinarias, peligrosas, con gran incidencia
de error, con riesgos para la salud humana e incluso donde se involucra un
componente importante de estrs.
El uso de los sistemas de automatizacin se ha incrementado especialmente
durante la ltima mitad del siglo XX, debido principalmente a la globalizacin
de los mercados, lo cual ha llevado a todas las organizaciones productivas a estar dentro de mbitos competitivos y sometidos a rpidos procesos de cambios
para adecuarse a las exigencias de cada tiempo, ms an cuando este mismo
entorno pide respuestas rpidas y adecuadas con el fin de poder mantenerse
en los niveles demandados por una competencia cada vez ms especializada.
Los automatismos, han sido entonces, la herramienta sobre la cual las organizaciones han basado su estrategia, desde los tiempos en los cuales slo
se empleaban dispositivos de accionamiento y control con base en lgica todo o nada, hasta los tiempos actuales donde con base en la microelectrnica y procesadores se emplean equipos mucho ms sofisticados como lo son
1 Probablemente
CAPTULO 1. INTRODUCCIN
los autmatas de lgica programable. Es por esta razn fundamental que los
autores han querido presentar este libro como una herramienta bsica en el
aprendizaje y conocimiento de estas tecnologas, iniciando desde los conceptos bsicos de lgica secuencial y combinacional, pasando por la lgica cableada y programada enmarcadas dentro de la norma IEC 61131-3, y presentando
herramientas especializadas de diseo como lo son las redes de Petri.
Captulo 2
FUNDAMENTOS DE LOS
AUTOMATISMOS
2.1. Resea Histrica
Los automatismos se han observado desde los tiempos antiguos cuando se
creaban toda clase de mquinas provistas de alguna forma de fuente de energa
con el fin de imitar los movimientos de los seres vivos. Los primeros autmatas de los que se tenga noticia provienen de los tiempos de Ddalo donde
se crearon estatuas animadas. Luego, los griegos y ms tarde los romanos elaboraban juguetes con accionamiento mecnico [3].
En el ao de 1500 A.C. en Etiopa, Amenhotep construy una estatua del rey
Memon la cual emita sonidos cuando era iluminada por los primeros rayos del
sol al amanecer. En el siglo IV A.C. Ktesibios disea un reloj de agua conocido
con el nombre de Clepsydra, el cual constaba de un mecanismo cuyo objetivo
era que el nivel de un depsito de agua subiera a velocidad constante; para
lograr este fin se empleaba un flotador que regulaba la entrada de agua a un
depsito auxiliar. En el ao 378 A.C. a Platn se le ocurre crear un sistema
automtico de alarma con base en una Clepsydra, ver Figura 2.1; en el vaso
de 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 agua
y al final, cuando se alcanza el nivel mximo, las esferas caen sobre un plato
de cobre lo cual es indicativo que el tiempo ha transcurrido. El uso dado por
Platn a las Clepsydras suscit un gran inters y durante todo el siglo siguiente
se efectuaron muchos diseos basados en el reloj de agua.
En el siglo I A.C., Hern de Alejandra escribe una serie de libros reunidos
en una Enciclopedia Tcnica entre los cuales se destacan los primeros documentos conocidos sobre automatismos. En ellos es de resaltar los libros sobre
Pneumtica y Autmata. En estos libros de Hern se describe uno de los
primeros sistemas realimentados de los que se tenga conocimiento, el cual es
el dispensador de vino.
5
individuales.
En [6] se puede encontrar imgenes y descripciones de la mayora de los
automatismos mencionados previamente, incluso se puede encontrar variantes
y la evolucin que algunos de estos sistemas han tenido. Adems, igualmente
en [6] se puede encontrar la presentacin de automatismos de los siglos XVII a
XIX, como es el caso de los primeros componentes automatizados en molinos
de viento.
Con el advenimiento de la electricidad y de la electrnica apareci una nueva generacin de autmatas capaces de imitar realmente algunas funciones
y reproducir comportamientos de seres vivos. En 1912, el jugador de ajedrez
elctrico de Torres Quevedo era capaz de jugar finales de partida. 1 El jugador
de Nim, construido en 1951 en la Universidad de Manchester constituye otro
ejemplo de autmata elemental, dado que existe un algoritmo que permite ganar con seguridad en este juego. Para esos mismos das Strachey construy en
1 Juego
los Estados Unidos un jugador de damas capaz de enfrentarse a un buen jugador; para ello la mquina deba analizar, con varias jugadas de antelacin,
todas las jugadas posibles a partir de una situacin inicial [3].
10
PREACCIONADORES
Sensores, Transductores
Rels, Contactores
Seales
Fsicas
COMUNICACIONES
SISTEMA
DE
CONTROL
Seales
de Mando
INTERFAZ
HOMBRE-MQUINA
11
12
Bibliografa
[1] Balcells, Josep. Romeral, Jose Luis
Autmatas Programables
Alfaomega marcombo 1998, ISBN 970-15-0247-7
[2] Delhaye C.
Concepcin Lgica de Automatismos Industriales
Marcombo 1971, ISBN 26.676-1968
[3] Garca Moreno, Emilio
Automatizacin de Procesos Industriales
Alfaomega 2001, ISBN 970-15-0658-8
[4] Palls Areny, Ramn
Sensores y Acondicionadores de Seal 3ra Ed
Alfaomega marcombo 2001, ISBN 970-15-0577-8
[5] Lewis, R. W.
Programming Industrial Control Systems Using IEC 1131-3
Revised Edition
IEE 1998. ISBN 0-85296-950-3
[6] http://automata.cps.unizar.es/Historia/Webs.
13
Captulo 3
ANLISIS Y SNTESIS DE
AUTOMATISMOS
3.1. Lgica de Predicados
3.1.1. Presentacin del Lenguaje Formal
El lenguaje es la herramienta bsica en la comunicacin humana. La lgica, como instrumento para la formalizacin del conocimiento humano, no est
exenta de requerir un lenguaje que permita expresar de forma ordenada y clara
sucesiones de afirmaciones y que contenga todos los elementos necesarios de
comunicacin. Las frases declarativas son el fundamento bsico de la descripcin del conocimiento, por tanto interesa la formalizacin de un lenguaje para
su estudio [4].
En la lgica de proposiciones, o lgica de enunciados, se estudia las frases
declarativas simples como elementos de una frase que pueden tomar un y solo
un valor entre dos posibles (Verdadero y Falso, 1 y 0) y constituyen por si solas
la unidad de comunicacin. La lgica de predicados estudia con mayor profundidad las frases declarativas, colocando atencin a sus objetos constitutivos
y las relaciones que las gobiernan.
Si la proposicin est formada por una sola frase declarativa simple se dice
que posee aridad1 cero. Si la proposicin en estudio consta de ms de una frase
declarativa simple, entonces es necesario introducir elementos adicionales de
enlace entre los diferentes elementos simples, o argumentos, y adems se dice
en este caso que posee aridad igual al nmero de argumentos [4, 5].
Para la conformacin de los predicados se define la siguiente estructura:
Variables: Son smbolos conformados por las ltimas letras del alfabeto y en
minsculas. Se permite la adicin de subndices y el uso del alfabeto
1 La aridad de una funcin o de un predicado se define como el nmero de argumentos que
tiene.
15
16
17
18
La tabla de verdad para dos afirmaciones relacionadas mediante la conectiva de conjuncin se muestra en la Tabla 3.2.
19
20
Cada signo de L debe pertenecer a una y solo una de las anteriores categoras.
Si L es un lenguaje formal con descriptor, entonces L es el lenguaje resultante
al retirar el descriptor.
21
se indica como f 4 l, v, s, c . La funcin se verifica si se cumple una de
las dos condiciones, a su vez la condicin 2 se verifica si se cumplen simultneamente las tres condiciones que la forman, por tanto se puede
escribir:
f 4 l, v, s, c = l s v c
, H H y H
Postulado 3. Conmutatividad
, H =
, H =
22
Postulado 4. Asociatividad
, , H ( ) = ( )
, , H ( ) = ( )
Postulado 5. Distributividad
, , H ( ) = ( ) ( )
, , H ( ) = ( ) ( )
Postulado 6. Complemento: Para todo H existe un nico elemento en
H denominado complemento de , de forma que:
H = 1
H H = 0
F H
Fd Fd H
F , , : ( ) ( ) = ( )
si
ahora
F , , :
( ) ( ) = ( )
( ) ( ) = ( )
F d , , :
23
Teorema 3: Involucin
H () =
Teorema 4: Absorcin
, H ( ) =
, H ( ) =
Teorema 5: Segundo Teorema de Absorcin
, H ( ) =
, H ( ) =
, H ( ) ( ) =
, H ( ) ( ) =
Teorema 7: Cuarto Teorema de Absorcin
, , H ( ) ( ) = ( ) ( )
, , H ( ) ( ) = ( ) ( )
24
, H ( ) =
, H ( ) =
Este teorema se puede generalizar para n variables de la siguiente forma:
, , ..., H ( ... ) = ...
, , ..., H ( ... ) = ...
Teorema 9: Teorema de Consenso
, , H ( ) ( ) ( ) = ( ) ( )
, , H ( ) ( ) ( ) = ( ) ( )
f01
f11
f21
f31
25
f02
f12
f22
f32
f42
f52
f62
f72
f82
f92
2
2
2
2
2
2
f10
f11
f12
f13
f14
f15
0 , ... , n1
n
H f (0 , ... , n1 ) = 0 ... n1 = | H
Cumple las propiedades de asociatividad y conmutatividad, especficamente para el caso de tres variables:
= 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
26
a0
&
a0 a1
a1
Smbolo ANSI/IEEE
0 1
Lgica Cableada
Tabla de Verdad
= 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
En la Figura 3.2 se muestra el smbolo de esta funcin junto con la representacin para lgica cableada y su tabla de verdad.
a0
a1
a0
a1
Smbolo ANSI/IEEE
Lgica Cableada
0 1
Tabla de Verdad
27
a0
a0
Smbolo ANSI/IEEE
Lgica Cableada
Tabla de Verdad
a0
&
a1
a0
a1
Smbolo ANSI/IEEE
Lgica Cableada
(0 1 )
Tabla de Verdad
28
a0
a0 a1
a1
Smbolo ANSI/IEEE
(0 1 )
Lgica Cableada
Tabla de Verdad
= 0 1
= (0 1 ) (0 1 )
Cumple las propiedades de asociatividad y conmutatividad. En la Figura 3.6 se muestra el smbolo de esta funcin junto con la representacin
para lgica cableada y su tabla de verdad.
a0
=1
a1
a0
a0
Smbolo ANSI/IEEE
a1
a1
Lgica Cableada
0 1
Tabla de Verdad
29
(0 1 )
0 1
(0 1 ) (0 1 )
a0
=1
a1
a0
a0
Smbolo ANSI/IEEE
a1
a1
Lgica Cableada
0 1
Tabla de Verdad
(0 , 1 ) =
g32 (0 , 1 ) =
h11 (0 )
h22
(0 , 1 )
h23 (0 , 1 )
(0 0 ) = 0
(0 1 ) = 0 1
0 1 = 0 1
= (0 0 ) = 0
= (0 1 ) = 0 1
= 0 1 = 0 1
30
Funcin
NAND
a0
&
NOR
a0
a 0
a 0
NOT
g11
a0
AND
h11
a0
&
1
1
&
a1
a1
g22
a0
h22
&
&
OR
a1
a0
a1
&
g32
h23
31
La primera de ellas es la forma SOP (suma de productos) la cual se construye al realizar la disyuncin, es decir funcin OR, de trminos en conjuncin,
donde cada trmino conjuncin se obtiene mediante la funcin AND de varias
variables, las cuales pueden estar complementadas o sin complementar (con
negacin o sin ella). A continuacin se presenta un ejemplo para una funcin
de tres variables la cual est en forma SOP:
f 3 (0 , 1 , 2 ) = (0 1 2 ) (1 2 ) (0 2 )
La segunda forma es la POS (producto de sumas) la cual se construye al
realizar la conjuncin, es decir la funcin AND, de trminos en disyuncin,
donde cada trmino en disyuncin se obtiene mediante la funcin OR de varias
variables, las cuales pueden estar complementadas o sin complementar. Un
ejemplo de una funcin de tres variables en forma POS se muestra a continuacin:
f 3 (0 , 1 , 2 ) = (0 1 2 ) (0 1 2 ) (0 2 )
3.2.5.2. Formas Cannicas
Mintrmino Es un trmino en conjuncin el cual contiene exactamente una
vez a cada una de las variables de la funcin, ya sea complementadas o
sin complementar. En el ejemplo anterior de una funcin en forma SOP,
el trmino (0 1 2 ) es un mintrmino ya que cumple con la
definicin dada.
Si una funcin se expresa en forma SOP y adems todos sus trminos son
mintrminos, entonces se dice que la funcin posee la forma Cannica de
Suma de Productos, o simplemente la forma SOP Cannica. A continuacin
se presenta un ejemplo de forma SOP cannica.
f 3 (0 , 1 , 2 ) = (0 1 2 ) (0 1 2 ) (0 1 2 )
Como para que un mintrmino tome un valor lgico de 1 se necesita que
cada variable no complementada tome un valor de 1 y cada variable complementada tome un valor de 0, se aprovecha este valor de cada variable
para hacer un cdigo binario con tantos bits como variables en la funcin, con el cual se podr simplificar la escritura del mintrmino en una
funcin de forma SOP cannica. En la Tabla 3.9 se muestra esta simplificacin para los mintrminos de la funcin anterior.
Mintrmino
Cdigo
Simplificacin
(0 1 2 )
100
m4
(0 1 2 )
001
m1
(0 1 2 )
011
m3
32
Cdigo
Simplificacin
(0 1 2 )
101
M5
(0 1 2 )
010
M2
(0 1 2 )
011
M3
Se observa que se ha simplificado la escritura de cada maxtrmino mediante Mi , donde i es el entero decimal correspondiente al cdigo binario
del maxtrmino. As la funcin se puede escribir de cualquiera de las
siguientes formas:
f 3 (0 , 1 , 2 ) = (0 1 2 ) (0 1 2 )
(0 1 2 ) =
M (2, 3, 5)
33
f 3 (0 , 1 , 2 )
34
Cdigo
f 4 (0 , 1 , 2 , 3 )
10
11
12
13
14
15
En la Tabla 3.12, mediante una d se ha notado los trminos que son Dont
Care y que corresponden a aquellas entradas que se sabe nunca se presentarn
para este ejemplo. La funcin se podr representar de las siguientes formas:
f 4 (0 , 1 , 2 , 3 ) =
=
35
Cd
min
m0
m1
m2
m3
a0,a1
m0
0 0
(0)
(1)
(0)
m0
m2
m1
m3
1
(1)
Tabla de Verdad
Diagrama de Venn
Diagr. Rectangular
a0 0
a1
0
1
2
3
Mapa de Karnaugh
Cd
min
m0
m1
m2
m3
m4
m5
m6
m7
Tabla de Verdad
a0,a1,a2
a0,a1,a2
m0 a ,a ,a
m4 m6
a ,a ,a
0
m5
a0,a1,a2
m7 m3
m2
m1
a0,a1,a2
a0,a1,a2
a0,a1,a2
Diagrama de Venn
a0 0
a1,a2
00
01
11
10
Mapa de Karnaugh
36
a0,a1
a2
00
0
01
2
3
11
10
4
5
Cd
min
m0
m1
m2
m3
m4
m5
m6
m7
m8
m9
10
m10
11
m11
13
m12
13
m13
14
m14
15
m15
Tabla de Verdad
a0,a1
a2,a3 00
00
01
11
10
a2,a3
a0,a1 00
00
01
11
10
01
11
10
12
8
13
15
11
14
10
01
11
10
12
13
15
14
11
10
Mapas de Karnaugh
37
01
a2
11
10
3
2
01
4
5
11
10
12
8
13
1 1
7
15
1 1
6
14
9
11
a3
10
a1
38
m8 , m10
m3 , m7
Grupo 3 =
m5 , m7 , m13 , m15
a0
a0,a1
a2,a3 00
00
01
a2
11
10
3
2
01
4
5
11
10
12
8
13
1 1
7
15
1 1
6
14
9
11
a3
10
a1
39
a2
11
10
01
11
10
12
8
13
15
14
11
a3
10
a1
= M9 , M13
Grupo 2
= M2 , M10
Grupo 3
a0,a1
a2,a3 00
00
01
a2
11
10
01
11
10
12
8
13
15
14
11
a3
10
a1
40
La funcin sobre un mapa de Karnaugh, incluyendo tanto los mintrminos como los Dont Care se muestran en la Figura 3.17.
a0
a0,a1
a2,a3 00
00
01
a2
11
10
01
11
10
12
8
13
15
14
11
a3
10
a1
Como los trminos Dont Care se pueden considerar de forma indistinta como mintrminos o maxtrminos, segn conveniencia, en este caso
se han incluido como mintrminos, pero adicionalmente ellos pueden ser
incluidos o no en las agrupaciones. En el caso de este ejemplo el trmino d15 no se ha incluido ya que con los grupos formados se han cubierto
a todos los mintrminos de la funcin. Los grupos formados son los siguientes:
Grupo 1 =
m0 , m2 , m8 , m10
Grupo 2 =
Grupo 3 =
m4 , m5 , m6 , m7
m2 , m6 , m10 , m14
Grupo 4 =
m9 , m13
41
Eliminando las variables que cambian en cada uno de los grupos, se obtiene la siguiente funcin simplificada:
f 4 (0 , 1 , 2 , 3 ) = (1 3 ) (0 1 ) (2 3 ) (0 2 3 )
42
f 4 (0 , 1 , 2 , 3 ) =
El primer paso consiste en realizar la lista enumerada de todos los mintrminos ordenados de acuerdo al nmero de 1 en cada uno de ellos.
Columna 1
Mintrminos
0 1 2 3
0000
Cero unos
2
8
0010
1000
Dos unos
0011
6
9
0110
1001
10
1010
0111
Cuatro
13
1101
Unos
Tres unos
0 1 2 3
0000
2
8
0010
1000
Columna 2
Mintr
*
0 1 2 3
0y2
00_0
0y8
_000
*
*
2y3
001_
2y6
2 y 10
0_10
_010
0011
0110
8y9
100_
9
10
1001
1010
*
*
8 y 10
10_0
3y7
0_11
7
13
0111
1101
*
*
6y7
9 y 13
011_
1_01
43
Columna 1
Columna 2
Mintr
0 1 2 3
0000
Columna 3
Mintr
0 1 2 3
0y2
00_0
0,2,8,10
0 1 2 3
_0_0
T1
0y8
_000
2,3,6,7
0_1_
T2
001_
0_10
*
*
Mintr
0010
1000
2y3
2y6
0011
2 y 10
_010
6
9
0110
1001
*
*
8y9
8 y 10
100_
10_0
T3
*
10
1010
0111
3y7
6y7
0_11
011_
*
*
13
1101
9 y 13
1_01
T4
T1
0,2,8,10
_0_0
T2
T3
2,3,6,7
8,9
0_1_
100_
T4
9,13
1_01
X
X
X
X
10
13
X
X
X
X
44
T1
T2
0,2,8,10
2,3,6,7
_0_0
0_1_
*
*
T3
T4
8,9
9,13
100_
1_01
10
13
X
X
X
X
MEMORIA
W1
Wl
wl
w1
LGICA
x1
x2
xn
COMBINACIONAL
z1
z2
zm
45
n+l
(x1 , x2 , ... , xn , W1 , W2 , ... , Wl )
i
wi
n+l
(x1 , x2 , ... , xn , W1 , W2 , ... , Wl )
i
Donde n+l
y n+l
son respectivamente la i sima funcin de salida y de
i
i
estado siguiente de aridad n + l.
Entradas
Lgica
combinacional
para estado
siguiente
Sistema
Lgica
combinacional Salidas
de
Memoria
Estado
Presente
de Salida
46
Entradas
Lgica
combinacional
para estado
siguiente
Sistema
de
Estado
Presente
Lgica
combinacional Salidas
Memoria
de Salida
3.4.2.
Diagrama de Estados
El Diagrama de Estados es una representacin grfica de un sistema secuencial que ayuda a presentar de forma clara la relacin funcional existente entre las entradas, las salidas, el estado presente y el estado siguiente. En estos
diagramas, los estados se representan como crculos, mientras las transiciones
entre estados se indican mediante arcos orientados. En cada arco se relaciona
los valores de las entradas y las salidas para la transicin indicada.
Otra forma de representacin de un sistema secuencial es mediante la Tabla
de Estados, en ella las columnas corresponden a los valores de las variables de
entrada y las filas a los estados presentes del sistema. En cada celda se relaciona
para el valor de entrada y de estado actual el estado siguiente y el valor de las
salidas.
En el diagrama de estados de la Figura 3.21, se muestra un ejemplo en el
cual se tiene cuatro posibles estados en los cuales puede estar el sistema (representados por dos variables de estado ya que 22 = 4), una variable de entrada y
una variable de salida.
47
Entrada (x)
Estado Actual
C/0
B/1
B/1
C/0
A/0
D/1
D/1
A/0
0
1
0
0
1
0
1
0
0
0
D
0
1
C
1
1
48
0
0
1
0
1
1
1
S
1 Q
1
1
49
1
0
1
1
0
R
S
1
S
R
Figura 3.24: Latch Set-Reset
En la Tabla 3.19 se muestra el valor que toma la salida Q para un latch SR de
acuerdo con las secuencias de excitacin mostradas. Se puede observar como
al aplicar un valor lgico de 1 en la entrada S la salida Q ir inmediatamente
a 1 independiente del valor presente en ella, adems al aplicar un valor lgico
de 1 en la entrada R la salida Q tomar el valor lgico 0. En la configuracin
50
R
0
Q
0
Se guarda un 1
1
0
0
0
1
1
Se guarda un 0
Entrada ilegal
0
1
0
1
0
X
Entradas
Estado
Presente
Estado
Siguiente
Q(t)
Q(t + 1)
51
&
&
S
C
R
R
Figura 3.25: Latch SCR
La tabla de excitacin y la ecuacin caracterstica para el latch SCR se muestran a continuacin en la Tabla 3.21.
Entradas
Estado
Estado
Presente
Siguiente
Q(t)
Q(t + 1)
52
&
&
Estado
Presente
Estado
Siguiente
Q(t)
Q(t + 1)
53
3.4.3.4. Flip-Flop SR
Los flip-flops realizan el cambio a un estado siguiente en sincronismo con
los pulsos de un sistema de reloj, a diferencia de los latch donde cualquier
cambio en las entradas producir de inmediato el paso al estado siguiente.
Para lograr este comportamiento, la configuracin ms empleada es la maestroesclavo de dos latch SCR. En ella, como puede observarse en la Figura 3.27, dos
latch SCR comparten la misma seal de control pero complementada una en
relacin con la otra.
S
R
1
C
(reloj)
Maestro
Q
S
C
R Q
Esclavo
Q
S
C
R Q
S
C
R
Q
Q
Cuando la seal del reloj, que es la misma seal de control, tiene un valor
lgico 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 transicin 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 transicin de subida del
reloj.
La tabla de excitacin y ecuacin caracterstica del flip-flop SR se muestran
a continuacin, 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
Entradas
Estado
Seal de
Estado
Presente
Activacin
Siguiente
Q(t)
Q(t + 1)
Maestro
D Q
C
1
C
(reloj)
Esclavo
D Q
Q
1
Seal de
Estado
Presente
Activacin
Siguiente
Q(t)
Q(t + 1)
Entrada
55
&
K
J
R
C
S
&
J
C
K
reloj
Figura 3.29: Flip-Flop JK
La tabla de excitacin resumiendo el comportamiento del flip-flop JK se
muestra en la Tabla 3.25.
Entradas
Estado
Presente
Seal de
Activacin
Estado
Siguiente
Q(t)
Q(t + 1)
56
3.4.3.7. Flip-Flop T
Es el mismo flip-flop JK donde las entradas J = K = 1. Este tipo de configuracin, la cual se muestra en la Figura 3.30, se comporta como un conmutador
(Toggle en ingls) cuando la entrada T toma un valor lgico de 1 y retendr el
estado actual si el valor de entrada es 0.
reloj
J
C
K
Seal de
Estado
Presente
Activacin
Siguiente
Q(t)
Q(t + 1)
Entrada
57
00
01
11
10
1
Estado Siguiente
Entrada (x) = 0
A B
Entrada (x) = 1
A B
58
Siguiente
FF A
FF B
JA
KA
JB
KB
0
1
01
2
3
11
10
A, B
x 00
0
JA=Bx
01
11
10
4
5
KA=Bx
0
1
01
11
JB=x
10
4
5
A, B
x 00
0
01
2
3
11
6
7
10
KB=x
59
Ahora se puede proceder a implementar el diagrama lgico para el automatismo secuencial pedido con base en las Figuras 3.32 y 3.33, el cual se
puede observar en la Figura 3.34.
&
Q
J
C F-A
K Q
Q
J
C F-B
K Q
clk
Figura 3.34: Diagrama Lgico Automatismo 1
El automatismo implementado en este ejemplo corresponde a una mquina de Moore, ya que en todo instante sus salidas solo dependen de las
variables de estado. Particularmente, en este ejemplo las salidas son las
mismas variables de estado.
Ejemplo En una estacin de prueba se realiza la verificacin de cuatro propiedades diferentes de un producto. El producto terminado se coloca sobre una banda transportadora la cual lo llevar por las cuatro estaciones
diferentes de prueba, una por cada propiedad a verificar. Sin embargo,
estando en un estado cualquiera un operario puede decidir mediante
dos pulsadores si continuar a la siguiente estacin (ir a la derecha D)
o si regresar a la estacin previa (ir a la izquierda I). Por seguridad se
desea instalar un sistema visual que indique al personal la direccin de
movimiento de la banda transportadora, as: si la banda se mueve hacia
la derecha se debe encender una luz roja R, si la banda se mueve hacia la
izquierda se debe encender una luz verde V, si la banda se encuentra detenida entonces se deben encender ambas luces. Presionar derecha en la
ltima estacin indica regresar al inicio pero con un desplazamiento a la
izquierda. Los pulsadores de direccin poseen enclavamiento mecnico
que impide su accionamiento simultneo.
En este ejemplo se requiere de dos entradas (una por cada pulsador de
direccin) y de dos salidas (una por cada luz indicadora). El primer paso
es obtener el diagrama de estados a partir del enunciado, el cual se puede
observar en la Figura 3.35 y donde el valor de las entradas y de las salidas
en cada caso es indicado por la relacin DI/RV.
60
0d
11
00
11
10
10
00
01
01
01
10
10
01
01
00
11
10
10
10
01
01
00
11
11
10
01
Estado Actual
Q1 Q2
Estado Siguiente
DI = 00
DI = 01
A0
A/11
A/11
DI = 10
B/10
B0
B/11
A/01
C/10
C1
C/11
B/01
D/10
D1
D/11
C/01
A/01
61
Entradas
Siguiente
FF 1
FF 2
Q1
Q2
Q1
Q2
T1
T2
Salidas
R
01
11
10
13
15
14
11
10
T1=(Q2D)(Q1Q2I)
Q1, Q2
01
11
10
D, I 00
0
4
12
8
00
01
13
15
14
11
10
11
10
T2=D(Q2I)(Q1I)
62
Q1, Q2
01
11
10
D, I 00
0
4
12
8
00
01
11
10
13
15
14
11
10
R=(DI)(Q1Q2)
(Q1D)(Q1Q2D)
Q1, Q2
01
11
10
D, I 00
0
4
12
8
00
01
11
3
2
10
13
15
11
14
10
V=D(Q1Q2D)
&
&
1
T Q
FF 1
C Q
&
&
&
T Q
FF 2
C Q
1
R
&
&
&
&
clk
Figura 3.38: Diagrama Lgico Automatismo 2
El automatismo implementado en esta ocasin corresponde a una mquina de Mealy, ya que en todo instante sus salidas dependen de las variables de estado y del valor de las entradas.
63
64
Bibliografa
[1] Floyd, Thomas L.
Fundamentos de Sistemas Digitales, 7ma Ed
Prentice Hall 2000. ISBN 84-205-2994-X
[2] Garca Moreno, Emilio.
Automatizacin de Procesos Industriales
Alfaomega 2001. ISBN 970-15-0658-8
[3] Groenendijk, Jeroen. Stokhoff, Martin
Dynamic Predicate Logic
Department of Computational Linguistics,
University of Amsterdam, 1990.
[4] Ivorra Castillo, Carlos
Lgica y Teora de Conjuntos.
[5] Labra Gayo, Jose Emilio. Fernndez Lanvin, Daniel.
Lgica de Predicados. Cuaderno Didctico, Universidad de Oviedo.
[6] Nelson, Victor P. Nagle, H. Troy. Carroll, Bill D. Irwin, J. David.
Anlisis y Diseo de Circuitos Lgicos Digitales
Prentice Hall 1996. ISBN 968-880-706-0.
[7] Rios Luis H., Alzate Alfonso.
Sistemas Digitales
ISBN: en trmite, 2008.
[8] Teller, Paul
A Modern Formal Logic Primer:
Volume II, Predicate Logic and Metatheory (TBD) 1st Ed
Prentice Hall Callege Div, 1989. ISBN-13: 978-0139031700.
[9] Tinder, Richard F.
Engineering Digital Design, 2nd Ed
Academic Press 2000. ISBN 0-12-691295-5.
[10] Wakerly, John F.
Digital Design: Principles and Practices, Third Edition
Prentice Hall, 1999. ISBN-10: 0137691912, ISBN-13: 978-0137691913.
65
Captulo 4
LGICA CABLEADA
4.1. Dispositivos de Mando y Control
4.1.1. El Contactor
Elemento bsico sobre el cual se fundamenta una lgica de tipo todo o
nada, la cual corresponde a operaciones del tipo abierto o cerrado, verdadero o falso, 1 0, caliente o fro, etc. El contactor es un dispositivo
compuesto por pares metlicos montados sobre un mecanismo el cual puede
mantenerlos en estado de unin o separacin, representando as la naturaleza
todo o nada. En el estado de unin se presentar conduccin ya que habr
una resistencia ideal de cero entre los contactos y en el estado de separacin se
presentar no conduccin por la presencia de resistencia infinita entre los pares
metlicos [4]. Lo importante de este accionamiento es la utilizacin externa del
estado en el cual se encuentren los contactos o pares metlicos [2, 6].
El contactor es un dispositivo mecnico de accionamiento mediante electroimn. Cuando la bobina del electroimn se encuentra bajo tensin, el contactor se cierra, estableciendo un camino a travs de los pares metlicos entre
una red de alimentacin y un receptor. El desplazamiento de la parte mvil del
electroimn que arrastra las partes mviles de los pares metlicos puede ser
rotacional, lineal o combinacin de los dos anteriores. Cuando se suspende la
alimentacin de la bobina, el circuito magntico se desmagnetiza y regresa a
su posicin de reposo debido a la accin conjunta de resortes que actan como
elementos de reposicin tanto en los mismos pares metlicos como en la parte
mvil de la armadura, y de la accin de la misma gravedad en determinados
equipos.
A continuacin se presentan los principales elementos que forman un contactor:
El Electroimn: Se comporta como el elemento proveedor de desplazamiento de los contactos. Se compone principalmente del circuito magntico
y la bobina. Su forma depende del tipo de contactor y de si la fuente
67
68
69
Contactos
mviles
Resortes de
reposicin
contactos
Contactos
fijos
Cmara soplado
de arco
Armadura
mvil
Resorte de
reposicin
armadura
Bobina
Armadura
fija
Base
70
Bobina
A1
Contactos de Potencia
1
A2
41
42
Contactos auxiliares
13
14
23
24
31
32
71
4.1.2. El Rel
Su operacin, constitucin y finalidad es igual a las ya descritas para un
contactor. Su diferencia principal radica en que el rel slo 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
seccin de control de un circuito con el fin de actuar como elemento de automantenimiento, esclavizacin, enclavamiento de contactos, sealizacin y proteccin.
72
gua o potencimetro). Estos rels tambin pueden poseer contactos auxiliares instantneos los cuales cambiarn de estado inmediatamente se energiza
la bobina, pero los contactos auxiliares temporizados retardan su conmutacin
por el tiempo ajustado, sin embargo cuando se desenergiza la bobina del rel,
todos los contactos auxiliares, ya sean instantneos o temporizados, regresan al
estado de reposo. En este tipo de rel, si antes de terminarse la temporizacin
para conmutacin se desenergiza la bobina, los contactos temporizados no
cambian de estado, es decir, permanecen en reposo. En la Figura 4.3 se observa la representacin de contactos y un diagrama de tiempo de su operacin
ante posibles situaciones de energizacin de bobina versus tiempo de ajuste,
adems se puede notar el tipo de numeracin que siguen los contactos temporizados mediante el par (#5,#6) para los contactos temporizados a su apertura
y el par (#7,#8) para los contactos temporizados a su cierre [3, 5].
Bobina
A1
TRon A2
Contactos instantneos
13
14
21
22
Contactos temporizados
37
38
TR-TC
45
46
Bobina
Instantneo
Temporizado
Ajuste
Ajuste
TR-TA
73
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 anlogamente para un contacto auxiliar temporizado que en reposo est normalmente cerrado [3, 5].
Bobina
A1
TRoff
A2
Contactos instantneos
13
14
21
22
Contactos temporizados
37
38
TR-TA
45
46
Bobina
Instantneo
Temporizado
Ajuste
Ajuste
TR-TC
74
Pulsadores
Braker bipolar
Fusible
Rel de
sobrecorriente
75
Circuito de control
P1
P2
P2
CR
P1
CR
CR
A
CR
Circuito de potencia
B
A
Circuito de control
P1
P1
CR1
CR1
CR1
CR2
CR1
CR2
CR2
A,B
Circuito de potencia
B
A
P1
76
La Figura 4.7 muestra el diseo para un circuito detector de flancos de subida, donde la duracin del pulso en la bobina A y la carga B es de solo un instante de conmutacin o del tiempo que toma realizar un scan de programa en
las implementaciones basadas en lenguajes de programacin. La configuracin
de contacto abierto de CR1 en serie con el contacto cerrado de CR2 recibe el
nombre de detector de flanco de subida.
La configuracin para un detector de flancos de bajada se muestra en la
Figura 4.8, donde la topologa asociada es el contacto cerrado de CR1 en serie
con el contacto abierto de CR2.
Circuito de control
P1
P1
CR1
CR1
CR1
CR2
CR1
CR2
P1
CR2
A,B
Circuito de potencia
B
A
77
la siguiente pulsacin. Como ejemplo, en la Figura 4.9 se muestra la implementacin de un circuito toggle ante flancos de bajada para la activacin de un
rgano receptor cualquiera A.
Circuito de control
P1
P1 P1 P1 P1 P1 P1
CR1
CR2
CR1
CR1
CR2
CR4
CR1,
CR2
CR3
CR4
CR3,
A
CR3
CR2
CR1
CR3
CR4
CR4
A
CR3
Circuito de control
P1 P1 P2 P2
P1
S
P2
S
R
Q
78
Circuito de control
P1
P2
P2
CR
TR1
CR
CR
TR2-TA
TR2
TR1-TC
CR
TR1
TR1-TA
t1
ON
t2
ON
TR2
A
t1
t2
Circuito de control
con un solo ON
P2
P1
P2
P1
CR
CR
TR-TA
CR1
CR
CR
CR
CR
CR
CR
79
TR1
t1
TR-TA
OFF
TR2-TC
TR2
TR1-TA
t
ON
A
CR1
t2
OFF
TR1-TA
TR
CR1
CR1
Figura 4.12: Funcin Tren de Pulsos con 2 Rels OFF y con Un solo ON.
Circuito de control
P1
P1
CR
CR
TR
t
OFF
A
t
A
TR-TA
80
P2
P2
CR
CR
CR
CR
CR1
TR-TA
CR
CR
CR1
CR
ON
TR
A
CR1
OFF
TR
TR-TA
Simulacin de rel ON
P1
P2
P2
CR
CR
CR
CR1
TRi
CR1 TR-TC
CR2
TR
CR
CR
OFF
CR
TR
ON
CR1
CR2
A
TR-TC
81
P2
P1
CR1
CR2
CR1
CR3
CR2 CR1
CR4
CR3 CR1
CR4 CR1
CR5
CR1
CR5
CR5
82
con los motores, de tal forma que si un motor sale de operacin su rel
asociado se desenergiza.
Designando como CRA, CRB y CRC a cada uno de los rels en serie con
los motores, se puede construir la siguiente tabla de verdad y mapa de
Karnaugh para simplificar la funcin:
Cd
CRA
CRB
CRC
Al
CRA, CRB
00
CRC
Tabla de Verdad
01
11
6
7
10
4
5
Mapa de Karnaugh
P1
P2
CR
CR
CR
CRA
Al
CRB CRC
83
84
TR-TA
CR1
CR1
C
TR-TA
CR2
CR1
CR2
CR2
A
M
M
CR1
TR-TA
TR
CR2
TRi
TR-TC CR2
M
t
ON
P
V
5s
5s
P
M
CR2
P1
CR1
85
A
CR1 CR2
B
CR2
C
A
CR1
CR1
B
CR2
CR2
La implementacin para cualquier nmero de cargas en activacin alternada ordenada se puede extender inmediatamente del diseo mostrado en la
Figura 4.20, sin embargo cuando la activacin vara el orden de las cargas los
diseos pueden cambiar ligeramente pero siempre teniendo como base la funcin biestable. En la Figura 4.21 se muestra a la izquierda el circuito de lgica
cableada para la activacin de cargas en secuencias ABCDCB y a
la derecha para la secuencia ABCDBC. En estos circuitos es de resaltar como la memoria implementada con el rel CR4 no recibe una orden
de reset sino hasta el inicio de un nuevo ciclo. En general un diseo siempre
debe permitir la reutilizacin indefinida del circuito sin necesidad de tener que
desenergizar completamente para reiniciar un nuevo ciclo.
Si se desea una activacin de cargas en cualquier orden, su diseo se puede
realizar con base en alguno de los mostrados previamente, por ejemplo para
una secuencia de activacin en el orden BACDCA, se puede implementar con base en la secuencia ABCDCB reemplazando A por B y
B por A.
86
Secuencia ABCDCB
P1
CR1
Secuencia ABCDBC
P1
A
C
CR1 CR2 A
B
D
CR4
D
B
CR4
C
CR4
CR4
CR1
A
CR1
CR2
B
CR2
CR3
CR3
D
CR3
CR2
CR3
CR4
CR2 CR3 B
CR2 CR3 B
CR1
CR1 CR2 A
CR1
D
CR4
CR4
C
CR4
CR4
CR1
CR2
CR3
CR3
A
CR4
CR4
CR4
P1
87
A1
M1
P2
P3
M2
M3
M1
A2
M1
M2
M2
A3
M3
M2
M3
P1
A1
P1
A1
M1
M3
P2
P3
M1
M1
A2
M2
A3
M3
M1
P2
M1
A2
M2
M2
M2
M3
M1
P3
M1
M1
M2
M2
A3
M3
M2
M3
M3
88
P1
A1
P1
A1
M1
M3
P2
M1
A2
M2
A3
P3
M2
M3
M1
M3
M1
M2
M3
P2
M1
A2
M2
M2
A3
P3
M3
M2
M1
M2
M2
M3
M3
89
Circuito de control
A
Circuito de potencia
CRsc CRc
M
Rf
2A
TR1
TR1-TC
CRc
t1
ON
1A
TR2
TR2-TC
Ea
R arranque
+
1A
TR1-TC
Lf
1A
t2
CRsc M
2A
ON
2A
2A
CRsc CRc
M
TR2-TC
1A
TR1-TC TR2-TA
TR1
t1
OFF
1A
1A
TR1-TA
2A
TR2-TC
1A
TR2
t2
OFF
2A
2A
90
Circuito de potencia
Circuito de control
P
TR-TA
N CRsc
M
CRsc
CRsc
M
M
M
TR
N
CRsc
CRsc
CRsc
t1
ON
91
Circuito de control
A
TR-TA
N CRsc
M
CRsc
CRsc
M
M
M
TR
N
t1
OFF
Circuito de potencia
Circuito de control
P
T
N
N CRsc
M
CRsc
CRsc
M
M
TR-TC
M
TR
D
T
N
CRsc
CRsc
t1
ON
CRsc
R
D
R
92
Circuito de potencia
inversin motor DC
Rf
Lf
Circuito de potencia
inversin motor monofsico
CRc
F
R arranque
M
1A
2A
Auxiliar
CRsc M
F
Principal
93
Circuito de control
P
PR
PF
CRf
PR
PF
CRr
CRf
CRf
CRr
CRr
M
R
TR-TC
F
TR
CRf
CRr
t1
OFF
F
R
94
95
96
Bibliografa
[1] Chapman, Stephen J.
Mquinas Elctricas, Segunda Edicin.
McGraw-Hill, 1993. ISBN 958-600-125-3.
[2] Delhaye, C.
Concepcin Lgica de Automatismos Industriales.
Marcombo, 1971. ISBN 26.676-1968.
[3] Hackworth, Jhon R. Hackworth, Feredirck D. Jr.
Programmable Logic Controllers: Programming Methods and Applications
Prentice Hall, 2003.
[4] Manual Electrotcnico, Telesquemario.
Tecnologas de Control Industrial.
Schneider Electric Espaa S.A., 1999. Depsito Legal B. 00.000-99.
[5] Montoya Rivera, Duvan. Ocampo Torres, Carlos Alberto.
Conceptos de Relevacin Industrial y Diseos para el Laboratorio.
Proyecto de Grado, Universidad Tecnolgica de Pereira, 1999. Director Jos
Eyder Tabares.
[6] Palls Arenas, Ramn.
Sensores y Acondicionamiento de Seal, Tercera Edicin.
Alfaomega marcombo, 2001. ISBN 970-15-0577-8.
[7] Parr, E.A.
Programmable Controllers, An enginners guide, Third Edition.
Newness. 2003. ISBN 0-7506-5757-X.
[8] Siskind, Charles S.
Sistemas Industriales de Regulacin Elctrica.
Editorial Labor, 1968. Depsito Legal B. 12 288-1968.
97
Captulo 5
Redes de Petri
5.1. Marco Introductorio
Las Redes de Petri fueron introducidas inicialmente por el Dr. Carl Adam
Petri en el ao de 1962 para su disertacin doctoral en la facultad de Matemticas y Fsica del Technical University of Darmstadt, en Alemania Occidental [9,
10]. El xito de las Redes de Petri radica en la amplitud de diferentes sistemas
que se pueden modelar bajo esta misma tcnica, entre los cuales se pueden incluir: sistemas asncronos, concurrentes, paralelos, no determinsticos, secuenciales, de eventos discretos, distribuidos, estocsticos, entre otros.
Cuando se hace referencia concreta a la automatizacin industrial, es importante resaltar como en estos sistemas se puede encontrar una gran variedad
de subsistemas de naturaleza diferente. ste puede ser el caso de un sistema de
manufacturacin donde se realizan varios procesos en paralelo, pero a la vez
se requiere de la sincronizacin para el inicio o fin de ciertas tareas; adems
muchas veces los procesos deben utilizar una cantidad limitada de recursos
con lo cual deben competir por ellos y determinar posibles situaciones de prioridad entre los mismos procesos, otras veces los sistemas estn restringidos
en su capacidad de procesamiento o de prueba con lo cual se presentan situaciones de capacidades limitadas y en otros escenarios an ms complejos se
puede presentar situaciones donde las materias primas, productos a probar,
etc. arriban a las lneas de proceso de forma aleatoria. Todos estos planteamientos se suman al tradicional enfoque de procesos en secuencia ordenada, donde
una accin es claramente identificada y su fin implica el inicio de una subsiguiente [7].
Las Redes de Petri se presentan como una poderosa herramienta capaz de
modelar de forma grfica y matemtica todos estos sistemas de diferentes naturalezas. Su representacin grfica permite una visualizacin clara de los sistemas, adems de facilitar su posterior descripcin mediante otras metodologas tales como: mquinas de estados, diagramas de flujo, grficos marcados,
diagramas de bloques, diagramas escalera, diagramas de descripcin secuen99
100
cial, etc. La representacin matemtica de las Redes de Petri se basa en un modelo matricial-vectorial que adems de describirlas permite su estudio, anlisis
y abstraccin de sistemas complejos.
Las Redes de Petri (RdP), tal como fueron introducidas inicialmente, no incluan el concepto de tiempo, por lo que luego surgieron las denominadas Redes
de Petri Temporizadas con el fin de poder analizar aquellos sistemas que dependen de esta variable. Como adems el tiempo tambin puede tomar valores
determinsticos o valores aleatorios se introdujo luego los modelos de Redes de
Petri Determinsticas y de Redes de Petri Estocsticas [2]. El objeto principal del
presente captulo es la presentacin de una introduccin general a las Redes de
Petri enfocadas hacia el estudio de los Sistemas de Eventos Discretos, los cuales
son procesos que pueden ser modelados de forma completa con base en una
concepcin donde los estados son discretos y donde el cambio de un estado a
otro es una respuesta a eventos que ocurren a intervalos discretos y adems sin
ninguna regularidad [5].
Entre ejemplos de sistemas de eventos discretos se tienen las colas, las cuales
representan a aquellos sistemas donde se tiene un recurso dado que ofrece un
servicio a ciertos clientes y donde se puede presentar la situacin de tener un
promedio de tiempo de atencin inferior al tiempo promedio de llegada de
nuevos clientes, ocasionando con ello la acumulacin de estos ltimos en lo
que se denomina una cola. En los sistemas reales esta situacin est bien representada, por ejemplo, en los puntos de pago de almacenes de cadena, ventanillas de atencin a usuarios, etc. y en sistemas tales como lneas de fabricacin
que se interconectan y comparten recursos, servidores de comunicacin, sistemas de cmputo con uno o varios ncleos de procesamiento, control general
de trfico, etc.
101
102
t1
P1
t4
t3
t2
P2
P3
t5
P5
P6
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 dems arcos es de 1, caso en el cual de forma generalizada se omite poner textualmente el valor de este peso en cada uno de
los dems arcos. En esta red slo 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
dems. Si la transicin 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 transicin t2 ya que las dems no se encuentran sensibilizadas. Al disparar
t2 el nuevo marcado ahora es M2 = {1, 1, 0, 2, 0, 0}. Teniendo sensibilizada la
transicin 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 transicin 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 evolucin enunciadas
previamente y arrojan un nuevo marcado M4 = {0, 0, 0, 0, 1, 0}.
P1
t2
P2
103
t3
Nodo OR
Nodo de Seleccin
Nodo de Atribucin
Nodo AND
Nodo de Distribucin
Nodo de Conjuncin
104
P1
P2
t2
P3
t3
t1
105
posible disparar la transicin t3 con lo cual ahora las marcas estn en los lugares P2 y P5 (Figura 5.7-b), seguidamente slo est sensibilizada la transicin
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 transicin
sensibilizada y se alcanza un punto muerto.
P2
P1
t2
P4
P5
t1
P3
t3
P2
P1
t2
P2
P5 P1
P4
t1
t2
P5
P4
t1
P3
(a)
t3
P2
P1
t2
P5
P4
t1
P3
t3
(b)
P3
t3
(c)
106
Nivel 4: Se dice que una transicin es L4-Viva si es L1-Viva para todo marcado alcanzable desde M 0 . Se debe observar que si para una transicin se
cumple que es L4-Viva, esto implica que es L3-Viva, y si es L3-Viva implica que es L2-Viva y finalmente si es L2-Viva implica que es L1-Viva.
Lo anterior solo implica que si una transicin es de nivel mayor entonces
se cumple que es de nivel menor, ms no lo contrario.
P2
P1
t2
P4
t4
t1
P3
t3
P6
P5
t5
Figura 5.8: RdP Reversible
Las tres propiedades enunciadas hasta ahora (RdP Limitada, Viva y Reversible) son independientes entre s, lo cual implica que si una red cumple
una de ellas no necesariamente cumple alguna de las otras.
107
P2
P1
t2
P4
t4
P6
t1
P3
t3
P5
t5
t6
Figura 5.9: RdP No Persistente
P2
P1
t2
P4
t4
t1
P3
t3
P5
t5
Figura 5.10: RdP Conservativa
P6
108
109
P2
P2
t1
P1
t1
P3
(a)
P1
P3
(b)
110
P1
t1
P2
t2
P3
t3
t1
t2
P1
t3
P2
P3
P4
P2
P3
P1
t1
P4
111
P1
P2
t2
t1
t3
P3
t2
P1
P2
t1
P4
t3
112
t1
t2
P1
P2
t3
P3
P4
t4
t5
t1
P1
P2
t3
t2
P3
P4
t4
113
t1
P2
P1
t2
t3
P3
t1
t2
P2
P1
t3
P3
t4
114
t1
t2
P5
P1
t3
P2
t4
P4
P3
t5
t6
115
t1
P1
t2
P2
t3
P4
P3
t4
t5
t2
t1
P1
P2
t3
P3
t4
P5
P4
t5
t6
116
t2
t1
P1
P2
t3
P3
t5
t9
P5
t6
P7
P6
t4
P4
t8
t7
P8
t10
P10
P9
t11
t12
t1
P1
117
P2
P6
t3
P3
t4
P4
t5
P5
t6
P1
P2
t1
118
de atencin. La transicin t1 indica la llegada de un nuevo usuario, las transiciones t2 y t3 clasifican el usuario de acuerdo con el servicio que requiere, las
transiciones t4, t5 y t6 indican el inicio de atencin a un nuevo usuario de la fila
en la ventanilla correspondiente y finalmente las transiciones t7, t8 y t9 indican
el fin de atencin a un usuario. En este modelo se tiene presente la restriccin
de atencin a un solo usuario por vez en cada ventanilla, como es lo usual.
Cliente nuevo
t1
Servicio 1
P2
t2
P3 Fila
Servicio 2
Fila
Servicio 1
t5
t4
P4
Servicio 2
t3
P1
P5
P6
t6
P8
P7
t7
t8
Ventanilla 1
Ventanilla 2
P9
t9
Ventanilla 3
119
120
121
mediante reducciones y la cual conserve las propiedades de la primera y facilite el anlisis. El ltimo mtodo permite determinar las propiedades de una
red independizando el marcado inicial de la estructura, por lo que facilita el
estudio de una red para varios marcados iniciales.
122
se observa en la Figura 5.34. Desde el nodo M2 se puede determinar que slo se encuentra sensibilizada la transicin t3 con lo cual se llega al marcado
M4 = {0, 0, 0, 1, 1, 0}. Retomando el nodo M3 se encuentra que slo est sensibilizada la transicin t2 llevando al mismo marcado M4 = {0, 0, 0, 1, 1, 0}
obtenido en el paso anterior y conformando lo que se denomina como nodo
duplicado. En este instante slo es posible disparar t4 lo cual entrega el marcado M5 = {0, 0, 0, 0, 0, 2}, posteriormente solo es posible disparar t5 lo cual
conduce al marcado M6 = {1, 0, 0, 0, 0, 1}. Finalmente, solo es posible disparar nuevamente t5 con lo cual se obtiene el mismo marcado inicial, o sea
otro nodo duplicado.
M0
[2 0 0 0 0 0]
t1
[2 0 0 0 0 0]
t2
M2
t2
[2 0 0 0 0 0]
t4
t5
M1
M3
[2 0 0 0 0 0]
[2 0 0 0 0 0]
t3
t3
[2 0 0 0 0 0]
t5
[2 0 0 0 0 0]
M4
M5
M6
t1
P3
t3
P7
P1 P2
t2
t5
P6
P4 P5
t4
123
disparar la transicin t2, pero este marcado contiene a su vez al marcado inicial
ya que cumple la relacin M10 (pi ) M0 (pi ) y por lo que finalmente queda como 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 transicin.
M0
t2
t2
M10
[1 0 w 1 0 1 0]
M11
t1
M13
t5
[0 1 w 1 0 1 0]
M12
t4
M1 t1
[0 1 1 1 0 1 0]
M5
t3
[0 1 0 0 1 1 0]
t5
t5
t3
t4
M7
t2
M6 t4
t3
t1 t2 M8
t1
t2
[1 0 w 0 1 1 0]
[0 0 w 1 0 0 1]
[1 0 0 1 0 1 0]
t3
[1 0 0 0 1 1 0]
[0 1 w 0 1 1 0]
t4
M9
t5
M2
[0 0 1 1 0 0 1]
[0 1 0 1 0 1 0]
t4
M3
t3
M4
t4
[0 0 0 0 1 0 1]
t5
[0 0 0 1 0 0 1]
Nodo Terminal
[0 0 w 0 1 0 1]
124
En el rbol de cobertura de una red de Petri no limitada no es posible determinar su alcanzabilidad o vivacidad, debido a la informacin perdida al introducir el smbolo . Adems 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 especial de rbol de Alcanzabilidad, ya que contiene todos los posibles marcados
alcanzables. Adems, en este caso, todas las propiedades vistas para una red
de Petri pueden ser discutidas mediante el rbol de alcanzabilidad.
Todo rbol de cobertura de una red de Petri P N = {N, M 0 }, puede ser representado mediante un Grfico de Cobertura G = {V, E}, donde V es el conjunto
de todos los nodos diferentes en el rbol de cobertura y E es el conjunto de todas las ramas que representan el disparo de una nica transicin que lleva de
un nodo a otro. En particular, el grfico de cobertura de un rbol de alcanzabilidad se denomina como Grfico de Alcanzabilidad y puede ser interpretado como
un diagrama de estados en el mismo sentido discutido en la Seccin 3.4.2.
En la Figura 5.37 se muestra el grfico de cobertura, o grfico de alcanzabilidad en este caso, para el rbol de cobertura de la Figura 5.34.
M0
t1
M1
t2
M2
t3
M4
t4
M5
t5
M6
M3
t3
t2
t5
125
P3
t3
t2
t1
t5
t3
t11
t6
t8 P5
P2
t4
P1 t7 P4
t11
?
t2
t10
t9
Macrolugar
t10
t1
126
1. La subred es potencialmente reducible.
2. Para todo lugar dentro de la subred mnimo 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.
En el ejemplo de la Figura 5.38, al examinar las tres condiciones anteriores se
encuentra que la primera condicin se cumple, ya que todos los arcos tienen
como peso la unidad y todas las transiciones poseen un nico lugar de entrada
y un nico lugar de salida. La segunda condicin tambin se cumple, al existir
un camino que une un lugar ascendiente a cada uno de los lugares de la subred.
La tercera condicin no se cumple, ya que no existe un camino que una a P4 con
P3. De lo anterior se establece que esta subred no es reducible a un macrolugar.
Si un macrolugar puede reemplazar a una subred, entonces debe poseer
tantas marcas iniciales como la suma de las marcas iniciales que poseen los
lugares de la subred, adems debe tener como transiciones de entrada todas
las conectadas previamente a los lugares ascendientes y como transiciones de
salida todas las conectadas previamente a los lugares descendientes. En la red
resultante no aparecen, se eliminan, todas las transiciones y lugares de la subred. La Figura 5.39 es un ejemplo de una subred reducible a un macrolugar.
P3
t3
Macrolugar
t5
t1
t6
P2
t1
t2
t4
t6
P1
Figura 5.39: Subred de Petri a Macrolugar
127
= [c
de entrada pi y se define como c
ij = (pi , tj ). De lo anterior C
ij ] con
dimensiones m x n.
En general, la matriz de incidencia posterior representa el peso de los arcos de salida de cada una de las transiciones de la red, mientras la matriz de
incidencia previa representa el peso de los arcos de entrada a cada una de las
transiciones. A continuacin, en la Figura 5.40, se muestra a manera de ejemplo las matrices de incidencia previa e incidencia posterior para la red de la
Figura 5.10.
0 0 0 0 1
1 0 0 0 0
1 0 0 0 0
C+
0 1 0 0 0
0 0 1 0 0
0 0 0 2 0
Matriz de Incidencia Posterior
2 0 0 0 0
0 1 0 0 0
0 0 1 0 0
C
0 0 0 1 0
0 0 0 1 0
0 0 0 0 1
Matriz de Incidencia Previa
tj =
pi P (pi , tj ) > 0
128
2. Lugares de salida de una transicin t j , denotado como tj : es el subconjunto de lugares que pertenecen a una red de Petri conformado por los lugares donde la funcin de incidencia posterior para la transicin es mayor
que cero.
pi P (tj , pi ) > 0
tj =
3. Transiciones de entrada de un lugar p i , denotado como pi : es el subconjunto de transiciones que pertenecen a una red de Petri conformado por
las transiciones donde su funcin de incidencia posterior para el lugar es
mayor que cero.
pi =
tj T (tj , pi ) > 0
4. Transiciones de salida de un lugar pi , denotado como pi : es el subconjunto de transiciones que pertenecen a una red de Petri conformado por
las transiciones donde su funcin de incidencia previa para el lugar es
mayor que cero.
pi =
tj T = tj = 1) > 0
Para la Figura 5.10, algunos de los subconjuntos que se pueden definir son:
t ={P1}
1
t1 ={P2, P3}
t ={P4, P5}
4
t1 ={P6}
5 ={t3}
p5 ={t4}
129
C=
C+
0
1
1
0
0
0
2
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
0
0
1
0
1
0
0
0
0
0
0
0
2
0
0
1
0
1
0
1
0
0
0
0
0
0
0
0
1
1
2
2
0
0
0
0
0
1
0
0
0
0
1
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
Para el caso de una red pura, la matriz C contiene toda la informacin necesaria para reconstruir completamente la red; esto sucede al indicar claramente
el tipo de incidencia que relaciona a cada lugar con cada transicin ya que
las matrices de incidencia previa y posterior no comparten elementos en las
mismas posiciones. Esta gran ventaja de C tambin muestra claramente el impedimento para su aplicacin en una red no pura, como se puede observar en
la Figura 5.41, donde el lugar P3 es simultneamente de entrada y de salida
para la transicin t1.
P1
t1
P3
P2
t2
130
1
0
0
C+
0
= 1
1
1
= 0
1
0
1
0
De las dos matrices anteriores, se puede observar como comparten un elemento en una misma posicin, debido a la presencia del auto-lazo. El hecho
de compartir un elemento en alguna posicin implica que al realizar la resta
C+ C , de la cual se obtiene la matriz de incidencia, se pierde informacin
que impide su reconstruccin.
Una forma fcil de solventar la restriccin para uso de la matriz de incidencia en las redes no puras es la adicin de un lugar y una transicin adicionales
que eliminen el auto-lazo, tal como se muestra en la Figura 5.42, donde gracias
a la adicin de P4 y t3 se elimina el auto-lazo y se permite el uso de C para la
red de la Figura 5.41.
P1
P4
t1
t3
P2
P3
t2
131
M1T
2
0
0
0
0
0
2
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
1
1
0
0
0
2
0
0
0
0
0
2
0
1
1
0
0
0
0
1
=
1
0
0
M2T =
0
0
1
1
0
0
2
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
0
0
1
1
0
0
0
1
1
0
0
0
0
1
1
0
2
0
0
0
0
0
2
En estas ecuaciones se puede observar que el vector no es cualquier vector, fuera de tener componentes no negativas debe ser aplicable a partir del
marcado inicial. Esto tiene fundamento en la nocin intuitiva de no poder existir un marcado con componentes negativas [11].
Para la determinacin de las propiedades de una red de Petri mediante el
uso del anlisis por representacin estructural se debe presentar su aplicacin
individual a cada una de ellas, lo cual se realiza a continuacin. En general se
asume que las redes bajo estudio son de tipo puras, pero ya se ha visto una
metodologa simple de eliminacin del auto-lazo.
5.11.3.5. Determinacin de la Reversibilidad
Una red de Petri, P N = {N, M 0 }, es reversible si y slo si existe un vector
anulador derecho, , con todos sus elementos positivos para la matriz de incidencia de la red [11]. Como esta definicin establece que C = 0, el sistema
lineal de ecuaciones resultantes con coeficientes enteros se puede escribir de
132
forma rpida 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:
C =
2
1
1
0
0
0
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
21 + 5
1 2
1 3
2 4
3 4
24 5
1
2
3
4
5
=0
=
=
=
=
=
=
0
0
0
0
0
0
C =
2
1
1
0
0
0
21 + 2 + 3
2 + 4
3 + 5
4 5 + 26
1 6
0
1
0
1
0
0
0
0
1
0
1
0
0
0
0
1
1
2
1
0
0
0
0
1
=0
=0
=0
=0
=0
=0
133
134
t1
P1
P3
P2
t3
t5
t2
P5
P6
P4
t4
Sifn
Trampa
135
136
..
I 0 .C0
+1
..
0
I 0 .C0 =
+1
+1
+1
+1
+1
..
.
..
.
..
.
..
.
..
.
..
.
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
+1
137
..
.
..
.
..
.
..
.
..
.
..
.
..
.
.
..
+1
+1
+1
+1
+1
+1
+1
+1
Luego se eliminan las filas para las cuales la columna uno de C0 son no
nulas, lo cual es ahora C1 :
0
..
I 1 .C1 =
0
+1
+1
+1
+1
+1
+1
+1
..
.
.
..
..
.
..
.
.
..
+1
+1
+1
+1
+1
..
0
I 2 .C2 =
+1
+1
+1
+1
+1
+1
+1
..
.
..
.
..
.
..
.
+1
+1
.
I 3 ..C3
=
+1
+1
+1
+1
+1
+1
+1
.
..
..
.
..
.
+1
+1
+1
+1
+1
138
.
I .C
4. 4
+1
=
+1
+1
+1
+1
+1
+1
+1
..
.
..
.
Los resultados anteriores estn claramente normalizados, por los que los
soportes para los P-invariantes obtenidos son entonces:
1 =
2 =
C1
t1
t1
C2:=C2+1
C1:=C1-1
P2=C2
n
m
P1=C1
C1 > n
t1
t1
C2:=C2+m
C1:=C1-n
P2=C2
P1=C1 P2=C2
t1
C1
C2
t1
C3:=C3+1
C1:=C1-1
P3=C3
Figura 5.47: Arco Inhibidor a Lgica Cableada
140
P1=C1
P2=C2
C1
C2
t1
C3:=C3+1
C4:=C4+1
t1
C1:=C1-1
P3=C3
C2:=C2-1
P4=C4
P1=C1
t1
t2
P2=C2
P3=C3
C1
t1
C1
t2
C2:=C2+1
C1:=C1-1
C3:=C3+1
C1:=C1-1
t2
t1
C1
t1
t2
C2:=C2+1
C1:=C1-1
C3:=C3+1
C1:=C1-1
t1
P1=C1
Ton=T
C1
C1 Ton
t2
Ton=T(s)
t2
C2:=C2+1
C1:=C1-1
P2=C2
t1
P1=C1
A(Accin)
C1
A(Accin)
t2
Figura 5.52: Accin a Lgica Cableada
142
C2 C3 C4 C5 C6
C1
t1
t1
P3
P2
t3
t2
P5
P4
t4
C2:=C2+1
C3:=C3+1
P1
t5
C1:=C1+1
C2
t2
C3
t3
C4 C5 t4
C1:=C1-1
C4:=C4+1
C2:=C2-1
C5:=C5+1
C3:=C3-1
C6:=C6+1
C4:=C4-1
P6
C6
t5
C5:=C5-1
C1:=C1+1
C6:=C6-1
143
t1
P1
P1
t1
P2
P3
P2
t2
t2
t3
P3 P4
P4
(a)
(b)
P1
P1
t1
t2
P2
P3
t4
t3
t5
t3
P4
t6
P2
P5
t1
t4
t2
t5
P6
P3
P4
t3
(c)
(d)
144
t9
P1
P2
t1
t2
P3
P4
P11
t3
t10
P6
P5
t6
P8
t4
P7
t8
P10
P9
t5
P12
t11
P13
t7
t12
Bibliografa
[1] A. H. Jones, M. Uzam, A. H. Khan, D. Karimzadgan, S. B. Kenway
A General Methodology for Converting Petri Nets Into Ladder Logic:
The TPLL Methodology
Procediendo de la 5ta Conferencia Internacional CIMAT
Francia, 1996, pp 357-362.
[2] Bobbio Andrea
System Modelling with Petri Nets
Procediendo de A.G. Colombo and A. Saiz Bustamante (eds),
System Reliability Assessment, Kluwer p.c., pp 102-143. 1990.
[3] Brusey James
PetriLLD Tutorial
Segunda Edicin. 2005, 2006.
[4] Frantisek Capkovi
Modelling and Control of Discrete Event Dynamic Systems
BRICS Report Series, 2000. ISSN 0909-0878.
[5] Garca Moreno Emilio
Automatizacin de Procesos Industriales
Alfaomega, 2001. ISBN 970-15-0658-8.
[6] Girault Claude, Valk Rdiger
Petri Nets for Systems Engineering
A Guide to Modeling, Verification, and Applications
Springer-Verlag, 2003. ISBN: 3-540-41217-4.
[7] Haas Peter J
Stochastic Petri Nets: Modelling, Stability, Simulation
Springer-Verlag, 2002. ISBN 0-387-95445-7.
[8] K. Venkatesh, M. Zhou, R. J. Caudill
Comparing Ladder Logic Diagrams and Petri Nets For Sequence
Controller Design Through a Discrete Manufacturing System
Procediendo de la IEEE, Transactions on Industrial Electronics,
Vol. 41, No 6, pp 611 a 619. Diciembre de 1994.
145
BIBLIOGRAFA
146
[9]
Captulo 6
150
151
cdigo relacionado con cada proceso pueden ser diferentes, as unas partes
del cdigo deben ser evaluadas con mayor periodicidad en relacin con otras.
Estas demandas son bastantes difciles de cumplir mediante la mayora de los
sistemas tradicionales encontrados. Es ms, cuando el sistema requiere de controles basados en tcnicas PID el problema se multiplica, ya que para garantizar
un buen control, es necesario mantener la velocidad de muestreo entre actualizaciones de los algoritmos de control en estado estable y con una duracin
definida. Adems, cuando se hace necesaria la introduccin de anlisis ms
complejos se requerir de la presencia de operaciones aritmticas, las cuales
son bastante complicadas en su implementacin mediante el uso exclusivo de
programacin escalera.
Todas las problemticas expuestas son justificaciones ms que vlidas como
motivacin para la bsqueda y posterior introduccin del Estndar IEC 611313 [2, 1, 8, 9].
152
Descripcin
Programa
PROGRAM
Bloque de Funcin
FUNCTION_BLOCK
de programas desde unidades menores. Puede contener funciones y otros bloques de funciones. Posee un algoritmo que
corre una vez con cada ejecucin del bloque de funcin. Permite definir datos como conjunto de parmetros de entrada
y salida que se pueden conectar a otros bloques o a variables
internas. Las variables definidas pueden ser estticas, lo cual
implica que sus valores se pueden retener entre ejecuciones.
Funcin
FUNCTION
Elemento de software que al ser invocado con un mismo conjunto de valores de entrada siempre retorna el mismo valor de
salida, es decir, no posee variables estticas y solo produce un
nico resultado primario.
153
variable global puede ser declarada en un programa y por tanto ser accedida desde todos los elementos de software dentro del mismo, igualmente si sta es definida en un recurso o en una configuracin podr ser
accedida por todos los elementos constitutivos de los mismos.
Variables de Representacin Directa: Permiten el acceso directo a posiciones
de memoria del PLC. Slo pueden ser declaradas y accedidas dentro de
los programas. Su uso extensivo dificulta la reutilizacin de los programas que las definen, dado que al indicar posiciones determinadas de
memoria stas pueden variar de un programa a otro.
Ruta de Acceso: Es una declaracin especial de variable que puede ser leda
o escrita por otras configuraciones remotas diferentes a la que la declara.
Es de resaltar que el estndar no define los protocolos de comunicaciones
a emplear.
A continuacin, en la Tabla 6.2, se resumen los diferentes tipos de variables
disponibles y el Constructor 1 respectivo de cada una de ellas.
Tipo de Variable
Variable Local
Constructor
VAR
Descripcin
Slo es visible y procesable dentro de
la POU que la define. Puede ser leda o
escrita.
Variable de Entrada
VAR_INPUT
Variable de Salida
VAR_OUTPUT
Variable de Entrada
y Salida
VAR_IN_OUT
Variable Externa
VAR_EXTERNAL
Variable Global
VAR_GLOBAL
Variable Ruta de
VAR_ACCESS
Acceso
154
CONFIGURACIN
RECURSO
RECURSO
Tarea
Programa
Tarea
Programa
Tarea
Programa
Bloque
de
Funcin
(FB)
Funcin
(FUN)
RECURSO
Tarea
Tarea
Programa
Programa
VAR
LOCAL
FB
FUN
RUTAS DE ACCESO
155
FUNCTION_BLOCK
VAR_INPUT
VAR_OUTPUT
VAR
ArranqueMotor
Iniciar
FIN
Velocid
PasoYD
:BOOL; END_VAR
:BOOL;
:BYTE; END_VAR
:BOOL; END_VAR
ArranqueMotor
Fin
Parte de declaraciones
Iniciar
Algoritmo
Velocid
ALGORITMO
Parte de cdigo
156
LD
AND
ST
LD
AND
CajaFuerte
Laboral
Indicador
CajaFuerte
NOT(Laboral)
ST
Alarma
CajaFuerte
&
1
Laboral
Indicador
&
Alarma
CajaFuerte
CajaFuerte
Laboral
<Indicador
Laboral
<Alarma
0
CajaFuerte
1
Laboral
2
Indicador
Cancelar
Laboral
3
Alarma
Cancelar
157
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 dgito y el resto de la cadena se puede componer de letras, dgitos o
lneas de subrayado, sin embargo se prohbe el uso de dos lneas de subrayado
seguidas. Se debe prestar atencin al hecho que los identificadores no son sensibles a maysculas, por tanto dos variables llamadas por ejemplo Activo y
ACTIVO son tratadas como la misma variable; adems el estndar slo exige
la verificacin de los primeros 6 caracteres de un identificador para determinar
su unicidad, por lo que dos variables llamadas por ejemplo Activo_1 y Activo_2 podran ser las mismas dependiendo del sistema empleado.
158
Letra
Palabras Reservadas
C
D
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
GE, GT
L, LD, LDN, LE, LEFT, LEN, LIMIT, LINT, LN, LOG, LREAL, LT, LWORD
Q, Q1, QU, QD
R, R1, R_TRIG, READ_ONLY, READ_WRITE, REAL, RELEASE, REPEAT, REPLACE, RESOURCE, RET, RETAIN, RETC, RETCN, RETURN, RIGHT, ROL, ROR,
RS, RTC, R_EDGE
S, S1, SD, SEL, SEMA, SHL, SHR, SIN, SINGLE, SINT, SL, SQRT, SR, ST, STEP, STN,
TAN, TASK, THEN, TIME, TIME_OF_DAY, TO, TOD, TOF, TON, TP, TRANSITION,
TRUE, TYPE
VAR_OUTPUT
W
XOR, XORN
159
6.3.4. Comentarios
La gran mayora de los lenguajes de programacin, tanto modernos como
tradicionales, han permitido la insercin 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 procedimientos.
Todos los lenguajes IEC 61131-3 permiten la insercin de comentarios, aunque el Listado de Instrucciones tiene algunas restricciones. Un comentario se
inicia con los caracteres (* y se termina con *), se puede colocar en cualquier
ubicacin que permita la insercin de al menos un espacio en blanco, aunque
se debe tener en cuenta que los comentarios anidados no se permiten. A continuacin se muestra un ejemplo de comentario:
(*****************************************)
(*****************************************)
(*********Arranque Motor Trifsico********)
(*****************************************)
(*****************************************)
(*Arranque Y-Delta por Transicin Abierta*)
(*****************************************)
(*****************************************)
6.3.5. Delimitadores
Son smbolos especiales requeridos para la sintaxis de un lenguaje, los cuales pueden variar su significado dependiendo de su forma de uso. Por ejemplo,
el smbolo ( seguido de un asterisco denota el inicio de un comentario, pero
si se usa solo denota el listado de parmetros de una funcin que se invoca;
otro ejemplo de smbolo con mltiples usos, y por ende significados, es el -,
el cual se puede usar como el operador de sustraccin, pero tambin se puede
emplear como un operador de negacin de expresiones.
Algunos de los delimitadores ms empleados son los siguientes, tenindose
en cuenta que sus modos de uso y significados se podrn inferir para la gran
mayora de forma natural: +, - , #, E, ;, :=, ,(coma), (...), [...], ;, %, =>, <, >, >=,
<=, =, <>, *, **, /, &. El espacio en blanco se considera igualmente como un
delimitador.
160
Debido al amplio rango de operacin de los PLCs hoy en da, se hace necesario que estos soporten una gran variedad de tipos y formatos de datos, entre
los cuales se encuentran los Enteros, Reales, Tiempo, Fecha y Tiempo, Cadenas y Booleanos los cuales se constituyen como los tipos elementales de datos
disponibles.
Cuando se habla de tipos de datos siempre se hace una relacin con aquellos datos especiales que representan valores fijos para un tipo de dato dado,
normalmente denominados como constantes, a los cuales el estndar los llama
Literales.
Los literales en algunas ocasiones pueden presentar problemas de ambigedad en el valor que se desea representen en relacin con el tipo de dato
empleado, por ejemplo si se desea indicar que el nmero 547 est en base 8
y no en base 10 se hace necesario introducir un delimitador para definir con
claridad el tipo de dato, en el caso particular del ejemplo podra ser 8#547, o
este mismo nmero en base 2 podra ser ingresado como 2#101_100_111 donde
el caracter _ es permitido por el estndar para fines de claridad sin introducir
significado alguno.
En la Tabla 6.4, se muestra un listado completo de los tipos elementales de
datos disponibles en el estndar y ejemplos de literales para cada uno de ellos,
adems se puede observar el empleo de varios delimitadores.
Es importante destacar de la Tabla 6.4 como el tamao requerido para los
tipos de datos Duracin, Fecha y Tiempo y de las Cadenas depende de la implementacin realizada, adems para el tipo de dato Cadena existe un conjunto
de caracteres reservados que se pueden emplear al post ponerlos al indicador
de caracteres no imprimibles, $, y con los cuales se puede relacionar acciones
de control sobre las cadenas a imprimir. Por ejemplo, $L indica un caracter de
alimentacin de lnea, $N caracter de nueva lnea, $P caracter de nueva pgina, $R caracter de retorno de carro y $T caracter de tabulacin. Estos caracteres
de control se pueden escribir en maysculas o minsculas y tambin se puede
usar su valor hexadecimal en dos dgitos.
Un caso especial se presenta cuando se desea imprimir el caracter de comilla simple, el cual a su vez se emplea para iniciar y terminar un literal de
cadena (ver ejemplo de literales para cadenas en la Tabla 6.4), en este caso se
usa $ para indicar su impresin como en el caso de la siguiente cadena: Aviso
de $Alarma$ lo cual dar como resultado visible al usuario: Aviso de Alarma.
Descripcin
Entero corto
Entero
Entero doble
Entero largo
Entero corto sin signo
Entero sin signo
Entero doble sin signo
Bits
Rango o Uso
8
16
32
64
8
16
32
-128 a +127
-32768 a +32767
-231 a +231 -1
-263 a +263 -1
0 a 255
0 a +216 -1
0 a +232 -1
64
0 a +264 -1
2AF en base 16
USINT#135
Real
Real largo
32
64
+2_145.021
+2,145.021
REAL#+2.4E-03
1038
10308
Duracin de tiempo
Segn
T#63h12m10s
TIME#3.5m_10ms
1 h, 15 min y 10 s
3 min, 30 s y 10 ms
Tiempo enlasado
Segn
Segn
Fechas
Horas reloj
Fecha y hora da
Segn
date#2007-10-31
TOD#15:30:30
31 de octubre de 2007
3 pm, 30 min y 30 seg
DT#2005-07-12-17:46:12
12 de Julio de 2005 y
5pm, 46 min y 12 seg
Cadenas (Strings)
STRING
Ejemplos de Literales
Cadenas de caracteres
Segn
Inicio de Arranque
Fin de Arranque $r
Mensaje de inicio
Mensaje con caracter de
Guarda texto
retorno de carro
Cadenas de Bits
(Bit String)
BOOL
BYTE
WORD
DWORD
LWORD
Ejemplos de Literales
Estados lgicos
8 bits de datos
16 bits de datos
32 bits de datos
Cadena de un bit
Cadena de 8 bits
Cadena de 16 bits
Cadena de 32 bits
1
8
16
32
Cadena de 64 bits
BYTE#1111_0000
16#DC1A
64
64 bits de datos
11110000
Asignacin a WORD
FALSE
Asignacin 0 a BOOL
161
162
163
164
TYPE
Rpm
MotMaq
MotLin
Trabajo
Archivo
STRUCT
Nombre
Estado
Motores
:INT(0..10000);
:ARRAY[1..20]OF Rpm;
:ARRAY[1..10]OF MotMaq;
:(Paro, Mant, Prod);
:
(*Propiedad
(*Propiedad
(*Propiedad
(*Propiedad
(*Nombre de
de rango*)
arreglo*)
arreglo*)
enumeracin*)
la estructura*)
:STRING;
:Trabajo:=Paro;
:MotLin;
END_STRUCT;
END_TYPE
165
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 definicin 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 mismo tipo de dato, stas se pueden definir como una lista separada mediante
el delimitador coma (,). Adems las variables poseen propiedades que tambin pueden ser definidas dentro de su declaracin, entre las cuales estn: las
propiedades de los tipos de datos declarados ya sean elementales o derivados,
declaracin de valores iniciales, declaracin de lmites adicionales a arreglos y
declaracin de atributos.
En las secciones siguientes se ver los tipos especficos de variables disponibles con su aplicacin y los atributos que se pueden definir para cada una de
ellas.
6.3.7.1. Tipos de Variables
Variables Internas: Es el listado de variables que se usan dentro de la POU y
que se comportan de forma anloga a las variables locales de los lenguajes tradicionales de programacin, es decir, ellas slo pueden ser accedidas dentro de la POU que las define. Su declaracin inicia con la palabra reservada VAR y termina con END_VAR y se puede realizar en
cualquiera de los tres tipos de POU ya descritos.
Variables de Entrada: Es el listado de variables que se comportan como parmetros de entrada para una POU y los cuales son suministrados por
fuentes externas de datos. Esta clase de variable puede ser definida en
todo tipo de POU y su declaracin debe iniciar con la palabra reservada
VAR_INPUT y terminar con END_VAR.
166
Variables de Salida: Es el listado de variables que se comportan como parmetros de salida de una POU y son consecuentemente escritas hacia variables externas. Esta clase de variable se puede definir slo en los programas o bloques de funciones ms no en las funciones. Su declaracin
inicia con la palabra reservada VAR_OUTPUT y termina con END_VAR.
Variables de Entrada/Salida: Es el listado de variables que actan simultneamente como parmetros de entrada y salida a una POU y los cuales se
pueden modificar a su interior, aunque estas variables son guardadas
como externas a la POU que las define. Su acceso externo es igual al
definido para las variables de salida. Un ejemplo de uso de este tipo de
variables es cuando un mismo bloque funcional puede realizar varias tareas, ste sera el caso de un bloque de funcin capaz de realizar las tareas de Arranque, Operacin y Paro de un motor AC trifsico. Declarando una variable de entrada/salida MODO, al inicio de la ejecucin una
variable externa escribir en MODO la tarea Arranque, pero una vez este
bloque de funcin realice dicha labor escribir en MODO el valor Operacin indicando el estado actual del motor y el cual se puede emplear
como validacin para el inicio de otras tareas. La declaracin de este tipo
de variable inicia con la palabra reservada VAR_IN_OUT y termina con
END_VAR, aunque dicha declaracin no se puede realizar en las POUs
de tipo funcin.
Variables Globales: Las variables globales se pueden declarar a nivel de configuracin, recurso o programa y pueden ser accedidas por cualquier
POU existente dentro de ellos. Su funcin es permitir el acceso a valores
de variables desde el interior de los programas y bloques de funciones.
Su declaracin inicia con la palabra reservada VAR_GLOBAL y termina
con END_VAR.
Variables Externas: Son declaradas dentro de las POUs y su funcin es permitir el acceso a variables globales definidas a nivel de configuracin, recursos o programa. Su declaracin inicia con la palabra reservada VAR_EXTERNAL y termina con END_VAR.
Variables Temporales: Son variables definidas por el estndar como variables
declaradas dentro de una POU que son ubicadas en un rea temporal
de memoria y las cuales son liberadas una vez la POU indique su fin
de ejecucin. Su declaracin se realiza mediante la palabra reservada
VAR_TEMP y termina con END_VAR.
Variables de Representacin Directa: Este tipo de variable es empleada para
hacer referencia directa a posiciones de memoria en un PLC sin necesidad de emplear un identificador. Su uso puede limitar la reutilizacin
de cdigo cuando se emplean en programas o bloques de funciones. La
sintaxis de una variable de representacin directa tiene la forma de la
siguiente cadena: %AB#. En la anterior cadena % es el caracter de inicio,
167
A representan la regin de memoria del PLC a la cual pertenece la variable y que puede ser memoria de entrada (I), memoria de salida (Q) y
memoria interna (M); B representa el tipo de memoria la cual puede ser
Bit (X), Byte (B), Word (W) Doble Word (D) y Long Word (L); finalmente
# es una direccin numrica en formato multi-dgito jerrquico donde la
parte ms significativa se encuentra a la izquierda y su significado depende de cada fabricante. La variable de representacin directa %QX2.3
es la variable de salida tipo bit para la palabra 2 bandera 3. Cuando, como en el ejemplo anterior, el tipo de memoria es Bit (X) se puede omitir
sta en la cadena de la variable de representacin directa, con lo cual la
cadena anterior queda %Q2.3.
Las variables de representacin directa tambin pueden ser declaradas
empleando un identificador, caso en el cual se denominan Variables Simblicas. A continuacin se muestra un ejemplo de como realizar la declaracin de este tipo de variable:
AT %IB2: Byte;
168
VAR_INPUT
Inicio
END_VAR
VAR CONSTANT
Modo
END_VAR
VAR_OUTPUT
Salida1,
Salida2
END_VAR
:BOOL
R_EDGE;
:Bit:=2#1;
RETAIN
:BYTE;
Como se puede observar los atributos van luego de un delimitador de espacio en blanco inmediatamente a continuacin de la palabra reservada que hace
referencia a los elementos afectados. En el ejemplo anterior, para el caso de la
variable Inicio que es afectada por un atributo individual, ste se debe colocar
luego del tipo de dato, mientras que en el caso de las variables Modo, Salida1
y Salida2 ellas se afectan grupalmente por lo que el atributo se coloca luego del
tipo de variable.
169
170
6.3.8.1. Funciones
Son un elemento de software con una funcionalidad definida y que ante un
conjunto de parmetros particulares de entrada siempre entregan el mismo valor primario como respuesta. En forma general el tipo de dato de salida de una
funcin es del mismo tipo de dato de la entrada, aunque se pueden presentar
excepciones a esta regla como se ver ms adelante. Este tipo de POU se caracteriza por que ante un mismo valor en las entradas siempre se producir el mismo valor en la salida, este sera el caso por ejemplo de la funcin seno, SIN(),
la cual ante un mismo parmetro siempre retornar el mismo valor de salida.
Aunque lo anterior parece evidente para todo tipo de funcin, en ocasiones se
requiere que la respuesta vare de una ejecucin a otra as los parmetros de
entrada sigan siendo los mismos (como en el caso de una funcin de conteo, la
cual produce una salida en incremento o decremento en relacin al ltimo valor
producido), este tipo de comportamiento no se puede lograr con las Funciones
definidas por el estndar y para ello se requiere de los Bloques de Funciones los
cuales se vern en la seccin siguiente. En definitiva una funcin no puede
guardar valores dentro de variables internas.
El usuario puede crear nuevas funciones, adicionales a las estandarizadas,
para lo cual se debe iniciar la declaracin con la palabra reservada FUNCTION
y terminar con END_FUNCTION. El nombre dado a la funcin se debe colocar
a continuacin de la palabra de inicio separado por el delimitador espacio en
blanco y debe tener definido su tipo de dato. Ya que las funciones slo poseen
un nico valor de salida, el mismo nombre de la funcin acta como el acceso
a dicho dato.
La declaracin de una funcin en general contiene una lista de parmetros
de entrada y variables internas al final de la cual sigue el algoritmo que describe la funcionalidad deseada. Este algoritmo se puede describir en cualquiera
de los lenguajes del estndar menos en SFC. Los nicos tipos permitidos para
la declaracin de variables en las funciones son VAR y VAR_INPUT, aunque
una enmienda de la segunda edicin de la norma permiti que las entradas a
las funciones sean declaradas como de tipo VAR_IN_OUT lo cual implica que
las variables puedan ser ingresadas para modificacin dentro de la funcin.
La norma permite, ms no exige, que una misma funcin provea la sobrecarga de tipos de datos, esto es que una misma funcin se pueda emplear con la
misma funcionalidad pero sobre tipos de datos diferentes aunque relacionados.
Un ejemplo de una funcin de este tipo es la funcin raz cuadrada (SQRT), la
cual puede ser empleada con cualesquiera de los tipos de datos pertenecientes
a ANY_NUM, ya que la misma funcin se puede emplear independiente de si
el tipo de dato es por ejemplo REAL o LREAL y por ende la respuesta debe
ser en el mismo tipo de dato de la entrada. Si un fabricante decide no implementar la sobrecarga de las funciones, entonces el estndar especifica que debe
proveer una funcin por cada tipo de dato donde el nombre de la funcin debe
ser el nombre estndar de la misma seguida de un guin bajo y el tipo de dato
especfico de la funcin. De lo anterior, si por ejemplo un fabricante implementa la sobrecarga de funciones entonces la funcin raiz cuadrada slo se debe
171
:BOOL:=FALSE
(*Se inicia en
Falso*)
:LREAL;
(*Entradas tipo
LREAL*)
:LREAL;
(*Variable tipo
LREAL*)
EVALUAR := B* -(4*A*C);
IF EVALUAR >= 0 THEN
DISCR := TRUE;
END_IF;
END_FUNCTION
172
173
174
6.3.8.2. Bloques de Funciones
175
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
IF MODO = RESET THEN
CUENTA := 0;
ELSIF MODO = ASC THEN
CUENTA := CUENTA + 1;
ELSIF MODO = DES THEN
CUENTA := CUENTA - 1;
ELSIF MODO = RET THEN
CUENTA := CUENTA;
END_IF;
END_FUNCTION_BLOCK
176
177
178
TIME
TP
IN
PT
ET
BOOL
PT
PT
PT
TIME
ET
t
TIME
TON
IN
PT
ET
BOOL
PT
PT
PT
TIME
ET
t
179
TOF
IN
BOOL
PT
Q
TIME
PT
ET
PT
TIME
ET
t
DATE_AND_TIME
RTC
IN
PDT
CDT
BOOL
DATE_AND_TIME
180
181
En la Figura 6.20 se puede observar la forma de invocar una funcin dentro de un programa y como declarar la extensin mxima en caracteres
para variables de tipo cadena. Adems se informa la existencia de races
complejas mediante un mensaje adecuado.
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 lneas ya que el caracter de alimentacin de lnea 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 sentencias condicionales y crear estructuras de control de flujo.
182
indicando en este caso por ejemplo el significado de cada una de las variables
de la expresin a evaluar.
En general una expresin consiste de Operandos, los cuales se relacionan
mediante Operadores de tipos aritmticos o lgicos. 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 expresin, 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: agrupacin, matemticos y lgicos. Para poder evaluar una expresin que incluye
varios operadores se definen reglas de precedencia, o jerarqua, entre los mismos operadores; a continuacin se enumera cada uno de los operadores disponibles iniciando con el de mayor jerarqua y terminando con el de menor: ( ),
llamado a funcin, **, -(negacin), NOT, *, /, MOD, +, -(sustraccin), <, >, <=,
>=, =, <>, & (AND lgica), XOR, OR. Cuando una expresin contiene varios
operadores con el mismo nivel de jerarqua, entonces ellos son evaluados de
izquierda a derecha. Un ejemplo de asignacin de una expresin compuesta
por varios operandos y operadores se muestra a continuacin.
Forma 1
IF <expr1 bool>THEN
IF <expr2
bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSE
<sentencia 1>;
.
.
.
<sentencia n>;
END_IF;
ELSE
<sentencia 1>;
.
.
.
<sentencia n>;
END_IF;
183
IF <expr1 bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSIF <expr2
bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSE
<sentencia 1>;
.
.
.
<sentencia n>;
END_IF;
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, la
seccin del ELSE y adems el nmero de sentencias puede ser una sola. La
forma 2 es una implementacin anidada de la forma 1 y en ella se puede tener consideraciones individuales para cada IF de acuerdo a lo expresado para
la forma 1. La forma 3 permite la evaluacin continuada de consideraciones
y en ella puede haber ms de un ELSIF y puede o no existir el ELSE segn
conveniencia. Aunque la seccin del ELSE es opcional en cada una de las formas, se debe considerar su implementacin como parte de una buena tcnica
de implementacin al no dejar posibles situaciones sin evaluacin.
La sentencia CASE permite la evaluacin de un conjunto de sentencias dependiendo del valor entero tomado por una expresin, esta ltima siendo tan
compleja como se requiera. En la Figura 6.22 se muestra su forma general.
184
El valor entero de seleccin para sentencias puede ser dado en cuatro formas 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;
185
WHILE <expresin
booleana>DO
<Sentencias>;
.
.
.
<Sentencias>;
END_WHILE;
REPEAT
<Sentencias>;
.
.
.
<Sentencias>;
UNTIL <expresin
booleana>
END_REPEAT;
186
187
fue asignado. En resumen, un RETURN ocasiona que una POU sea interrumpida justo en el lugar de dicha sentencia y que la ejecucin prosiga exactamente
en el cdigo siguiente.
Etiqueta:
Operador/Funcin
Lista de Operandos
(*Comentarios*)
188
OR(
AND(
B
C
OR
)
)
STN
189
MUL
SUB(
w
x
ADD
)
ST
190
:BOOL:=FALSE
:L_REAL;
:L_REAL;
B
B
4
A
C
EVALUAR
0
SALIR
DISCR
RET
SALIR:
END_FUNCTION
191
nicamente un valor, este es asignado al acumulador, el cual se ajusta automticamente al tipo de dato involucrado. Por ejemplo, si se desea invocar la funcin
DISCR de la Figura 6.31, entonces su llamado se puede realizar en cualquiera
de las tres formas indicadas en la Figura 6.32.
DISCR(
A:=Var1
B:=Var2
C:=Var3
)
ST
Resultado
LD
Var1
DISCR(
B:=Var2
C:=Var3
)
ST
Resultado
Mtodo 1
LD
DISCR
Var3
ST
Mtodo 2
Var1
Var2,
Resultado
Mtodo 3
FB1(EN1:=Var1, EN2:=Var
FB1.SL1
Resultado1
FB1.SL2
Resultado2
Mtodo 1
LD
Entrada1
ST
FB1.EN1
LD
Entrada2
ST
FB1.EN2
CAL
FB1
LD
FB1.SL1
ST
Resultado1
LD
FB1.SL2
ST
Resultado2
LD
Entrada1
EN1
FB1
LD
Entrada2
EN2
FB1
LD
FB1.SL1
ST
Resultado1
LD
FB1.SL2
ST
Resultado2
Mtodo 2
Mtodo 3
192
cionamiento tiene fundamento en el flujo de las seales entre los diversos elementos que componen un circuito de procesamiento [8, 9].
ELEMENTO GRFICO
LINEAS
HORIZONTALES Y
VERTICALES
LINEAS
QUE SE
INTERCONECTAN
LINEAS
QUE NO SE
CONECTAN
FORMAS
DE LOS
BLOQUES
FORMA SEMI-GRFICA
|
|
| __ __ __ __ __ __ __ __
|
|
|
__ __ __ __
|
|
|
+ __ __ __ __
|
|
|
|
|
__ __ __ __
|
|
__|__
|
|
|
|
+ __ __ __ __
|
|
|
__ __ |
|
+ __ __ __ __
__ __
+
|
__ __
|
|
|__ __
|
+
__ __ __
CONECTORES
GRFICO COMPLETO
>CABLE1>
__ __ __
>CABLE1>
>CABLE1>
>CABLE1>
193
cond
RETURN
cond
194
OR
AND
tmp
B
tmp
OR
F
195
001 Red1:
C
OR
AND
tmp
B
tmp
OR
Red2
A
002 Red2:
0.05
MUL
AND
N2
196
197
198
199
/
1
Var1
Var2
Var3
FunAB1
FunAB
S1
E1
S2
Var2
200
201
Etapa inicial
P=1
Transicin, su
condicin se valida
cuando P=1
Etapa
P=0
Espera
Transicin, su
condicin se valida
cuando P=0
P=1
B
P=0
202
la red. La activacin de una etapa se indica en la mayora de los sistemas mediante la presencia de una marca circular, o token, dentro del rectngulo de la
etapa.
Asociado a cada identificador de etapa existen dos variables declaradas implcitamente. La primera de ellas es la Bandera de Etapa, que se puede acceder
mediante la notacin identificador.X, y es una variable de tipo BOOL que entrega el valor actual de activacin de la etapa asociada, as si la etapa se encuentra
activa entonces identificador.X tendr un valor de TRUE y de lo contrario valdr FALSE. Esta primera variable implcita es de mucha utilidad para el control
de flujo y la ejecucin de acciones en diferentes lugares de la red.
La segunda variable declarada de forma implcita es Tiempo Transcurrido de
Etapa, la cual se puede acceder mediante la notacin identificador.T, y es una
variable de tipo TIME que entrega el tiempo transcurrido desde la activacin
de la etapa. Si la etapa no ha sido activa ni una sola vez, el valor de esta variable
ser cero, pero si la etapa ya fue activa pero actualmente no lo est, entonces
el valor de la variable ser el tiempo transcurrido de la ltima vez que estuvo
activa. Si se desea que el valor de esta variable incluya el valor de iteraciones
anteriores, entonces se debe declarar explcitamente una instancia con el atributo RETAIN, de la misma forma como se explic en la Seccin 6.3.7.2 y tal
como aparece en la Figura 6.10.
203
Descripcin
Etapa1
V1 & V2
Etapa2
V1 V2
Etapa2
Etapa1
&
V2
Etapa1
V1
Etapa2
Representacin
Descripcin
Etapa1
Se emplea un conector con conexin directa a la
transicin. El conector hace el enlace hacia una red
Conector
Etapa2
grama SFC
204
emplear cualquiera de los otros cuatro lenguajes del estndar en los cuales se
describe programticamente, de acuerdo a la naturaleza de cada uno, la expresin booleana para el identificador de la transicin. En la Figura 6.44 se muestra
un ejemplo de cada uno de los casos posibles para esta forma de sintaxis.
Representacin
Etapa1
Descripcin
A la transicin se le asigna un identificador, o nombre, el cual puede ser definido usando cualquiera
Tran1
Etapa2
TRANSITION Tran1:
V1
V2
&
Tran1
END_TRANSITION
TRANSITION Tran1:
Tran1
V1 V2
END_TRANSITION
TRANSITION Tran1:
LD
V1
AND
V2
END_TRANSITION
TRANSITION Tran1
:= V1 & V2;
END_TRANSITION
6.8.2. Secuencias
Cualquier POU implementada en SFC puede poseer una o ms 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 transicin est
precedida de una o ms etapas, e igualmente es posible que luego de ella exista
una o ms etapas siguientes.
La interconectividad entre estos elementos (etapas, transiciones) se denomina secuencia, as si posterior a la activacin de una etapa es posible slo
205
Por Defecto
Etapa1
Etapa1
*
Tran1
Etapa2
Mutuamente Excluyente
Tran2
Etapa3
*
2
Tran1
Etapa2
Etapa1
1
Tran2
Etapa3
Tran1
Etapa2
Tran2
Etapa3
un nmero la prioridad de
transiciones de izquierda a
derecha. La primer transi-
cendente. Un asterisco y el
nmero asignado a cada ruta
en uso.
dad en uso.
206
Etapa1
Etapa2
Tran1
Tran2
Etapa n
Etapa1
Etapa1
Tran
Etapa2
Etapa3
Etapa2
Tran
Etapa n
207
Una Topologa Inalcanzable es aquella en la cual algn elemento (etapa o transicin) nunca podr ser evaluado. Esto sucede comnmente cuando se mezclan
secuencias divergentes con simultneas sin el debido cuidado.
La Figura 6.48 muestra un ejemplo de cada uno de estos dos tipos de redes
inseguras, topologas estas que se deben evitar.
Etapa1
Etapa1
T1
T1
Etapa2
T2
Etapa4
Etapa2
Etapa3
T3
Etapa5
T2
T4
Etapa6
T5
Etapa3
Etapa4
T3
Etapa5
T4
Etapa6
T5
T6
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 ejecucin de una accin, o un conjunto de acciones, que se asocia a dicha etapa con la finalidad de
implementar un comportamiento deseado. Estas instrucciones entonces son escritas 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.
Adems de implementar comportamientos externos del sistema, tambin se
pueden 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 generales
de un bloque de accin, donde la descripcin de las acciones se puede realizar
208
Tran1
Etapa2
Tran2
Nombre de
Accin
AccionEtapa2
Indicador
Booleano
Indicador
IF Presion THEN
Indicador := TRUE;
ELSE
Indicador := FALSE;
END_IF
Descripcin de la accin
209
Por ltimo, es de destacar que los bloques de acciones no son de uso restrictivo
del lenguaje SFC. Estos tambin pueden ser empleados dentro de redes FBD y
LD tal como se muestra en la Figura 6.50.
V1 V2
Salida
N Accin
I1
Bloque de Accin en LD
V1
V2
&
N Accin
I1
Salida
210
Calificador
N
Nombre
Descripcin
No Memorizada
No Memorizada
Igual a la anterior
Reset
Set
Limitada
Retarda
Impulsiva
SD
Memorizada y
Retardada
DS
Retardada y
Memorizada
SL
Memorizada y
Limitada
vacin de la etapa.
Igual a la anterior, pero en este caso si se produce la
desactivacin de la etapa antes de terminar el retardo no se realiza la memorizacin
T1
E1
N AccinE1
T2
AccinE1
T2
211
T1
E1
S Accin
T2
T2
Tn-1
En
E1.X
Accin
R Accin
Tn-1
Tn
T1
E1
LT#2s Accin
Accin
T2
T2
2s
2s
T1
E1
DT#2s Accin
T2
Accin
T2
2s
2s
212
El calificador P ejecuta la accin una nica vez con la activacin de la etapa asociada. A este calificador tambin se le denomina como impulsivo. En la
Figura 6.55 se muestra su comportamiento.
E1.X
T1
E1
P Accin
T2
Accin
T2
T1
E1
SD T#2s Accin
T2
T2
Accin
Tn-1
En
R
Tn
E1.X
Accin
Tn-1
2s
2s
213
T1
E1
DS T#2s Accin
E1.X
T2
T2
Accin
Tn-1
En
Accin
Tn-1
2s
Tn
2s
LS T#2s Accin
T2
T2
Accin
Tn-1
En
E1.X
Accin
Tn-1
2s
Tn
2s
214
R
&
S
E1.X
Ei.X
L
D
P
En.X
SD
DS
SL
Control de Accin
215
En.X
Etapa y
Transicin
Previas
&
Etapa
Siguiente
En
Ti
En-1
En.X
&
Ti+1
En+1.X
&
En
1
En+1
1
En+2
216
T1
E1
Condicin Booleana
C
AccinEtapaE1
T2
217
Otro concepto importante no definido dentro del estndar es el de MacroEtapa. Una macro-etapa es una representacin grfica que permite agrupar como una sola unidad una porcin de la red SFC, facilitando de esta forma la
legibilidad, mantenibilidad y reutilizacin de porciones de cdigo. La interfaz
de conexin entre la macro-etapa y el resto de la red SFC se realiza mediante
una etapa de entrada E y una etapa de salida S, ver Figura 6.62, las cuales enmarcan a las etapas y transiciones que se desea agrupar. Estas ltimas reciben
el nombre de Expansin de la macro-etapa. La validacin de la transicin que
precede a la macro-etapa ocasiona la activacin de la etapa de entrada y la activacin de la etapa de salida ser entonces una de las condiciones necesarias,
ms no suficiente, para la validacin de la transicin posterior a la macroetapa.
En la Figura 6.62 para activar la etapa de inicio de la macro-etapa se requiere
de la validacin de la transicin A y para la validacin de la transicin B debe
estar activa la etapa de salida en la macro-etapa.
Etapa Inicial
E10
Start
A
ME1
F
Macro-Etapa
E11
B
Etapa2
G
E12
C
Etapa3
D
H
S10
Etapa Final
218
Una orden de forzado se comporta como una accin de ndole interna con la
cual la red de jerarqua inferior toma de inmediato la situacin que se impone
y adems esta orden es prioritaria sobre las dems reglas de evolucin. Con el
propsito de impedir ciclos indeseados se prohbe que una red forzada realice
accin similar sobre su red de orden superior y adems una red slo 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 situacin
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 evolucin conservando
activa la etapa actual la sintaxis es F/G01:{*}. Si finalmente lo deseado es cambiar 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 accin adicionando una flecha orientada a continuacin de la letra F as: F/G01:{3,8}.
6.10. Ejemplo
Se presenta el desarrollo de un ejemplo en los cinco lenguajes del estndar
IEC 61131-3. Para la implementacin del mismo se ha empleado el paquete de
software CoDeSys.
6.10. EJEMPLO
219
220
6.10. EJEMPLO
221
222
6.10. EJEMPLO
223
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
224
225
V2
V3
Depsito de Mezcla
M
V4
N3
N2
N1
V5
Depsito
B
Depsito
A
VA
Na
VB
Nb
226
Ai,Bi
Ci
T1
T2
Pt1
Cai
Cad
CarroA
Pa
Pt2
Cbi
Cbd
CarroB
Pb
At1,Bt1,Ct1
At2,Bt2,Ct2
T1i
T1a
227
T1d
T1
CarroA
Pa
T1b
Vista frontal
Cci
Ccd
CarroC
Pc
Carro de Carga
T1c
CarroB CarroC
Pb
Pc
Vista lateral
Ad,
Bd,
Cd
228
Bibliografa
[1] Bolton, W.
Programmable Logic Controllers, Fourth Edition.
Elsevier, 2006. ISBN-10: 0-7506-8112-8
[2] Balcells, Josep. Romeral, Jose Luis.
Autmatas Programables
Alfaomega marcombo 1998, ISBN 970-15-0247-7
[3] Garca Moreno, Emilio.
Automatizacin de Procesos Industriales
Alfaomega 2001, ISBN 970-15-0658-8
[4] International Electrotechnical Commission SC65B/WG7/TF3
Type 2 Technical Report Proposed Extensions to IEC 1131-3
Commite Draft, Paris, France, 9/96. Version: 05/1997
[5] International Electrotechnical Commission SC65B/WG7/TF3
Correction of IEC 1131-3 Revised Technical Corrigendum to IEC 1131-3
Draft Version, Yokohama, Japan, 5/97
[6] International Electrotechnical Commission SC65B/WG7/TF3
Porposal to IEC 1131-3 Draft Amendments to IEC 1131-3
Draft Version, Venedig, Italy, 8/98
[7] International Electrotechnical Commission SC65B/WG7/TF3
Committee 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 Systems
Springer, 2001. ISBN 3-540-67752-6
[9] Lewis, R. W.
Programming Industrial Control Systems Using IEC 1131-3
Revised Edition
IEE 1998. ISBN 0-85296-950-3
229
230
BIBLIOGRAFA