You are on page 1of 254

Automatismos Industriales

lvaro ngel Orozco Gutirrez


Universidad Tecnolgica de Pereira
Cristian Guarnizo Lemus
Universidad Tecnolgica de Pereira
Mauricio Holgun Londoo
Universidad Tecnolgica de Pereira
2008
Taller de Publicaciones- Universidad Tecnolgica de Pereira
camare@utp.edu.co
*Realizado bajo el auspicio de COLCIENCIAS, Proyectos:
1110-14-17905: Sistema automatizado efectivo y apropiado de caracterizacin y clasicacin de seales
electromiogrcas para el control de prtesis y brazos robticos
1110-405-20247: Identicacin en lnea de modos tempranos de fallas dinmicas en mquinas rotativas
ISBN: 978-958-8272-99-3
Este libro est hecho con la ayuda de L
Y
X1.4.5
PREFACIO
La industrializacin rpida y continua que vive la sociedad ha llevado a un
nuevo nivel la automatizacin de sistemas productivos. Se emplea cada vez
ms los Controladores de Lgica Programable, o PLCs, y existe una tenden-
cia hacia la incursin en sistemas de automatizacin basados enteramente en
PC. Nuevos desafos relacionados con la automatizacin tratan cada vez con
sistemas ms difciles de simular, implementar y validar por lo que adems
se hace necesario emplear tcnicas de mayor generalidad y poder que permi-
tan una posterior implementacin en los sistemas tradicionales o actuales. El
objetivo de este libro es presentar las principales tcnicas de anlisis e imple-
mentacin de sistemas para su automatizacin y ahondar en los estndares
actuales que permiten portabilidad y exibilidad en los sistemas diseados.
El material encontrado en este libro presenta una breve introduccin a la
evolucin de los automatismos, pasando por los fundamentos bsicos sobre los
cuales se desarrolla como lo son la lgica de predicados, el lgebra de Boole,
las funciones de conmutacin y los sistemas secuenciales; tambin se encuentra
las metodologas clsicas y modernas de diseo que permiten su mutua inte-
gracin a la hora de implementar un sistema global. Se hace nfasis nal en las
tcnicas de programacin enmarcadas dentro del Estndar IEC 61131-3 con el
objeto de facilitar la integracin de varios sistemas de diferente procedencia o
de permitir la implementacin de sistemas complejos.
El Captulo 1 presenta una breve introduccin al origen y motivacin de
los automatismos, mientras en el Captulo 2 se hace nfasis en la evolucin de
los mismos y se centra en la descripcin de los componentes generales de un
automatismo as como en las metodologas de lgica cableada y programada.
El fundamento bsico de los automatismos est en la lgica de predicados
y el lgebra de Boole, los cuales se presentan en el Captulo 3, donde adems
se encuentra contenido todo lo relacionado con la sntesis de sistemas com-
binacionales y la presentacin de los sistemas secuenciales y dispositivos de
memoria, los cuales complementan la base general para el diseo de todo au-
tomatismo. La lgica cableada, como mtodo clsico de diseo, se presenta en
III
el Captulo 4, mientras otra tcnica con mayor alcance se presenta en el Cap-
tulo 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 presen-
ta 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 Signicado
Texto en cursiva Resalta palabras claves
a, b, c, d
i
Constantes
w, x, y, z, x
i
,
i
, , Variables
J, K, L Relatores
f, g, h Denotan una funcin
[ Descriptor
e1, e2, , en Conjunto en notacin por extensin
Unin de conjuntos
Interseccin de conjuntos
Conjunto vaco
H 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
L Lenguaje formal de primer orden
L Lenguaje formal sin descriptor
_
Cuanticador existencial
_
Cuanticador universal
Pertenencia
T Expresin Booleana
Td Expresin Booleana Dual

m Sumatoria de mintrminos

M Productoria de maxtrminos
d Trminos Dont Care o no importa
Q(t) Estado presente en una memoria
Q(t + 1) Estado siguiente en una memoria
V
Notacin Signicado
NA Contacto normalmente abierto
NC Contacto normalmente cerrado
A, B, M, N Contactor
CR, CR, CRB Rel
TR Rel de temporizacin
TR ON Rel de temporizacin al trabajo
TR OFF Rel de temporizacin al reposo
TA Contacto temporizado a la apertura
TC Contacto temporizado al cierre
CRc Rel de campo
CRsc Rel de sobrecarga
RdP Red de Petri
P Conjunto de lugares de una RdP
p
i
i-simo lugar de una RdP
T Conjunto de Transiciones de una RdP
t
j
j-sima transicin de una RdP
F (P x T) (T x P) Conjunto de arcos de una RdP
W: F 1, 2, 3, ... Funcin de peso en los arcos de una RdP
M
0
Marcado inicial de una RdP
M
n
n-simo marcado alcanzable de una RdP
M(p
i
) Valor del marcado en el i-simo lugar
N = P, T, F, W RdP sin marcado inicial
PN = N, M
0
RdP con marcado inicial
(p
i
, t
j
) = w(p
i
, t
j
) Funcin de incidencia previa
(t
j
, p
i
) = w(t
j
, p
i
) Funcin de incidencia posterior
Vector secuencia de disparo
NG = P, T, , RdP generalizada
Nmero arbitrariamente grande de marcas
G = V, E Grco de cobertura
PN Subred de Petri
C
+
Matriz de incidencia posterior
C

Matriz de incidencia previa


C Matriz de incidencia
c
+
ij
Elemento ij de C
+
c

ij
Elemento ij de C

c
ij
Elemento ij de C

t
j
Lugares de entrada de la transicin t
j
t

j
Lugares de salida de la transicin t
j

p
i
Transiciones de entrada del lugar p
i
p

i
Transiciones de salida del lugar p
i
ME Mquina de estados
GM Grco marcado
LE Red de libre eleccin

k
Vector de disparo
M
T
Matriz transpuesta de M
VI
Notacin Signicado
Vector anulador derecho de C
Vector anulador izquierdo de C

i
i-simo elemento de

i
i-simo elemento de
NG
d
RdP dual de NG
C
d
Matriz de incidencia de una RdP dual
|| Soporte del T-invariante
|| Soporte del P-invariante
CONSTRUCTOR Palabra reservada IEC 61131-3
IF THEN Palabra reservada resaltada
Texto a ingresar Texto cdigo IEC 61131-3
VII
VIII
ndice General
1. INTRODUCCIN 1
2. FUNDAMENTOS DELOS AUTOMATISMOS 5
2.1. Resea Histrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2. Evolucin de los Automatismos . . . . . . . . . . . . . . . . . . . 8
2.3. Componentes de los Automatismos . . . . . . . . . . . . . . . . 9
2.4. Lgica Cableada . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5. Lgica Programada . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3. ANLISIS YSNTESIS DEAUTOMATISMOS 15
3.1. Lgica de Predicados . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.1.1. Presentacin del Lenguaje Formal . . . . . . . . . . . . . 15
3.1.2. Tablas de Verdad . . . . . . . . . . . . . . . . . . . . . . . 17
3.1.3. Denicin del Lenguaje Formal . . . . . . . . . . . . . . . 19
3.1.4. Expresiones, Trminos y Frmulas . . . . . . . . . . . . . 20
3.2. lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2.1. Principio de Dualidad . . . . . . . . . . . . . . . . . . . . 22
3.2.2. Teoremas Fundamentales . . . . . . . . . . . . . . . . . . 23
3.2.3. Funciones de Conmutacin . . . . . . . . . . . . . . . . . 24
3.2.4. Funciones Lgicas . . . . . . . . . . . . . . . . . . . . . . 25
3.2.4.1. Universalidad de la NAND y la NOR . . . . . . 29
3.2.5. Formas Algebraicas Estndar . . . . . . . . . . . . . . . . 30
3.2.5.1. Formas SOP y POS . . . . . . . . . . . . . . . . 30
3.2.5.2. Formas Cannicas . . . . . . . . . . . . . . . . . 31
3.2.5.3. Formas Cannicas Equivalentes . . . . . . . . . 33
3.2.6. Trminos Dont Care . . . . . . . . . . . . . . . . . . . . 33
3.3. Simplicacin de Funciones de Conmutacin . . . . . . . . . . . 34
3.3.1. Mapas de Karnaugh . . . . . . . . . . . . . . . . . . . . . 34
3.3.2. Simplicacin por Mapas de Karnaugh . . . . . . . . . . 37
3.3.3. Simplicacin por Quine-McCluskey . . . . . . . . . . . 41
3.4. Automatismos Secuenciales . . . . . . . . . . . . . . . . . . . . . 44
3.4.1. Clasicacin de los Sistemas Secuenciales . . . . . . . . . 45
3.4.1.1. Mquinas de Mealy y de Moore . . . . . . . . . 45
3.4.1.2. Sistemas Sncronos y Asncronos . . . . . . . . 46
IX
3.4.2. Diagrama de Estados . . . . . . . . . . . . . . . . . . . . 46
3.4.3. Dispositivos de Memoria . . . . . . . . . . . . . . . . . . 47
3.4.3.1. Latch Set-Reset . . . . . . . . . . . . . . . . . . . 48
3.4.3.2. Latch SCR . . . . . . . . . . . . . . . . . . . . . . 51
3.4.3.3. Latch D . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.3.4. Flip-Flop SR . . . . . . . . . . . . . . . . . . . . 53
3.4.3.5. Flip-Flop D . . . . . . . . . . . . . . . . . . . . . 54
3.4.3.6. Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . 55
3.4.3.7. Flip-Flop T . . . . . . . . . . . . . . . . . . . . . 56
3.4.4. Implementacin de Automatismos Secuenciales . . . . . 56
3.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 62
4. LGICA CABLEADA 67
4.1. Dispositivos de Mando y Control . . . . . . . . . . . . . . . . . . 67
4.1.1. El Contactor . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.1.1.1. Categoras Segn el Empleo . . . . . . . . . . . 70
4.1.2. El Rel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.1.3. Rel de Enclavamiento . . . . . . . . . . . . . . . . . . . . 71
4.1.4. Contactor con Bobina de Autorretencin . . . . . . . . . 71
4.1.5. Rel de Temporizacin al Trabajo (Rel Tipo ON) . . . . 71
4.1.6. Rel de Temporizacin al Reposo (Rel Tipo OFF) . . . . 72
4.1.7. Rel de Temporizacin al Trabajo y al Reposo . . . . . . . 73
4.1.8. Elementos de Mando . . . . . . . . . . . . . . . . . . . . . 73
4.2. Funciones Bsicas de Lgica Cableada . . . . . . . . . . . . . . . 74
4.2.1. Funcin Interruptor y Funcin Sello . . . . . . . . . . . . 74
4.2.2. Funcin Detector de Flancos . . . . . . . . . . . . . . . . 75
4.2.3. Funcin Toggle . . . . . . . . . . . . . . . . . . . . . . . . 76
4.2.4. Funcin Memoria Biestable . . . . . . . . . . . . . . . . . 77
4.2.5. Funcin Tren de Pulsos . . . . . . . . . . . . . . . . . . . 78
4.2.6. Funcin Refresco . . . . . . . . . . . . . . . . . . . . . . . 79
4.2.7. Funcin Simulacin de Rel Tipo OFF con ON . . . . . . 80
4.2.8. Funcin Simulacin de Rel Tipo ON con OFF . . . . . . 80
4.2.9. Funcin Contador . . . . . . . . . . . . . . . . . . . . . . 81
4.3. Lgica de Conmutacin con Lgica Cableada . . . . . . . . . . . 81
4.4. Diseos Bsicos en Lgica Cableada . . . . . . . . . . . . . . . . 84
4.4.1. Activacin Alternada de Cargas . . . . . . . . . . . . . . 84
4.4.2. Encendido Secuencial de Cargas . . . . . . . . . . . . . . 86
4.4.3. Arranque de Motor DC en Derivacin . . . . . . . . . . . 88
4.4.4. Arranque de Motores Trifsicos . . . . . . . . . . . . . . . 90
4.4.4.1. Arranque Estrella-Delta con Transicin Abierta 90
4.4.4.2. Arranque Estrella-Delta con Transicin Cerrada 91
4.4.5. Inversin de Giro en Motores . . . . . . . . . . . . . . . . 92
4.5. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 93
X
5. Redes de Petri 99
5.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . . . 99
5.2. Denicin y Presentacin de las RdP . . . . . . . . . . . . . . . . 100
5.3. Tipos de Transiciones y Lugares . . . . . . . . . . . . . . . . . . . 102
5.4. Alcanzabilidad y Secuencia de Disparo . . . . . . . . . . . . . . 103
5.5. Propiedades de las RdP . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.1. RdP Limitada . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.2. RdP Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
5.5.3. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.4. RdP Binaria . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.5. RdP Conforme . . . . . . . . . . . . . . . . . . . . . . . . 106
5.5.6. RdP Persistente . . . . . . . . . . . . . . . . . . . . . . . . 107
5.5.7. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . 107
5.6. RdP Interpretada . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7. RdP Autnoma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
5.7.1. RdP Generalizada . . . . . . . . . . . . . . . . . . . . . . 108
5.7.2. RdP Ordinaria y Pura . . . . . . . . . . . . . . . . . . . . 108
5.8. RdP Extendida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.9. Modelamiento de Procesos . . . . . . . . . . . . . . . . . . . . . . 109
5.9.1. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . 109
5.9.2. Arquitectura de Decisin . . . . . . . . . . . . . . . . . . 110
5.9.3. Arquitectura Paralela . . . . . . . . . . . . . . . . . . . . . 110
5.9.4. Arquitectura de Confusin . . . . . . . . . . . . . . . . . 111
5.9.5. Arquitecturas de Sincronizacin . . . . . . . . . . . . . . 112
5.9.6. Arquitectura para Recurso Compartido . . . . . . . . . . 113
5.9.7. Arquitectura Lectura-Escritura . . . . . . . . . . . . . . . 114
5.9.8. Arquitectura Productor-Consumidor . . . . . . . . . . . 115
5.9.9. Arquitectura Productor-Consumidor con Prioridad . . . 116
5.9.10. Arquitectura para Capacidad Limitada . . . . . . . . . . 116
5.9.11. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . 117
5.9.12. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . 117
5.10. Simplicacin de una RdP . . . . . . . . . . . . . . . . . . . . . . 118
5.11. Anlisis de las Redes de Petri . . . . . . . . . . . . . . . . . . . . 120
5.11.1. Anlisis por rbol de Cobertura . . . . . . . . . . . . . . 121
5.11.2. Anlisis por Transformacin . . . . . . . . . . . . . . . . 124
5.11.2.1. Reduccin de una Subred de Petri a un Lugar . 125
5.11.3. Anlisis por Representacin Estructural . . . . . . . . . . 126
5.11.3.1. Matrices de Incidencia Previa y Posterior . . . . 127
5.11.3.2. Subconjuntos y Subclases de una RdP . . . . . 127
5.11.3.3. Matriz de Incidencia . . . . . . . . . . . . . . . . 129
5.11.3.4. Ecuacin de Estado . . . . . . . . . . . . . . . . 130
5.11.3.5. Determinacin de la Reversibilidad . . . . . . . 131
5.11.3.6. Determinacin de la Conservatividad . . . . . . 132
5.11.3.7. Determinacin de la Limitacin . . . . . . . . . 133
5.11.3.8. Determinacin de la Vivacidad . . . . . . . . . 133
5.12. Anlisis Local de Redes de Petri . . . . . . . . . . . . . . . . . . . 135
XI
5.12.1. Red de Petri Dual . . . . . . . . . . . . . . . . . . . . . . . 135
5.12.2. Invariantes de Marcado y de Disparo . . . . . . . . . . . 135
5.12.2.1. Obtencin de los P-Invariantes . . . . . . . . . . 136
5.13. Portabilidad entre Redes de Petri y Lgica Cableada . . . . . . . 138
5.14. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 143
6. ESTNDAR IEC 61131-3 149
6.1. Marco Introductorio . . . . . . . . . . . . . . . . . . . . . . . . . 149
6.1.1. Deciencias de la Programacin Escalera . . . . . . . . . 150
6.2. Marco Conceptual . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
6.2.1. Elementos del Modelo de Software . . . . . . . . . . . . . 151
6.2.2. Partes de una POU . . . . . . . . . . . . . . . . . . . . . . 154
6.3. Elementos Comunes a los Lenguajes del Estndar . . . . . . . . 157
6.3.1. Conjunto de Caracteres . . . . . . . . . . . . . . . . . . . 157
6.3.2. Identicadores . . . . . . . . . . . . . . . . . . . . . . . . 157
6.3.3. Palabras Reservadas . . . . . . . . . . . . . . . . . . . . . 157
6.3.4. Comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.3.5. Delimitadores . . . . . . . . . . . . . . . . . . . . . . . . . 159
6.3.6. Tipos de Datos . . . . . . . . . . . . . . . . . . . . . . . . 160
6.3.6.1. Tipos de Datos Elementales . . . . . . . . . . . 160
6.3.6.2. Datos Genricos . . . . . . . . . . . . . . . . . . 162
6.3.6.3. Propiedades de Tipos de Datos Elementales . . 162
6.3.6.4. Tipos de Datos Derivados . . . . . . . . . . . . 163
6.3.7. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
6.3.7.1. Tipos de Variables . . . . . . . . . . . . . . . . . 165
6.3.7.2. Atributos de las Variables . . . . . . . . . . . . . 167
6.3.7.3. Inicializacin de Variables . . . . . . . . . . . . 169
6.3.8. Tipos de Unidades de Organizacin de Programa . . . . 169
6.3.8.1. Funciones . . . . . . . . . . . . . . . . . . . . . . 170
6.3.8.2. Bloques de Funciones . . . . . . . . . . . . . . . 174
6.3.8.3. Programas . . . . . . . . . . . . . . . . . . . . . 179
6.4. Texto Estructurado (ST) . . . . . . . . . . . . . . . . . . . . . . . 181
6.4.1. Sentencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
6.4.2. Asignaciones, Operandos y Operadores . . . . . . . . . . 181
6.4.3. Sentencias para Control de Flujo . . . . . . . . . . . . . . 182
6.5. Listado de Instrucciones (IL) . . . . . . . . . . . . . . . . . . . . . 187
6.5.1. Estructura Bsica del Listado de Instrucciones . . . . . . 187
6.5.2. El Acumulador Universal . . . . . . . . . . . . . . . . . . 188
6.5.3. Los Operadores . . . . . . . . . . . . . . . . . . . . . . . . 188
6.5.4. Llamados a POUs . . . . . . . . . . . . . . . . . . . . . . . 190
6.6. Diagrama de Bloques de Funciones (FBD) . . . . . . . . . . . . . 191
6.6.1. Elementos Grcos de una Red FBD . . . . . . . . . . . . 192
6.6.2. Elementos para Control de Flujo . . . . . . . . . . . . . . 193
6.6.3. Reglas de la Evolucin en una Red FBD . . . . . . . . . . 193
6.7. Diagrama Escalera (LD) . . . . . . . . . . . . . . . . . . . . . . . 196
6.7.1. Elementos Grcos de una Red LD . . . . . . . . . . . . . 196
XII
6.7.2. Elementos Para Control de Flujo . . . . . . . . . . . . . . 197
6.7.3. Llamados a Funciones y Bloques de Funciones . . . . . . 197
6.7.4. Reglas de la Evolucin en una Red LD . . . . . . . . . . . 198
6.8. Diagrama Funcional Secuencial (SFC) . . . . . . . . . . . . . . . 200
6.8.1. Elementos Grcos y Descripcin de una Red SFC . . . . 200
6.8.1.1. Las Etapas . . . . . . . . . . . . . . . . . . . . . 201
6.8.1.2. Las Transiciones . . . . . . . . . . . . . . . . . . 202
6.8.2. Secuencias . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.8.2.1. Secuencias Divergentes . . . . . . . . . . . . . . 205
6.8.2.2. Secuencias Simultneas . . . . . . . . . . . . . . 206
6.8.2.3. Redes Inseguras . . . . . . . . . . . . . . . . . . 206
6.8.3. Acciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.8.3.1. Bloques de Acciones . . . . . . . . . . . . . . . . 207
6.8.3.2. Calicadores de las Acciones . . . . . . . . . . . 209
6.8.3.3. Control de Accin . . . . . . . . . . . . . . . . . 213
6.8.4. Reglas de la Evaluacin en una Red SFC . . . . . . . . . 214
6.8.5. Reglas de la Evolucin en una Red SFC . . . . . . . . . . 216
6.8.6. Otras Caractersticas No Denidas en el Estndar . . . . 216
6.9. Portabilidad entre los Diferentes Lenguajes . . . . . . . . . . . . 218
6.10. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
6.11. Ejercicios Propuestos . . . . . . . . . . . . . . . . . . . . . . . . . 224
XIII
XIV
ndice de Tablas
3.1. Tabla de Verdad para la Negacin . . . . . . . . . . . . . . . . . . 17
3.2. Tabla de Verdad para la Conjuncin . . . . . . . . . . . . . . . . 18
3.3. Tabla de Verdad para la Disyuncin . . . . . . . . . . . . . . . . 18
3.4. Tabla de Verdad para la Implicacin. . . . . . . . . . . . . . . . . 18
3.5. Tabla de Verdad para la Coimplicacin . . . . . . . . . . . . . . . 19
3.6. Posibles Combinaciones para Funcin de Aridad 1. . . . . . . . 24
3.7. Posibles Combinaciones para Funcin de Aridad 2. . . . . . . . 25
3.9. Notacin Simplicada de Mintrminos . . . . . . . . . . . . . . . 31
3.10. Notacin Simplicada de Maxtrminos . . . . . . . . . . . . . . 32
3.11. Formas Cannicas Equivalentes . . . . . . . . . . . . . . . . . . . 33
3.12. Trminos Dont Care . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.13. Lista de Mintrminos Ordenados por Vecindad . . . . . . . . . . 42
3.14. Primera Bsqueda de Trminos Adyacentes . . . . . . . . . . . . 42
3.15. Segunda Bsqueda de Trminos Adyacentes . . . . . . . . . . . 43
3.16. Listado de Trminos No Agrupados y Mintrminos . . . . . . . 43
3.17. Identicacin de Trminos que Cubren Todos los Mintrminos . 44
3.18. Ejemplo de Tabla de Estados . . . . . . . . . . . . . . . . . . . . . 47
3.19. Secuencia de Excitacin en una Latch SR. . . . . . . . . . . . . . 50
3.20. Tabla de Excitacin para el Latch SR. . . . . . . . . . . . . . . . . 50
3.21. Tabla de Excitacin para el Latch SCR. . . . . . . . . . . . . . . . 51
3.22. Tabla de Excitacin para el Latch D. . . . . . . . . . . . . . . . . 52
3.23. Tabla de Excitacin para el Flip-Flop SR. . . . . . . . . . . . . . . 54
3.24. Tabla de Excitacin para el Flip-Flop D. . . . . . . . . . . . . . . 54
3.25. Tabla de Excitacin para el Flip-Flop JK. . . . . . . . . . . . . . . 55
3.26. Tabla de Excitacin para el Flip-Flop T. . . . . . . . . . . . . . . . 56
3.27. Tabla de Transiciones Automatismo Secuencial 1 . . . . . . . . . 57
3.28. Excitacin de Flip-Flops Automatismo 1 . . . . . . . . . . . . . . 58
3.29. Tabla de Transiciones Automatismo Secuencial 2 . . . . . . . . . 60
3.30. Excitacin de Flip-Flops Automatismo 2 . . . . . . . . . . . . . . 61
6.1. Tipos de POUs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.2. Tipos de Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
6.3. Palabras Reservadas IEC 61131-3 . . . . . . . . . . . . . . . . . . 158
6.4. Tipos de Datos Elementales . . . . . . . . . . . . . . . . . . . . . 161
6.5. Calicadores de Acciones . . . . . . . . . . . . . . . . . . . . . . 210
XV
XVI
ndice de Figuras
2.1. Alarma de Platn Basada en Clepsydra . . . . . . . . . . . . . . 6
2.2. Odmetro de Hern . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3. Modelo de Sistema de Control . . . . . . . . . . . . . . . . . . . 10
3.1. Representacin de la AND . . . . . . . . . . . . . . . . . . . . . . 26
3.2. Representacin de la OR . . . . . . . . . . . . . . . . . . . . . . . 26
3.3. Representacin de la NOT . . . . . . . . . . . . . . . . . . . . . . 27
3.4. Representacin de la NAND . . . . . . . . . . . . . . . . . . . . . 27
3.5. Representacin de la NOR . . . . . . . . . . . . . . . . . . . . . . 28
3.6. Representacin de la XOR . . . . . . . . . . . . . . . . . . . . . . 28
3.7. Representacin de la NXOR . . . . . . . . . . . . . . . . . . . . . 29
3.8. Universalidad de la NAND y la NOR . . . . . . . . . . . . . . . 30
3.9. Mapa de Karnaugh para Funcin de Aridad 2 . . . . . . . . . . 35
3.10. Mapa de Karnaugh para Funcin de Aridad 3 . . . . . . . . . . 35
3.11. Otra Representacin del Mapa de Karnaugh . . . . . . . . . . . 36
3.12. Mapas de Karnaugh para Funcin de Aridad 4 . . . . . . . . . . 36
3.13. Mapa de Karnaugh para Simplicar Mintrminos . . . . . . . . 37
3.14. Agrupaciones para Simplicar Mintrminos . . . . . . . . . . . 38
3.15. Mapa de Karnaugh para Simplicar Maxtrminos . . . . . . . . 39
3.16. Agrupaciones para Simplicar Maxtrminos . . . . . . . . . . . 39
3.17. Simplicacin con Trminos Dont Care . . . . . . . . . . . . . 40
3.18. Mquina de Estados Finitos . . . . . . . . . . . . . . . . . . . . . 44
3.19. Mquina de Mealy . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.20. Mquina de Moore . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.21. Ejemplo de Diagrama de Estados . . . . . . . . . . . . . . . . . . 47
3.22. Latch Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.23. Latch Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.24. Latch Set-Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.25. Latch SCR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.26. Latch D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.27. Flip-Flop SR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
3.28. Flip-Flop D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.29. Flip-Flop JK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.30. Flip-Flop T . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
XVII
3.31. Diagrama de Estados Automatismo Secuencial 1 . . . . . . . . . 57
3.32. Funciones Para el Flip-Flop A . . . . . . . . . . . . . . . . . . . . 58
3.33. Funciones Para el Flip-Flop B . . . . . . . . . . . . . . . . . . . . 58
3.34. Diagrama Lgico Automatismo 1 . . . . . . . . . . . . . . . . . . 59
3.35. Diagrama de Estados Automatismo Secuencial 2 . . . . . . . . . 60
3.36. Funciones Para los Flip-ops del Automatismo 2 . . . . . . . . . 61
3.37. Funciones Para los Flip-ops del Automatismo 2 . . . . . . . . . 62
3.38. Diagrama Lgico Automatismo 2 . . . . . . . . . . . . . . . . . . 62
4.1. Componentes de un Contactor . . . . . . . . . . . . . . . . . . . 69
4.2. Representacin y Numeracin de Contactos . . . . . . . . . . . . 70
4.3. Representacin y Operacin de Rel Tipo ON . . . . . . . . . . . 72
4.4. Representacin y Operacin de Rel Tipo OFF . . . . . . . . . . 73
4.5. Simbologa Elementos de Mando y Proteccin . . . . . . . . . . 74
4.6. Funcin Interruptor . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.7. Funcin Flanco de Subida. . . . . . . . . . . . . . . . . . . . . . . 75
4.8. Funcin Flanco de Bajada. . . . . . . . . . . . . . . . . . . . . . . 76
4.9. Funcin Toggle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.10. Funcin Memoria Biestable . . . . . . . . . . . . . . . . . . . . . 77
4.11. Funcin Tren de Pulsos con 2 Rels ON . . . . . . . . . . . . . . 78
4.12. Funcin Tren de Pulsos con 2 Rels OFF y con Un solo ON. . . . 79
4.13. Funcin Refresco . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
4.14. Funcin Simulacin de Rel OFF con Rel ON . . . . . . . . . . 80
4.15. Funcin Simulacin de Rel ON con Rel OFF . . . . . . . . . . 80
4.16. Funcin Contador . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
4.17. Control de Alarma Visual . . . . . . . . . . . . . . . . . . . . . . 82
4.18. Lgica Cableada para Control de Alarma Visual . . . . . . . . . 82
4.19. Ejemplo de Lgica Cableada con Temporizacin . . . . . . . . . 84
4.20. Secuencia de Cargas ABC . . . . . . . . . . . . . . . . . . . . 85
4.21. Secuencia de Cargas ABCDCBy ABCDBC 86
4.22. Encendido en Secuencia M1, M2, M3, M3, M2, M1 . . . . 87
4.23. Encendido en Secuencia M1, M2, M3, M3, M1, M2 . . . . 87
4.24. Encendido en Secuencia M1, M2, M3, M2, M3, M1 . . . . 88
4.25. Arranque de Motor DC Utilizando Rels ON . . . . . . . . . . . 89
4.26. Arranque de Motor DC Utilizando Rels OFF . . . . . . . . . . . 89
4.27. Arranque de Motor Trifsico con Transicin Abierta . . . . . . . 90
4.28. Arranque con Transicin Abierta Usando Rel OFF . . . . . . . 91
4.29. Arranque de Motor con Transicin Cerrada . . . . . . . . . . . . 91
4.30. Circuitos de Potencia para Inversin de Giro . . . . . . . . . . . 92
4.31. Circuito de Control para Inversin de Giro . . . . . . . . . . . . 93
5.1. Elementos de una Red de Petri . . . . . . . . . . . . . . . . . . . 102
5.2. Transiciones Fuente y Sumidero . . . . . . . . . . . . . . . . . . . 103
5.3. Tipos de Nodos OR . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.4. Tipos de Nodos AND . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.5. RdP No Limitada . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
XVIII
5.6. RdP No Viva . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.7. RdP No Viva en Punto Muerto . . . . . . . . . . . . . . . . . . . 105
5.8. RdP Reversible . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.9. RdP No Persistente . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.10. RdP Conservativa . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
5.11. Arco Inhibidor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.12. Arquitectura Secuencial . . . . . . . . . . . . . . . . . . . . . . . 110
5.13. Arquitectura de Decisin o de Conicto . . . . . . . . . . . . . . 110
5.14. Arquitectura Paralela o Concurrente . . . . . . . . . . . . . . . . 110
5.15. Arquitectura de Confusin Simtrica . . . . . . . . . . . . . . . . 111
5.16. Arquitectura de Confusin Asimtrica . . . . . . . . . . . . . . . 111
5.17. Arquitectura de Punto de Encuentro Simple . . . . . . . . . . . . 112
5.18. Arquitectura de Punto de Encuentro Simtrico . . . . . . . . . . 112
5.19. Arquitectura de Punto de Encuentro Asimtrico . . . . . . . . . 113
5.20. Arquitectura de Semforo . . . . . . . . . . . . . . . . . . . . . . 113
5.21. Arquitectura de Recurso Compartido . . . . . . . . . . . . . . . 114
5.22. Arquitectura de Lectura-Escritura . . . . . . . . . . . . . . . . . 115
5.23. Arquitectura Productor-Consumidor . . . . . . . . . . . . . . . . 115
5.24. Arquitectura Productor-Consumidor con Prioridad . . . . . . . 116
5.25. Arquitectura para Capacidad Limitada . . . . . . . . . . . . . . 117
5.26. Arquitectura de Memoria . . . . . . . . . . . . . . . . . . . . . . 117
5.27. Arquitectura para Colas . . . . . . . . . . . . . . . . . . . . . . . 118
5.28. Fusin de Lugares en Serie . . . . . . . . . . . . . . . . . . . . . . 119
5.29. Fusin de Transiciones en Serie . . . . . . . . . . . . . . . . . . . 119
5.30. Fusin de Lugares Paralelos . . . . . . . . . . . . . . . . . . . . . 119
5.31. Fusin de Transiciones Paralelas . . . . . . . . . . . . . . . . . . 120
5.32. Eliminacin de Lugar Auto-lazo . . . . . . . . . . . . . . . . . . 120
5.33. Eliminacin de Transicin Auto-lazo . . . . . . . . . . . . . . . . 120
5.34. rbol de Cobertura para la Figura 5.10 . . . . . . . . . . . . . . . 122
5.35. RdP con Nodo Terminal y Nodos Innitamente Reproducibles. 122
5.36. rbol de Cobertura para la Figura 5.35 . . . . . . . . . . . . . . . 123
5.37. Grco de Cobertura . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.38. Subred de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
5.39. Subred de Petri a Macrolugar . . . . . . . . . . . . . . . . . . . . 126
5.40. Matrices de Incidencia Previa y Posterior . . . . . . . . . . . . . 127
5.41. RdP No Pura. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
5.42. RdP No Pura a Pura . . . . . . . . . . . . . . . . . . . . . . . . . 130
5.43. Grco Orientado Marcado . . . . . . . . . . . . . . . . . . . . . 134
5.44. Sifn y Trampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.45. Arquitectura Secuencial a Lgica Cableada . . . . . . . . . . . . 139
5.46. Arcos con Pesos a Lgica Cableada . . . . . . . . . . . . . . . . . 139
5.47. Arco Inhibidor a Lgica Cableada . . . . . . . . . . . . . . . . . 139
5.48. Nodo And a Lgica Cableada . . . . . . . . . . . . . . . . . . . . 140
5.49. Arquitectura de Decisin a Lgica Cableada . . . . . . . . . . . . 140
5.50. Arquitectura de Decisin con Prioridad a Lgica Cableada . . . 141
5.51. Temporizador a Lgica Cableada . . . . . . . . . . . . . . . . . . 141
XIX
5.52. Accin a Lgica Cableada . . . . . . . . . . . . . . . . . . . . . . 141
5.53. Ejemplo de Red de Petri a Lgica Cableada . . . . . . . . . . . . 142
5.54. Ejercicios sobre Propiedades . . . . . . . . . . . . . . . . . . . . . 143
5.55. Ejercicio de Simplicacin . . . . . . . . . . . . . . . . . . . . . . 144
6.1. Modelo Denido por el Estndar IEC 61131-3 . . . . . . . . . . . 154
6.2. Partes de una POU . . . . . . . . . . . . . . . . . . . . . . . . . . 155
6.3. Ejemplo de Texto Estructurado . . . . . . . . . . . . . . . . . . . 155
6.4. Ejemplo de Listado de Instrucciones . . . . . . . . . . . . . . . . 156
6.5. Ejemplo de Diagrama de Bloques Funcionales . . . . . . . . . . 156
6.6. Ejemplo de Diagrama Escalera . . . . . . . . . . . . . . . . . . . 156
6.7. Ejemplo de Diagrama Funcional Secuencial . . . . . . . . . . . . 156
6.8. Ejemplo de Comentario . . . . . . . . . . . . . . . . . . . . . . . 159
6.9. Ejemplo de Declaracin de Tipo de Dato Derivado . . . . . . . . 164
6.10. Ejemplo de Declaracin de Atributos a Variables . . . . . . . . . 168
6.11. Funcin que Evala Discriminante en Ecuacin Cuadrtica . . . 171
6.12. Ejemplo de Invocacin de Funcin . . . . . . . . . . . . . . . . . 172
6.13. Uso de las Variables EN y ENO de una Funcin . . . . . . . . . 173
6.14. Denicin de Bloque de Funcin . . . . . . . . . . . . . . . . . . 175
6.15. Denicin de un Bloque de Funcin . . . . . . . . . . . . . . . . 176
6.16. Caracterstica de Tiempo del Temporizador TP . . . . . . . . . . 178
6.17. Caracterstica de Tiempo del Temporizador TON . . . . . . . . . 178
6.18. Caracterstica de Tiempo del Temporizador TOF . . . . . . . . . 179
6.19. Reloj de Tiempo Real . . . . . . . . . . . . . . . . . . . . . . . . . 179
6.20. Programa que Evala las Raices de la Ecuacin Cuadrtica . . . 180
6.21. Formas de Sintaxis para la Sentencia IF ... THEN ... ELSE . . . . 183
6.22. Sintaxis para la Sentencia CASE . . . . . . . . . . . . . . . . . . . 183
6.23. Sentencia CASE con Variable Enumerada . . . . . . . . . . . . . 184
6.24. Sintaxis para la Sentencia FOR ... DO . . . . . . . . . . . . . . . . 185
6.25. Sintaxis para la Sentencia WHILE ... DO . . . . . . . . . . . . . . 185
6.26. Sintaxis para la Sentencia REPEAT ... UNTIL . . . . . . . . . . . 185
6.27. Sintaxis para la Sentencia EXIT . . . . . . . . . . . . . . . . . . . 186
6.28. Sintaxis para Listado de Instrucciones . . . . . . . . . . . . . . . 187
6.29. Operadores Booleanos en IL . . . . . . . . . . . . . . . . . . . . . 189
6.30. Operadores ANYen IL . . . . . . . . . . . . . . . . . . . . . . . . 189
6.31. Operadores de Salto y Comparacin en IL . . . . . . . . . . . . . 190
6.32. Llamado a Funcin en IL . . . . . . . . . . . . . . . . . . . . . . . 191
6.33. Llamado a Bloque de Funcin en IL . . . . . . . . . . . . . . . . 191
6.34. Elementos Grcos de una Red FBD . . . . . . . . . . . . . . . . 192
6.35. Elementos Grcos Para Control de Flujo en FBD . . . . . . . . 193
6.36. Ejemplo de Evolucin en Red FBD . . . . . . . . . . . . . . . . . 194
6.37. Ejemplo Red FBD con Realimentacin y Salto . . . . . . . . . . . 195
6.38. Representacin de Bobina y Contacto en LD . . . . . . . . . . . . 196
6.39. Ejemplo de Evolucin en Red LD . . . . . . . . . . . . . . . . . . 199
6.40. Determinacin de Secuencia en Ejecucin . . . . . . . . . . . . . 199
6.41. Componentes Bsicos de una Red SFC . . . . . . . . . . . . . . . 201
XX
6.42. Transiciones con Sintaxis Inmediata . . . . . . . . . . . . . . . . 203
6.43. Transicin con Sintaxis de Conector . . . . . . . . . . . . . . . . 203
6.44. Transiciones con Sintaxis de Nombre de Transicin . . . . . . . . 204
6.45. Secuencias Divergentes y Prioridades . . . . . . . . . . . . . . . 205
6.46. Convergencia de Secuencias Divergentes . . . . . . . . . . . . . 206
6.47. Secuencias Simultneas y su Convergencia . . . . . . . . . . . . 206
6.48. Redes Inseguras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.49. Elementos de un Bloque de Accin . . . . . . . . . . . . . . . . . 208
6.50. Bloques de Acciones en los Lenguajes LD y FBD . . . . . . . . . 209
6.51. Accin con Calicador N . . . . . . . . . . . . . . . . . . . . . . . 210
6.52. Accin con Calicadores S y R . . . . . . . . . . . . . . . . . . . . 211
6.53. Accin con Calicador L . . . . . . . . . . . . . . . . . . . . . . . 211
6.54. Accn con Calicador D . . . . . . . . . . . . . . . . . . . . . . . 211
6.55. Accin con Calicador P . . . . . . . . . . . . . . . . . . . . . . . 212
6.56. Accin con Calicador SD . . . . . . . . . . . . . . . . . . . . . . 212
6.57. Accin con Calicador DS . . . . . . . . . . . . . . . . . . . . . . 213
6.58. Accin con Calicador LS . . . . . . . . . . . . . . . . . . . . . . 213
6.59. Control de Accin . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.60. Mdulo Secuenciador de Etapa . . . . . . . . . . . . . . . . . . . 215
6.61. Accin con Calicador C . . . . . . . . . . . . . . . . . . . . . . . 216
6.62. Partes de una Macro-Etapa . . . . . . . . . . . . . . . . . . . . . . 217
6.63. Ejemplo en Texto Estructurado . . . . . . . . . . . . . . . . . . . 219
6.64. Ejemplo en Listado de Instrucciones . . . . . . . . . . . . . . . . 220
6.65. Ejemplo en Diagrama de Bloques de Funciones . . . . . . . . . . 221
6.66. Ejemplo en Diagrama Escalera . . . . . . . . . . . . . . . . . . . 222
6.67. Ejemplo en Diagrama Funcional Secuencial . . . . . . . . . . . . 223
6.68. Ejercicio Propuesto 2 . . . . . . . . . . . . . . . . . . . . . . . . . 225
6.69. Ejercicio Propuesto 4 . . . . . . . . . . . . . . . . . . . . . . . . . 227
XXI
XXII
Captulo 1
INTRODUCCIN
El origen de los automatismos no se encuentra denido para una fecha es-
pecca, probablemente se puede hablar de los primeros sistemas automticos
desde los mismos inicios de la era prehistrica de la humanidad en el Paleo-
ltico
1
, 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 nales del siglo XIXy principios del XX, cuando la automatizacin
de procesos ha cobrado un inters especial por parte de la ciencia y de los inge-
nieros, presentando la perspectiva que tenemos hoy de ellos como sistemas en
los cuales se realizan acciones sobre un sistema mediante la manipulacin di-
recta de magnitudes fsicas haciendo uso de otro sistema denominado de con-
trol. Los esfuerzos se han enfocado en reducir signicativamente todos los cos-
tos 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 es-
tar 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 n 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 or-
ganizaciones han basado su estrategia, desde los tiempos en los cuales slo
se empleaban dispositivos de accionamiento y control con base en lgica to-
do o nada, hasta los tiempos actuales donde con base en la microelectrni-
ca y procesadores se emplean equipos mucho ms sosticados como lo son
1
Probablemente desde el Paleoltico inferior y entre 600000 a 400000 A.J.
1
2 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 concep-
tos bsicos de lgica secuencial y combinacional, pasando por la lgica cablea-
da 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 DELOS
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 n de imitar los movimientos de los seres vivos. Los primeros aut-
matas 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 ela-
boraban 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 n se empleaba un otador 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 otador, sobre el cual se depositan unas esferas,
durante un tiempo determinado el vaso es llenado a una rata constante de agua
y al nal, 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 docu-
mentos 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
6 CAPTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS
Figura 2.1: Alarma de Platn Basada en Clepsydra
A Hern tambin se le debe la creacin de un Odmetro, sistema empleado
para cuanticar una distancia recorrida, el cual constaba de un sistema de en-
granajes que cada vez que se produca un giro completo de la volante dejaba
caer un esfera en un contenedor, ver Figura 2.2; al nal el nmero de esferas
permitan cuanticar la distancia recorrida.
Uno de los autmatas ms reconocidos es el Gallo de Estrasburgo, el cual
formaba parte del reloj de la catedral de Estrasburgo y mova el pico y las alas
al dar las horas. Este funcion entre los aos de 1352 y 1789 y es el autmata
ms antiguo que se conserva en la actualidad [6].
Pero entre los ms clebres creadores de autmatas en la historia se en-
cuentra a Vaucanson, el cual cre muchas maravillas que merecen gran re-
conocimiento an en los das actuales. Entre sus creaciones est el Flautista,
que representa un fauno segn modelo de la estatua de Coysevox, que ejecuta
una docena de aires valindose de movimientos de la lengua, labios y dedos.
Tambin se encuentra al Tamborilero y la Taedora que se puede admirar en el
conservatorio de artes y ocios de Pars. La reputacin de Vaucanson se debe
en gran medida a su obra el Pato, el cual era capaz de batir las alas, zambullir-
se, nadar, tragar grano y hasta expeler una forma de excremento. Vaucanson en
sus obras no trat de copiar vida, sino nicamente de imitar algunas funciones
2.1. RESEA HISTRICA 7
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.
Figura 2.2: Odmetro de Hern
Con el advenimiento de la electricidad y de la electrnica apareci una nue-
va 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 nales 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 ga-
nar con seguridad en este juego. Para esos mismos das Strachey construy en
1
Juego rey contra rey y torre
8 CAPTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS
los Estados Unidos un jugador de damas capaz de enfrentarse a un buen ju-
gador; para ello la mquina deba analizar, con varias jugadas de antelacin,
todas las jugadas posibles a partir de una situacin inicial [3].
2.2. Evolucin de los Automatismos
Para la dcada de los setenta, la complejidad y servicios de los automa-
tismos se increment gracias al uso de los circuitos integrados y a los sistemas
basados en microprocesadores. Durante esta misma poca se desarrollaba la
computadora digital, aunque con un empleo muy restrictivo en la industria
debido a sus elevados costos, requerimientos de personal altamente calicado
y poca interconectividad con otros sistemas, pero especialmente debido a sus
problemas para el control de seales en voltaje y corriente de valor elevado.
La demanda proveniente de la industria, en busca de un sistema econmi-
co, robusto, exible, de fcil modicacin y con mayor tratamiento de niveles
de voltaje a los presentados por los ordenadores, provoc el desarrollo del con-
trolador de lgica programable o PLC. Este primer equipo autmata pretenda
bsicamente sustituir a los sistemas bsicos compuestos por rels o circuitos
lgicos con las ventajas evidentes de una plataforma estndar de hardware.
Dado lo anterior, en su nacimiento presentaron prestaciones muy similares a
las tecnologas convencionales con lenguajes de programacin que emulaban
a los diagramas esquemticos empleados por dichas tecnologas.
Los autmatas actuales han evolucionado con respecto a las prestaciones
de sus ancestros, incorporando fundamentalmente sistemas de programacin
ms verstiles, con mejor velocidad de procesamiento y de respuesta y con
capacidades de comunicacin. En los lenguajes actuales de programacin para
autmatas se incorporan, adems de las instrucciones clsicas de lgica binaria,
temporizaciones y contadores, otras series de operaciones lgicas con palabras,
funciones aritmticas, procesamiento para seales anlogas, funciones de co-
municacin con los estndares ms representativos en la industria y muchas
funciones de control [1].
Sin embargo, la principal caracterstica que sigue distinguiendo a los con-
troladores de lgica programable es su robustez y capacidad de interconectivi-
dad con los procesos, esto sin acercarlo a las funcionalidades de una computa-
dora digital, sino potencindolo cada vez ms para comunicacin entre si y
con las computadoras. Al integrar el autmata con las computadoras digitales,
se presenta lo mejor de las prestaciones de ambos sistemas en uno solo, pero
se hace entonces evidente la necesidad de replantear los mtodos de diseo,
por lo cual hoy en da emergen nuevas metodologas para el modelamiento de
sistemas automticos como es el caso de las redes de Petri.
2.3. COMPONENTES DE LOS AUTOMATISMOS 9
2.3. Componentes de los Automatismos
El objetivo de un automatismo es controlar una planta o sistema sin necesi-
dad que un operario intervenga directamente sobre los elementos de salida. El
operario solo debe intervenir sobre las variables de control y el automatismo
es el encargado de actuar sobre las salidas mediante los accionamientos con el
n de poder llevar a efecto el control de la planta.
Entre los principales componentes de un automatismo se encuentran los
transductores y los captadores de informacin, los preaccionamientos y los ac-
cionadores, as como los rganos de tratamiento de la informacin y elementos
de interfaz entre el hombre y la mquina.
Desde un punto de vista estructural, un automatismo se compone de dos
partes claramente diferenciables, las cuales se describen a continuacin.
Parte Operativa: Formada principalmente por el conjunto de dispositivos, m-
quinas y/ o subprocesos diseados para realizar determinadas funciones
de produccin y corresponden en su gran mayora a elementos de poten-
cia.
Parte de Control: Formada por los elementos de procesamiento y/ o mando,
interfaz de comunicacin y de dilogo con el hombre.
El sometimiento de la parte operativa se logra mediante un intercambio conti-
nuo de informacin entre sta y la parte de mando o control. Este ujo de infor-
macin se establece mediante los captadores (sensores binarios, transductores
anlogos y digitales) y los preaccionadores (contactores, rels). Los captadores
se encargan entonces de recoger datos de magnitudes fsicas y de cambios de
estado a controlar y envan dicha informacin a la parte de control para su
procesamiento [4]. La parte de control enva entonces acciones de mando a
travs de los preaccionadores, que son elementos que permiten el manejo de
grandes potencias a partir de seales de baja potencia. En la Figura 2.3 se ob-
serva un diagrama de bloques con los diferentes elementos constitutivos de un
automatismo [1, 3].
Los automatismos modernos constan de una gran diversidad de compo-
nentes y tecnologas, entre los cuales se puede hallar sistemas de naturaleza
elctrica, neumtica, hidrulica, mecnica, etc. Se trata entonces de la inte-
gracin de elementos de variada naturaleza u origen demandando sistemas
integradores capaces de realizar la adecuada coordinacin entre ellos. Debido
a esta fuerte demanda se cre y apareci una dicotoma clara entre dos formas
diferentes de afrontar la implementacin de un automatismo. Esta dicotoma
da origen a la clasicacin tecnolgica de los sistemas de control en sistemas
de Lgica Cableada y sistemas de Lgica Programada [1].
10 CAPTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS
PLANTA
Accionadores
CAPTADORES
Sensores, Transductores
PREACCIONADORES
Rels, Contactores
SISTEMA
DE
CONTROL
COMUNICACIONES
INTERFAZ
HOMBRE-MQUINA
Seales
Fsicas
Seales
de Mando
Figura 2.3: Modelo de Sistema de Control
2.4. Lgica Cableada
Toma su nombre de la naturaleza de las conexiones empleadas entre los
diferentes componentes individuales que intervienen en el sistema. Si los ele-
mentos son de origen elctrico, entonces la conexin entre rels, interruptores,
nales de carrera, etc., se realiza mediante conductores elctricos. Si los ele-
mentos son de origen electrnico, entonces la conexin entre las compuertas
lgicas se realiza mediante caminos conductores. En las tecnologas neumti-
ca e hidrulica, las conexiones entre los elementos se realizan mediante ductos
por entre los cuales corre el elemento udico.
Todas estas tecnologas se basan en rganos de mando del tipo Todo o
Nada que pueden ser modelados mediante el lgebra de Boole y son comn-
mente denominados como sistemas de conmutacin. Segn el sistema, esta con-
sideracin de todo o nada se puede relacionar con abierto o cerrado, ca-
liente o fro, conduce o no conduce, verdadero o falso. En analoga a los
rganos de mando, los rganos receptores no pueden encontrarse ms que en
dos estados posibles alimentados o no alimentados. La solucin de un pro-
blema de conmutacin radica en la disposicin adecuada de rganos de mando
para lograr que los rganos receptores estn alimentados cuando se satisfacen
ciertas condiciones [2].
Este tipo de sistemas es bien aceptado entre los desarrolladores de automa-
tismos para la creacin de sistemas de baja complejidad. Sin embargo, pre-
senta grandes dicultades especialmente cuando se requiere el desarrollo de
sistemas robustos, ya que no facilita la integracin de funcionalidad aritmti-
ca, limita el control de la ejecucin de instrucciones, reduce la creacin de se-
cuencias complejas y la conduccin y manipulacin de estructuras de datos
y presenta una deciencia para la realizacin de programas estructurados y
jerrquicos.
2.5. LGICA PROGRAMADA 11
2.5. Lgica Programada
Con el advenimiento de la tecnologa de los microprocesadores y los sis-
temas subsiguientes desarrollados a partir de estos, como es el caso de los con-
troladores lgicos, los autmatas programables y el computador, se logr, y se
contina mejorando constantemente, un alto nivel de integracin en los com-
ponentes electrnicos, con lo cual esta tecnologa allana cada da ms la posibi-
lidad de integracin de sistemas de diversicada naturaleza, entrega la capaci-
dad de realizar clculos de orden cientco y la implementacin de complejos
algoritmos en arquitecturas de control distribuidas e inmersas en variados sis-
temas de gestin y comunicacin.
Durante los ltimos diez aos el mercado de procesos industriales y de
control ha crecido signicativamente. Los PLCs se han mostrado como la base
sobre la cual se fundamentan estos sistemas, pero adems han aparecido las
computadoras digitales como competencia directa gracias a las velocidades de
procesamiento y los costos reducidos logrados y divisados hacia un futuro.
Con el desarrollo de estas tecnologas, cada uno de los proveedores trat de
ofrecer sistemas amigables de programacin que en principio funcionaron bien
dentro de cada uno de sus sistemas orgenes. Pero debido a la fuerte demanda
en la industria por una integracin entre sistemas de diferentes naturalezas,
fuentes y proveedores se hizo necesario la creacin de un marco de referencia
dentro del cual se mueva cada uno de los lenguajes de programacin.
Debido a lo anterior se produjo la publicacin del estndar IEC 1131-3 en
Marzo de 1993, hoy denominado IEC 61131-3, donde se dene la forma en
la cual deben ser programados los sistemas de control basados en PLCs y que
adems permite que los programas y comportamientos de las plantas bajo con-
trol sean de fcil entendimiento por personal de diferentes industrias [5].
12 CAPTULO 2. FUNDAMENTOS DE LOS AUTOMATISMOS
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 YSNTESIS 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 lgi-
ca, 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 armaciones y que contenga todos los elementos necesarios de
comunicacin. Las frases declarativas son el fundamento bsico de la descrip-
cin 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 pro-
fundidad 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 aridad
1
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 dene 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 dene como el nmero de argumentos que
tiene.
15
16 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
griego, por ejemplo: w, x, y, z, y
1
, z
2
,
2
.
Constantes: Primeras letras del alfabeto en minsculas con o sin subndices,
por ejemplo: a, b, c, d
1
, b
j
. Se emplean para designar los objetos de los
cuales se quiere hablar. Para hacer referencia a un equipo industrial cual-
quiera, por ejemplo al motor 5 o al motor 6, se pueden asignar las cons-
tantes m
5
y m
6
respectivamente, o para hacer referencia a la caldera sim-
plemente se puede asignar la c.
Funciones: Se emplean las letras f, g, h. Pueden igualmente llevar subndices
y en algunos casos superndices para indicar la aridad. Por ejemplos la
funcin g
2
indica que la funcin g posee una aridad de 2.
Relatores: Se representan mediante letras en maysculas, por ejemplo J, K, L.
Igualmente se puede indicar la aridad de un predicado o relator median-
te un superndice. Los relatores tienen la funcin de representar a los he-
chos, el equivalente de los verbos en un lenguaje natural. Si el relator J
signica pertenecer a la fbrica 1, entonces Jc signica que la caldera
pertenece a la fbrica 1. Si el relator K signica estar acoplados, en-
tonces Km
5
m
6
signica que los motores 5 y 6 estn acoplados. Para
los casos anteriores, se dice que el relator J es mondico o de rango 1
y que el relator K es didico o de rango 2. El rango de un relator es el
nmero de complementos que requiere para tener sentido, sin embargo
por conveniencia, se limita el rango de los relatores. Si por ejemplo K es
didico Km
5
m
6
m
7
no tiene sentido y para expresar que los motores 5, 6
y 7 estn acoplados se puede emplear a K usndolo varias veces de forma
conveniente.
Cuanticadores: Son signos que proporcionan mayor fuerza al lenguaje for-
mal. Se emplean conjuntamente con las variables y son principalmente
dos. El primero de ellos es el cuanticador particularizador o existencial

_
el cual se lee existe, por ejemplo, para la variable x
_
xJx sig-
nica Existe un x de manera que x pertenece a la fbrica 1. De forma
general
_
x algo signica que algo es cierto si la variable x se in-
terpreta de forma adecuada. El segundo de los cuanticadores es el uni-
versal o generalizador
_
el cual se lee para todo, por ejemplo, para
la variable x
_
xJx signica Para todo x, x pertenece a la fbrica 1.
Funtor: El funtor es un signo que complementado con nombres de objetos
nombra a otros objetos, en contraste con un relator que da lugar a una
armacin. Ejemplo de un funtor didico puede ser M que signica
el de mayor revoluciones, as Mm
5
m
6
signica el de mayor revolu-
ciones entre m
5
y m
6
. Se puede tener funtores de cualquier rango. En
matemticas se tiene funtores como

, +, , etc.
Descriptor: El descriptor se representa por [ y se lee tal que.
3.1. LGICA DE PREDICADOS 17
Como ya se dijo, cuando se trata con proposiciones de orden uno o superior
se hace necesario introducir el uso de conectivos lgicos con el propsito de
enlazar las frases declarativas simples. A continuacin se indica su simbologa:
La Negacin: Se lee como NO o ES FALSO QUE y se representa por la
conectiva . En este sentido Jc signica que la caldera NO pertenece
a la fbrica 1.
La Conjuncin: Se lee como Y y se representa por la conectiva . En este
sentido si el relator L signica ser motor , entonces Lm Lc signica
m es un motor Yla caldera NO es un motor .
La Disyuncin: Se lee como O y se representa por la conectiva . En lengua-
je natural la disyuncin se puede interpretar de formas diferentes, en una
puede signicar lo uno, lo otro o ambos y en otra lo uno, lo otro, pero
no ambos. De forma estricta en la lgica de predicados se emplea en el
primero de los sentidos, es decir, en una forma inclusiva y no en forma
exclusiva como en el segundo caso.
La Implicacin: Se lee como SI ... ENTONCES ... o ... IMPLICA ... y se
representa por la conectiva .
Coimplicacin o Bicondicional: Se lee como ... SI Y SOLO SI ... y se repre-
senta por la conectiva . Lo cual quiere decir que lo que es vlido para
una armacin, tambin lo es para otra armacin, cuando ambas estn
relacionadas mediante el bicondicional.
3.1.2. Tablas de Verdad
Toda frase declarativa puede tener uno de los dos siguientes valores posi-
bles Verdadero o Falso, V o F, 1 o 0. Estos valores de verdad en proposi-
ciones con ms de una frase declarativa estn determinados por los valores
de verdad de las frases declarativas simples y los conectivos lgicos que las
relacionan [4].
En forma general, si y son dos armaciones cualesquiera, si es ver-
dadera entonces es falsa y si es falsa entonces es verdadera. Lo anterior
se presenta de forma resumida en la Tabla 3.1, a la cual se le denomina tabla de
verdad para la conectiva de negacin.

V F
F V
Tabla 3.1: Tabla de Verdad para la Negacin
18 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
La tabla de verdad para dos armaciones relacionadas mediante la conecti-
va de conjuncin se muestra en la Tabla 3.2.

V V V
V F F
F V F
F F F
Tabla 3.2: Tabla de Verdad para la Conjuncin
La tabla de verdad para dos armaciones relacionadas mediante la conecti-
va de disyuncin se muestra en la Tabla 3.3.

V V V
V F V
F V V
F F F
Tabla 3.3: Tabla de Verdad para la Disyuncin
La tabla de verdad para la conectiva de implicacin ha sido ampliamente
discutida a lo largo de la historia. Filn consideraba que el enunciado es
verdadero a no ser que fuera verdadero pero falso. Por otro lado Diodoro
daba la interpretacin que es verdadero si siempre que es verdadero
tambin lo es. La interpretacin de implicacin en el lenguaje natural se acer-
ca ms a la entregada por Diodoro [4]. Para los propsitos de la lgica, la in-
terpretacin de Filn es ms prctica y por tanto deber ser interpretada de
acuerdo con la Tabla 3.4.

V V V
V F F
F V V
F F V
Tabla 3.4: Tabla de Verdad para la Implicacin.
De la tabla anterior se puede concluir que una armacin falsa implica
cualquier armacin, esto es si es falsa es verdadera para cualquiera que
sea ; y que una armacin verdadera es implicada por cualquier armacin,
esto es si es verdadera es verdadera para cualquiera que sea .
3.1. LGICA DE PREDICADOS 19
La tabla de verdad para la coimplicacin o bicondicional se muestra en la
Tabla 3.5, donde se puede observar que para ambas son verdaderas o
ambas son falsas.

V V V
V F F
F V F
F F V
Tabla 3.5: Tabla de Verdad para la Coimplicacin
3.1.3. Denicin del Lenguaje Formal
Denicin: Un lenguaje formal de primer orden L es una coleccin de sig-
nos divididos en las siguientes categoras y cumpliendo las propiedades
indicadas [3, 4, 5, 8].
1. Variables: L debe tener innitas variables, a cada una de las cuales se le
asocia un nmero natural distinto denominado ndice, de forma tal que
todo natural es ndice de una variable de L. La variable de ndice i de L
ser entonces x
i
.
2. Constantes: L puede tener desde ninguna hasta innitas constantes. A
cada constante se le asocia un ndice natural, as c
i
es la constante de
ndice i de L.
3. Relatores: Cada relator debe tener un nmero natural no nulo asociado
denominado rango. Un relator n-dico es un relator de rango n. Cada
relator n-dico lleva asociado un ndice, de tal forma que el relator R
n
i
es
el relator n-dico de ndice i, en caso de existir en L. Cmo mnimo debe
existir un relator didico R
2
0
, al que se le da el nombre de igualador o
=.
4. Funtores: Cada funtor debe tener asociado un rango e ndice en las mis-
mas condiciones mencionadas para los relatores. F
n
i
es el funtor n-dico
de ndice i, en caso de existir en L.
5. Negador: es el negador de L.
6. Implicador: es el implicador de L.
7. Cuanticador Existencial:
_
es el cuanticador existencial o particulari-
zador de L.
8. Cuanticador Universal:
_
es el cuanticador universal o generalizador
de L.
20 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
9. Descriptor: [ es el descriptor, el cual puede o no existir en L. En general L
puede ser un lenguaje con o sin descriptor.
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.
3.1.4. Expresiones, Trminos y Frmulas
La utilidad del lenguaje formal que se ha presentado tiene que ver princi-
palmente con la necesidad de construir armaciones con sus signos. Se dene
un trmino como una cadena de smbolos utilizada para representar objetos
cumpliendo las siguientes reglas [4, 5, 8]:
Toda variable o constante individual es un trmino.
Si se tienen los trminos t
1
, t
2
, ... ,t
j
, ..., t
n
y f
n
es una funcin de aridad
n entonces f
n
(t
1
, t
2
, .., t
j
, ..., t
n
) es un trmino.
Todos los trminos posibles se obtienen aplicando nicamente las dos
reglas anteriores.
Una frmula es una cadena de smbolos que toma un valor de Verdadero o
Falso y posee la forma P
n
(t
1
, t
2
, .., t
j
, ..., t
n
) donde P
n
es un relator de aridad
n y t
1
, t
2
, ... ,t
j
, ..., t
n
son trminos.
Una cadena de signos en el lenguaje se denominar expresin si es un tr-
mino o una frmula dentro del lenguaje.
Ejemplo: La frase Todos los motores de la fbrica 1 estn operables se puede
formalizar de la siguiente forma: Empleando el relator J que signica
pertenecer a la fbrica 1, el relator O que signica estar operable y
deniendo la variable x como motor entonces se puede escribir:

x
_
Jx Ox
_
Ejemplo: Encontrar la funcin que describe el siguiente enunciado: El ujo de
agua que llega a una solucin salina para ser empleada en un proceso in-
dustrial ser suspendido si se cumple una de las siguientes condiciones:
Si el tanque se llena o si la salida del tanque permanece abierta, el nivel
de agua no est bajo el nivel mnimo y la concentracin de la solucin no
excede el 3 %.
En este caso, se designa a f como la funcin que describe el enunciado.
Las variables sern: l que se lee como Tanque lleno, v que se lee tanque
vaco, o bajo nivel mnimo, s que se lee salida del tanque abierta y c
que se lee concentracin de solucin excede el 3 %. Bajo las anteriores
asignaciones se observa que la funcin posee una aridad de 4, lo cual
3.2. LGEBRA DE BOOLE 21
se indica como f
4
_
l, v, s, c
_
. La funcin se verica si se cumple una de
las dos condiciones, a su vez la condicin 2 se verica si se cumplen si-
multneamente las tres condiciones que la forman, por tanto se puede
escribir:
f
4
_
l, v, s, c
_
= l
_
s v c
_
3.2. lgebra de Boole
George Boole, present en 1949 un sistema algebraico basado en dos valo-
res, el cual se convirti en la base fundamental para el desarrollo de las ciencias
de la computacin, programacin y control industrial. Con base en el uso de
este sistema, se puede formular proposiciones que toman uno de dos valores
posibles (verdadero o falso, 1 o 0) y combinarlas para formas nuevas proposi-
ciones y determinar su verdad o falsedad.
El lgebra booleana se puede presentar mediante unos postulados que re-
sumen sus elementos y propiedades bsicas, los cuales se muestran a continua-
cin [6, 10]:
Postulado 1. Denicin de lgebra Booleana: Sistema algebraico cerrado, dis-
tributivo y complementado formado por un conjunto H de dos o ms
elementos y los dos funtores y tal que si y pertenecen a H
entonces pertenece a H y tambin pertenece a H . De manera
formal:

_
,
_
H
_
Hy H
_
Postulado 2. Existencia de los Elementos 1 y 0: En el conjunto H existen los
elementos 1(uno) y 0(cero), nicos, denominados elementos neutros, tal
que se cumple:
_
H
_
0 =
_
_
H
_
1 =
_
Postulado 3. Conmutatividad
_
_
,
_
H
_
=
_
_
_
,
_
H
_
=
_
22 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
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
_
H
_
= 1
_
_
H
_
H
_
= 0
_
3.2.1. Principio de Dualidad
Establece que si una expresin T es vlida en el lgebra booleana, entonces
su expresin dual, la que se denomina Td tambin lo es. La expresin dual se
obtiene el reemplazar el operador por , el operador por , los 1 por 0 y
los 0 por 1. Se debe seguir manteniendo las precedencias relacionadas por los
parntesis. Con este principio se verica la validez de la expresin dual, ms
no su equivalencia con la expresin original. De manera formal este principio
establece:

T H

Td
_
Td H
_
Ejemplo: Encontrar la expresin dual para:
T
_
, ,
_
:
_
( )
_
( )
_
= ( )
_
si T
_
, ,
_
:
_
( )
_
( )
_
= ( )
_
ahora Td
_
, ,
_
:
_
( )
_
( )
_
= ( )
_
El principio de dualidad se puede vericar en las expresiones de los postulados
2 hasta 6. Se presenta a continuacin los teoremas fundamentales del lgebra
booleana [6, 10].
3.2. LGEBRA DE BOOLE 23
3.2.2. Teoremas Fundamentales
Teorema 1: Idempotencia
_
H
_
=
_
_
H
_
=
_
Teorema 2: Elementos neutros
_
H
_
1 = 1
_
_
H
_
0 = 0
_
Teorema 3: Involucin

H
_
() =
_
Teorema 4: Absorcin
_
_
,
_
H
_
( ) =
_
_
_
,
_
H
_
( ) =
_
Teorema 5: Segundo Teorema de Absorcin
_
_
,
_
H
_
( ) =
_
_
_
,
_
H
_
( ) =
_
Teorema 6: Tercer Teorema de Absorcin
_
_
,
_
H
_
( ) ( ) =
_
_
_
,
_
H
_
( ) ( ) =
_
Teorema 7: Cuarto Teorema de Absorcin
_
_
, ,
_
H
_
( ) ( ) = ( ) ( )
_
_
_
, ,
_
H
_
( ) ( ) = ( ) ( )
_
24 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Teorema 8: Teorema de DeMorgan
_
_
,
_
H
_
( ) =
_
_
_
,
_
H
_
( ) =
_
Este teorema se puede generalizar para n variables de la siguiente forma:
_
_
, , ...,
_
H
_
( ... ) = ...
_
_
_
, , ...,
_
H
_
( ... ) = ...
_
Teorema 9: Teorema de Consenso
_
_
, ,
_
H
_
( ) ( ) ( ) = ( ) ( )
_
_
_
, ,
_
H
_
( ) ( ) ( ) = ( ) ( )
_
3.2.3. Funciones de Conmutacin
El concepto de funcin de conmutacin se puede denir como sigue:
Sean
0
,
1
, ... ,
n1
variables, cada una de las cuales representa el elemen-
to 0 o 1, es decir al conjunto de los posibles valores que toma la variable, y sea
f
n
(
0
,
1
, ... ,
n1
) la funcin de aridad n para las variables
0
,
1
, ... ,
n1
.
La funcin f
n
puede tomar los valores 0 o 1 segn el conjunto de valores de-
nidos por las variables. Como se tienen n variables y cada variable puede
tomar uno de dos posibles valores se tendrn 2
n
posibles combinaciones de
asignacin de valores para las n variables y 2
2
n
posibles combinaciones para la
funcin de aridad n.
Para una funcin de aridad cero los posibles valores son f
0
0
= 0 y f
0
1
= 1. A
continuacin se muestra en las Tablas 3.6 y 3.7 las posibles combinaciones para
funciones de aridad 1 y 2.

0
f
1
0
f
1
1
f
1
2
f
1
3
0 0 1 0 1
1 0 0 1 1
Tabla 3.6: Posibles Combinaciones para Funcin de Aridad 1.
3.2. LGEBRA DE BOOLE 25

0

1
f
2
0
f
2
1
f
2
2
f
2
3
f
2
4
f
2
5
f
2
6
f
2
7
f
2
8
f
2
9
f
2
10
f
2
11
f
2
12
f
2
13
f
2
14
f
2
15
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
Tabla 3.7: Posibles Combinaciones para Funcin de Aridad 2.
En las tablas anteriores se puede observar que f
1
2
=
0
, mientras f
1
1
=
0
es la negacin de la variable, adems f
2
14
=
0

1
y f
2
8
=
0

1
. Lo anterior
indica que an no se han presentado todas las posibles funciones, aunque en
gran parte unas se pueden obtener a partir de la combinacin de las otras [6].
3.2.4. Funciones Lgicas
Existen tres funciones bsicas: la conjuncin, la disyuncin y la negacin,
a partir de las cuales por combinacin se puede obtener otras 4 que por su
amplia utilizacin se denen de forma independiente.
AND: Representa la conjuncin y se dene como:

0
, ... ,
n1
_
H
_
f
n
(
0
, ... ,
n1
) =
0
...
n1
= [ H
_
Cumple las propiedades de asociatividad y conmutatividad, especca-
mente 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
En la Figura 3.1 se muestra el smbolo de esta funcin segn la norma
ANSI/ IEEE St 91-1984 junto con la representacin para lgica cableada y
su tabla de verdad.
26 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
a
0
a
1
b
&
a
0
a
1
b

0

1

0

1
0 0 0
0 1 0
1 0 0
1 1 1
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.1: Representacin de la AND
OR: Representa la disyuncin y se dene como:

0
, ... ,
n1
_
H
_
f
n
(
0
, ... ,
n1
) =
0
...
n1
= [ H
_
Cumple las propiedades de asociatividad y conmutatividad, especca-
mente 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
En la Figura 3.2 se muestra el smbolo de esta funcin junto con la repre-
sentacin para lgica cableada y su tabla de verdad.
a
0
a
1
b
1
a
0
a
1
b

0

1

0

1
0 0 0
0 1 1
1 0 1
1 1 1
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.2: Representacin de la OR
3.2. LGEBRA DE BOOLE 27
NOT: Representa la negacin y se dene como:

0
_
H
_
f
1
(
0
) =
0
= [ H
_
En la Figura 3.3 se muestra el smbolo de esta funcin junto con la repre-
sentacin para lgica cableada y su tabla de verdad.
1
a
0
b 0
a
b

0

0
0 1
1 0
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.3: Representacin de la NOT
A partir de las tres funciones anteriores se puede obtener las siguientes cuatro,
aunque debido a su amplia utilizacin se han denido independientemente y
se les ha asignado un smbolo.
NAND: Se obtiene al implementar la conjuncin y al resultado aplicarle la
negacin, se dene como:

0
, ... ,
n1
_
H
_
f
n
(
0
, ... ,
n1
) = (
0
...
n1
) = [ H
_
Cumple la propiedad de conmutatividad ms no la de asociatividad. En
la Figura 3.4 se muestra el smbolo de esta funcin junto con la repre-
sentacin para lgica cableada y su tabla de verdad.
a
0
a
1
b
&
a
0
a
1
b

0

1
(
0

1
)
0 0 1
0 1 1
1 0 1
1 1 0
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.4: Representacin de la NAND
28 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
NOR: Se obtiene al implementar la disyuncin y al resultado aplicarle la ne-
gacin, se dene como:

0
, ... ,
n1
_
H
_
f
n
(
0
, ... ,
n1
) = (
0
...
n1
) = [ H
_
Cumple la propiedad de conmutatividad ms no la de asociatividad. En
la Figura 3.5 se muestra el smbolo de esta funcin junto con la repre-
sentacin para lgica cableada y su tabla de verdad.
a
0
a
1
b
1
a
0
a
1
b

0

1
(
0

1
)
0 0 1
0 1 0
1 0 0
1 1 0
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.5: Representacin de la NOR
XOR: Tambin denominada OR exclusiva, se dene como:
y = f
2
(
0
,
1
) =
0

1
= (
0

1
) (
0

1
)
Cumple las propiedades de asociatividad y conmutatividad. En la Figu-
ra 3.6 se muestra el smbolo de esta funcin junto con la representacin
para lgica cableada y su tabla de verdad.
a
0
a
1
b
=1
a
1
a
1
b
a
0
a
0

0

1

0

1
0 0 0
0 1 1
1 0 1
1 1 0
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.6: Representacin de la XOR
3.2. LGEBRA DE BOOLE 29
NXOR: Se obtiene al implementar la XOR y al resultado aplicarle la negacin,
se dene como:
= f
2
(
0
,
1
) = (
0

1
)
=
0

1
=
_
(
0

1
) (
0

1
)
_
Cumple la propiedad de conmutatividad ms no la de asociatividad. En
la Figura 3.7 se muestra el smbolo de esta funcin junto con la repre-
sentacin para lgica cableada y su tabla de verdad.
a
0
a
1
b
=1
a
1
a
1
b
a
0
a
0

0

1

0

1
0 0 1
0 1 0
1 0 0
1 1 1
Smbolo ANSI/ IEEE Lgica Cableada Tabla de Verdad
Figura 3.7: Representacin de la NXOR
3.2.4.1. Universalidad de la NAND y la NOR
Toda funcin de conmutacin se puede representar usando solo compuer-
tas NAND o NOR, lo cual se deduce de las siguientes propiedades, donde g es
una funcin NAND y h es una funcin NOR:
g
1
1
(
0
) = (
0

0
) =
0
g
2
2
(
0
,
1
) =
_
(
0

1
)
_
=
0

1
g
2
3
(
0
,
1
) =
_

0

1
_
=
0

1
h
1
1
(
0
) = (
0

0
) =
0
h
2
2
(
0
,
1
) =
_
(
0

1
)
_
=
0

1
h
2
3
(
0
,
1
) =
_

0

1
_
=
0

1
En la Figura 3.8 se puede observar la universalidad de estas dos funciones.
30 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Funcin NAND NOR
NOT
a
0
&
a
0
a
0
1
a
0
g
1
1
h
1
1
AND
a
0
a
1
& &
a
0
a
1
1
1
1
g
2
2
h
2
2
OR
a
0
a
1
&
&
&
a
0
a
1
1 1
g
2
3
h
2
3
Figura 3.8: Universalidad de la NAND y la NOR
3.2.5. Formas Algebraicas Estndar
3.2.5.1. Formas SOP y POS
Las funciones de conmutacin se pueden representar de muchas formas,
pero particularmente son de inters las dos siguientes [6, 9].
3.2. LGEBRA DE BOOLE 31
La primera de ellas es la forma SOP (suma de productos) la cual se cons-
truye al realizar la 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 continua-
cin:
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
denicin 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

2
) (
0

2
) (
0

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 com-
plementada tome un valor de 0, se aprovecha este valor de cada variable
para hacer un cdigo binario con tantos bits como variables en la fun-
cin, con el cual se podr simplicar la escritura del mintrmino en una
funcin de forma SOP cannica. En la Tabla 3.9 se muestra esta simpli-
cacin para los mintrminos de la funcin anterior.
Mintrmino Cdigo Simplicacin
(
0

1

2
) 100 m
4
(
0

1

2
) 001 m
1
(
0

1

2
) 011 m
3
Tabla 3.9: Notacin Simplicada de Mintrminos
32 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Se observa que se ha simplicado la escritura de cada mintrmino me-
diante m
i
, donde i es el entero decimal correspondiente al cdigo bina-
rio del mintrmino. 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(1, 3, 4)
Maxtrmino Es un trmino en disyuncin 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 POS
los trminos (
0

1

2
) y (
0

1

2
) son maxtrminos al
cumplir ambos con la denicin dada.
Si una funcin se expresa en forma POS y adems todos sus trminos son
maxtrminos, entonces se dice que la funcin posee la forma Cannica de
Producto de Sumas, o simplemente la forma POS Cannica. A continuacin
se presenta un ejemplo de forma POS cannica.
f
3
(
0
,
1
,
2
) = (
0

2
) (
0

2
) (
0

2
)
Como para que un maxtrmino tome un valor lgico de 0 se necesita
que cada variable no complementada tome un valor de 0 y cada varia-
ble complementada tome un valor de 1, 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 simplicar la escritura del maxtrmino
en una funcin de forma POS cannica. En la Tabla 3.10 se muestra esta
simplicacin para los maxtrminos de la funcin anterior.
Maxtrminos Cdigo Simplicacin
(
0

1

2
) 101 M
5
(
0

1

2
) 010 M
2
(
0

1

2
) 011 M
3
Tabla 3.10: Notacin Simplicada de Maxtrminos
Se observa que se ha simplicado la escritura de cada maxtrmino me-
diante M
i
, 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)
3.2. LGEBRA DE BOOLE 33
3.2.5.3. Formas Cannicas Equivalentes
Cada forma SOP cannica tiene una forma POScannica equivalente dando
una representacin nica para cada funcin [6]. Lo anterior se puede observar
al examinar la Tabla 3.11 de verdad siguiente para una funcin dada.

0

1

2
f
3
(
0
,
1
,
2
)
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 0
Tabla 3.11: Formas Cannicas Equivalentes
Las posiciones donde la funcin toma un valor de 1 deben corresponder
a los mintrminos que la componen, de igual forma las posiciones donde la
funcin toma un valor de 0 deben corresponder con los maxtrminos. Por tanto
cada funcin se puede representar de forma equivalente ya sea mediante sus
mintrminos o sus maxtrminos. Para el caso de la funcin de la Tabla 3.11,
sta se puede representar de cualquiera de las siguientes formas:
f
3
(
0
,
1
,
2
) =

m(0, 2, 3, 6)
=

M(1, 4, 5, 7)
3.2.6. Trminos Dont Care
Los trminos Dont Care o No Importa son aquellos que dentro de una
funcin se derivan de combinaciones de las variables de entrada que se sabe
nunca se presentarn, por tanto se pueden considerar indistintamente como
mintrminos o maxtrminos sin afectar el comportamiento, es ms, a conve-
niencia se pueden incluir o excluir. A estos trminos, debido a su inclusin
opcional en las formas cannicas, se les denomina frecuentemente como pres-
cindibles [6, 10].
Ejemplo: Encontrar las formas cannicas para una funcin que indica con un
valor lgico de 1 si un nmero de entrada en cdigo BCD es mayor a 3 y
menor o igual a 7.
Para este caso, la entrada posee cuatro variables con las cuales se repre-
sentan los nmeros enteros del 0 al 15, pero un cdigo BCD solo codica
los nmeros del 0 al 9, por tanto las posiciones 10 a 15 son Dont Care
34 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
y se podrn de forma indistinta incluir en la representacin por mintr-
minos o maxtrminos. A continuacin se muestra la tabla de verdad para
este ejemplo.
Cdigo
0

1

2

3
f
4
(
0
,
1
,
2
,
3
)
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 0
3 0 0 1 1 0
4 0 1 0 0 1
5 0 1 0 1 1
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 d
11 1 0 1 1 d
12 1 1 0 0 d
13 1 1 0 1 d
14 1 1 1 0 d
15 1 1 1 1 d
Tabla 3.12: Trminos Dont Care
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
) =

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


=

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


3.3. Simplicacin de Funciones de Conmutacin
3.3.1. Mapas de Karnaugh
El objetivo de la simplicacin de las funciones de conmutacin radica en
la minimizacin de costos, ya sea de realizacin o de implementacin. Uno de
los mtodos ms ampliamente empleados para la simplicacin son los de-
nominados Mapas de Karnaugh, los cuales estn basados en los principios del
lgebra de conjuntos, lgebra de Boole, tablas de verdad y mintrminos o max-
trminos [1, 6].
3.3. SIMPLIFICACIN DE FUNCIONES DE CONMUTACIN 35
Para una funcin de aridad 2, se tendrn cuatro posibles combinaciones de
las variables, las cuales se pueden representar de forma grca en un Diagrama
de Venn
2
como se muestra en la Figura 3.9.
Cd
0

1
min
0 0 0 m
0
1 0 1 m
1
2 1 0 m
2
3 1 1 m
3
a0,a1
a0,a1 a0, a1 a0, a1
m0
m2 m3 m1

0
(0)

0
(1)

1
(0) m
0
m
2

1
(1) m
1
m
3
0 1
0
1
a1
a0
0 2
1 3
Tabla de Verdad Diagrama de Venn Diagr. Rectangular Mapa de Karnaugh
Figura 3.9: Mapa de Karnaugh para Funcin de Aridad 2
Cd
0

1

2
min
0 0 0 0 m
0
1 0 0 1 m
1
2 0 1 0 m
2
3 0 1 1 m
3
4 1 0 0 m
4
5 1 0 1 m
5
6 1 1 0 m
6
7 1 1 1 m
7
a0,a1,a2
m0
a0,a1,a2
a0,a1,a2
a0,a1,a2
a0,a1,a2
a0,a1,a2 a0,a1,a2
a0,a1,a2
m7
m2
m4
m1
m3 m5
m6
0 1
00
a1,a2
a0
0 4
1 5
3 7
2 6
01
11
10
Tabla de Verdad Diagrama de Venn Mapa de Karnaugh
Figura 3.10: Mapa de Karnaugh para Funcin de Aridad 3
Para una funcin de aridad 3, se tendrn 8 posibles combinaciones de las
variables, las cuales se pueden observar en la Figura 3.10 representadas en un
Mapa de Karnaugh.
El mapa de Karnaugh para el caso de funcin de aridad 3 tambin puede
ser representado de forma horizontal como se muestra en la Figura 3.11.
2
Un Diagrama de Venn es una representacin grca para el lgebra de conjuntos, y como el
lgebra de conjuntos es un lgebra booleana en la que los conjuntos son los elementos del lge-
bra, esta representacin es posible. La operacin de interseccin corresponde a la conjuncin y la
operacin de unin a la disyuncin.
36 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
00
0
a2
a0,a1
0 2
1 3
1
6 4
7 5
01 11 10
Figura 3.11: Otra Representacin del Mapa de Karnaugh
para Funcin de Aridad 3
Para el caso de una funcin de aridad 4, el mapa de Karnaugh se podra
representar en las formas indicadas en la Figura 3.12.
Cd
0

1

2

3
min
0 0 0 0 0 m
0
1 0 0 0 1 m
1
2 0 0 1 0 m
2
3 0 0 1 1 m
3
4 0 1 0 0 m
4
5 0 1 0 1 m
5
6 0 1 1 0 m
6
7 0 1 1 1 m
7
8 1 0 0 0 m
8
9 1 0 0 1 m
9
10 1 0 1 0 m
10
11 1 0 1 1 m
11
13 1 1 0 0 m
12
13 1 1 0 1 m
13
14 1 1 1 0 m
14
15 1 1 1 1 m
15
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
00
00
a0,a1
a2,a3
01
0 1
4 5
3 2
7 6
01 11 10
12 13
8 9
15 14
11 10
11
10
Tabla de Verdad Mapas de Karnaugh
Figura 3.12: Mapas de Karnaugh para Funcin de Aridad 4
En general, en un mapa de Karnaugh para una funcin de aridad n, una
celda posee n celdas adyacentes, donde las celdas son enumeradas mediante
el Cdigo Gray
3
y cada una representa a un posible mintrmino o maxtrmino
de la funcin. Debido a que una celda debe poseer n celdas adyacentes, en
el mapa de Karnaugh para una funcin de aridad 4 por ejemplo, la celda del
3
El cdigo Gray es un cdigo no aritmtico donde de una cantidad a otra solo vara un bit a la
vez.
3.3. SIMPLIFICACIN DE FUNCIONES DE CONMUTACIN 37
mintrmino m
0
es adyacente con las celdas de los mintrminos m
1
, m
2
, m
4
y
m
8
. Lo anterior signica que los lados derecho e izquierdo de un mapa de
Karnaugh son continuos y lo mismo sucede con los lados superior e inferior.
En otras palabras, para una celda sus adyacentes son todas aquellas en las que
solamente una variable cambia a la vez.
3.3.2. Simplicacin por Mapas de Karnaugh
Para la simplicacin de una funcin sobre un mapa de Karnaugh, se copia
el valor para cada combinacin de entrada en la celda correspondiente (un 1
para los mintrminos y un 0 para los maxtrminos), aunque por simplicidad
se acostumbra colocar solo los 1 o 0, ms no ambos [6, 10].
El objetivo ser entonces realizar agrupaciones de celdas donde hay un 1
en grupos potencias de 2 (grupos de 2, 4, 8 etc. celdas). Cada grupo debe ser
lo ms grande posible ya que ello eliminar ms variables, adems la cantidad
total de agrupaciones debe ser la menor posible tal que todos los mintrminos
queden incluidos como mnimo en un grupo.
Un grupo formado por 2
n
celdas elimina n variables. Las variables que se
eliminan son aquellas que dentro de un grupo presentan cambio en su valor
(cambian de 1 a 0) y permanecen aquellas que dentro del grupo no presentan
cambio (permanecen en 1 o en 0). Al nal la funcin simplicada estar for-
mada por la disyuncin de trminos en conjuncin, donde cada trmino es un
grupo ya simplicado desde el mapa de Karnaugh.
Ejemplo: Mediante un mapa de Karnaugh simplicar la siguiente funcin.
f
4
(
0
,
1
,
2
,
3
) =

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


La funcin representada sobre un mapa de Karnaugh queda como se
muestra en la Figura 3.13.
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1 1
1 1
1
1
1
a3
a2
a0
a1
Figura 3.13: Mapa de Karnaugh para Simplicar Mintrminos
38 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Con el objeto de poder incluir a todos los mintrminos en el menor nmero
de agrupaciones, pero a la vez con cada grupo lo ms grande posible, se
forman las siguientes agrupaciones las cuales tambin se muestran en la
Figura 3.14.
Grupo 1 = m
8
, m
10
Grupo 2 = m
3
, m
7
Grupo 3 = m
5
, m
7
, m
13
, m
15
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1 1
1 1
1
1
1
a3
a2
a0
a1
Figura 3.14: Agrupaciones para Simplicar Mintrminos
Para el Grupo 1 se puede observar que la variable
2
es la nica que
cambia, igualmente es de esperarse que solo lo haga una, ya que como el
grupo est formado por 2
1
celdas se debe eliminar solo 1 variable.
Para el Grupo 2 se puede observar que la variable
1
es la nica que
cambia y por tanto es la variable a eliminar para este grupo.
Para el Grupo 3 se puede observar que las variables
0
y
2
son las que
cambian, igualmente es de esperarse que cambien dos, ya que como el
grupo est formado por 2
2
celdas se debe eliminar 2 variables.
Del procedimiento anterior, se puede entonces escribir la funcin simpli-
cada de la siguiente forma:
f
4
(
0
,
1
,
2
,
3
) = (
0

1

3
) (
0

2

3
) (
1

3
)
La simplicacin de funciones en los mapas de Karnaugh tambin se puede
realizar utilizando los maxtrminos. Para ello se debe copiar un 0 en cada cel-
da correspondiente a un maxtrmino y realizar la agrupacin siguiendo los
mismos criterios ya expuestos para los mintrminos. Al nal la funcin sim-
plicada estar formada por la conjuncin de trminos en disyuncin, donde
cada trmino es un grupo ya simplicado desde el mapa de Karnaugh.
3.3. SIMPLIFICACIN DE FUNCIONES DE CONMUTACIN 39
Ejemplo: Simplicar la siguiente funcin usando un mapa de Karnaugh.
f
4
(
0
,
1
,
2
,
3
) =

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


A continuacin se procede a copiar un 0 en el mapa de Karnaugh en cada
celda correspondiente a un maxtrmino, como se indica en la Figura 3.15.
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
0
0
0
0
0
0 0
a3
a2
a0
a1
Figura 3.15: Mapa de Karnaugh para Simplicar Maxtrminos
Conservando el objetivo de incluir a todos los maxtrminos en el menor
nmero de agrupaciones, pero a la vez con cada grupo lo ms grande
posible, se forman las siguientes agrupaciones, las cuales tambin se pue-
den observar en la Figura 3.16.
Grupo 1 = M
9
, M
13
Grupo 2 = M
2
, M
10
Grupo 3 = M
12
, M
13
, M
14
, M
15
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
0
0
0
0
0
0 0
a3
a2
a0
a1
Figura 3.16: Agrupaciones para Simplicar Maxtrminos
40 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Para el Grupo 1 se puede observar que la variable
1
es la nica que
cambia, ya que como el grupo est formado por 2
1
celdas esta es la nica
variable a eliminar.
Para el Grupo 2 se puede observar que la variable
0
es la nica que
cambia y por tanto es la variable a eliminar para este grupo.
Para el Grupo 3 se puede observar que las variables
2
y
3
son las que
cambian, igualmente es de esperarse que cambien dos, ya que como el
grupo est formado por 2
2
celdas se debe eliminar 2 variables.
Del procedimiento anterior, se puede entonces escribir la funcin simpli-
cada de la siguiente forma:
f
4
(
0
,
1
,
2
,
3
) = (
0

2

3
) (
1

2

3
) (
0

1
)
Ejemplo: Simplicar la siguiente funcin la cual posee trminos Dont Care.
f
4
(
0
,
1
,
2
,
3
) =

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


La funcin sobre un mapa de Karnaugh, incluyendo tanto los mintrmi-
nos como los Dont Care se muestran en la Figura 3.17.
00
00
a2,a3
a0,a1
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1
1
d
d
1
1 1
a3
a2
a0
a1
d
1
1 1
d
Figura 3.17: Simplicacin con Trminos Dont Care
Como los trminos Dont Care se pueden considerar de forma indis-
tinta 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 trmi-
no d
15
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 si-
guientes:
3.3. SIMPLIFICACIN DE FUNCIONES DE CONMUTACIN 41
Grupo 1 = m
0
, m
2
, m
8
, m
10
Grupo 2 = m
4
, m
5
, m
6
, m
7
Grupo 3 = m
2
, m
6
, m
10
, m
14
Grupo 4 = m
9
, m
13
Eliminando las variables que cambian en cada uno de los grupos, se ob-
tiene la siguiente funcin simplicada:
f
4
(
0
,
1
,
2
,
3
) = (
1

3
) (
0

1
) (
2

3
) (
0

3
)
3.3.3. Simplicacin por Quine-McCluskey
Este mtodo de simplicacin de funciones de conmutacin es un algorit-
mo tabular con base en los mapas de Karnaugh. Permite la implementacin de
una metodologa sistemtica para encontrar una funcin mnima con la ven-
taja adicional de poder manejar un gran nmero de variables, lo cual es de
gran ayuda ya que los mapas de Karnaugh estn limitados en la practica a slo
cuatro o mximo cinco variables [6, 9].
El mtodo inicia con una lista enumerada de todos los mintrminos de una
funcin de aridad n, agrupados en forma ordenada de acuerdo al nmero de
unos 1 que contiene cada uno. Lo anterior con el n de identicar todos los
posibles trminos adyacentes los cuales se caracterizan por diferenciarse en
solo una variable.
Seguidamente en una nueva columna se anota el resultado de bsqueda
de mintrminos adyacentes entre grupos vecinos. En esta nueva lista se debe
indicar mediante un signo de guin - la variable que cambia y adicional-
mente sealar los trminos agrupados desde la columna anterior. En esta nue-
va columna lo que se ha logrado es la identicacin de trminos con n-1 varia-
bles producto de la simplicacin de una de ellas gracias a la adyacencia.
El paso anterior se debe repetir iterativamente adicionando nuevas colum-
nas hasta que no sea posible agrupar ms trminos. Cada nueva columna im-
plica trminos con una variable menos. Al nal, los trminos no sealados (es
decir aquellos no agrupados en un grupo mayor) sern los candidatos a cubrir
completamente la funcin de forma mnima.
Finalmente se debe hacer una tabla que liste en las columnas todos los
mintrminos y en las las los trminos no agrupados en los pasos anteriores.
Lego se indica mediante un signo X los mintrminos que abarca un trmino
determinado. Los mintrminos cubiertos por solo un trmino determinan a tr-
minos esenciales para cubrir la funcin. Luego de la identicacin de todos los
mintrminos cubiertos por los trminos esenciales se busca el mnimo nmero
de trminos adicionales que abarquen a los mintrminos no cubiertos an.
Ejemplo: Simplicar la siguiente funcin empleando el mtodo tabular de
Quine-McCluskey.
42 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
f
4
(
0
,
1
,
2
,
3
) =

m0, 2, 3, 6, 7, 8, 9, 10, 13
El primer paso consiste en realizar la lista enumerada de todos los mintr-
minos ordenados de acuerdo al nmero de 1 en cada uno de ellos.
Columna 1
Mintrminos
0

3
0 0000 Cero unos
2 0010 Dos unos
8 1000
3 0011
6 0110
9 1001 Tres unos
10 1010
7 0111 Cuatro
13 1101 Unos
Tabla 3.13: Lista de Mintrminos Ordenados por Vecindad
A continuacin se realiza la bsqueda de trminos adyacentes entre veci-
nos de la primera columna y el resultado se anota en una nueva columna,
tal como se muestra a continuacin:
Columna 1 Columna 2
Mintr
0

3
Mintr
0

3
0 0000 * 0 y 2 00_0
0 y 8 _000
2 0010 *
8 1000 * 2 y 3 001_
2 y 6 0_10
3 0011 * 2 y 10 _010
6 0110 * 8 y 9 100_
9 1001 * 8 y 10 10_0
10 1010 *
3 y 7 0_11
7 0111 * 6 y 7 011_
13 1101 * 9 y 13 1_01
Tabla 3.14: Primera Bsqueda de Trminos Adyacentes
3.3. SIMPLIFICACIN DE FUNCIONES DE CONMUTACIN 43
Seguidamente se contina con la bsqueda de adyacencias, ahora entre
los trminos de la segunda columna y los resultados se anotan en otra
nueva columna, tal como se indica a continuacin:
Columna 1 Columna 2 Columna 3
Mintr
0

3
Mintr
0

3
Mintr
0

3
0 0000 * 0 y 2 00_0 * 0,2,8,10 _0_0 T1
0 y 8 _000 * 2,3,6,7 0_1_ T2
2 0010 *
8 1000 * 2 y 3 001_ *
2 y 6 0_10 *
3 0011 * 2 y 10 _010 *
6 0110 * 8 y 9 100_ T3
9 1001 * 8 y 10 10_0 *
10 1010 *
3 y 7 0_11 *
7 0111 * 6 y 7 011_ *
13 1101 * 9 y 13 1_01 T4
Tabla 3.15: Segunda Bsqueda de Trminos Adyacentes
Como ya no es posible realizar nuevas agrupaciones entre los trminos
de la tercera columna, entonces se procede a identicar los trminos que
no han sido agrupados, con los cuales ahora se realiza una nueva tabla
con ellos listados en las las y todos los mintrminos de la funcin en las
columnas, tal como se indica a continuacin:
0 2 3 6 7 8 9 10 13
T1 0,2,8,10 _0_0 X X X X
T2 2,3,6,7 0_1_ X X X X
T3 8,9 100_ X X
T4 9,13 1_01 X X
Tabla 3.16: Listado de Trminos No Agrupados y Mintrminos
De la tabla anterior se puede observar que el trmino T1 es esencial para
la funcin ya que es el nico que cubre a los mintrminos 0 y 10, adems
el trmino T2 igualmente es esencial al ser el nico de cubre los mintrmi-
nos 3, 6 y 7, e igualmente T4 es el nico que cubre al mintrmino 13. Con
estos tres trminos esenciales se cubre la totalidad de los mintrminos de
la funcin tal como se muestra a continuacin:
44 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
* * * * * * * * *
0 2 3 6 7 8 9 10 13
T1 0,2,8,10 _0_0 * X X X X
T2 2,3,6,7 0_1_ * X X X X
T3 8,9 100_ X X
T4 9,13 1_01 * X X
Tabla 3.17: Identicacin de Trminos que Cubren Todos los Mintrminos
La funcin simplicada entonces es la siguiente:
f
4
(
0
,
1
,
2
,
3
) = (
1

3
) (
0

2
) (
0

2

3
)
3.4. Automatismos Secuenciales
En los sistemas secuenciales los valores de las variables de salida, para un
instante determinado, dependen no slo de los valores de las entradas en ese
instante (como era el caso de los sistemas combinacionales) sino tambin del
estado presente en el cual se encuentre el sistema. En esta conguracin, los
estados se asocian con elementos de memoria que determinan el estado pre-
sente, el estado siguiente y la forma de hacer la transicin de un estado a otro.
Adems, el valor del estado siguiente de los elementos de memoria es funcin
de los valores de las entradas y del estado presente [1, 2, 6].
Se dene como Variables de Estado a los valores binarios asociados con cada
uno de los elementos de memoria. Un Estado es cada una de las combinaciones
que puede tomar el conjunto de variables de estado, conteniendo toda la infor-
macin necesaria para denir el comportamiento futuro.
Con l variables de estado, un sistema secuencial posee 2
l
posibles estados,
siendo ste un valor nito, de donde se deriva el nombre de Mquinas de Estados
Finitos.
LGICA
COMBINACIONAL
MEMORIA
x1
x2
xn
z1
z2
zm
W1 Wl w1 wl
Figura 3.18: Mquina de Estados Finitos
3.4. AUTOMATISMOS SECUENCIALES 45
Como se puede observar en la Figura 3.18, un sistema secuencial que posee
n variables de entrada (x
1
, x
2
, ... , x
n
), m variables de salida (z
1
, z
2
, ... , z
m
), l
entradas a los elementos de memoria (w
1
, w
2
, ... , w
l
) y l salidas de los elemen-
tos de memoria (W
1
, W
2
, ... , W
l
), las salidas y variables de estado son dadas
por las siguientes funciones:
z
i
=
n+l
i
(x
1
, x
2
, ... , x
n
, W
1
, W
2
, ... , W
l
)
w
i
=
n+l
i
(x
1
, x
2
, ... , x
n
, W
1
, W
2
, ... , W
l
)
Donde
n+l
i
y
n+l
i
son respectivamente la i sima funcin de salida y de
estado siguiente de aridad n +l.
3.4.1. Clasicacin de los Sistemas Secuenciales
3.4.1.1. Mquinas de Mealy y de Moore
De acuerdo con la topologa adoptada por los sistemas secuenciales, se dis-
tinguen dos principalmente, dependiendo de si las salidas son funcin nica-
mente de las variables de estado o tambin de las entradas [2, 6, 10].
La primera es la Mquina de Mealy, donde en todo instante sus salidas son
funcin de las variables de estado y de las entradas. La disposicin de este
autmata se puede observar en la Figura 3.19.
Sistema
de
Memoria
Estado
Presente
Lgica
combinacional
para estado
siguiente
Entradas
Salidas
Lgica
combinacional
de Salida
Figura 3.19: Mquina de Mealy
La segunda es la Mquina de Moore, donde en todo instante sus salidas son
funcin nicamente de las variables de estado. Esta topologa se muestra en la
Figura 3.20.
46 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Sistema
de
Memoria
Estado
Presente
Lgica
combinacional
para estado
siguiente
Entradas
Salidas
Lgica
combinacional
de Salida
Figura 3.20: Mquina de Moore
3.4.1.2. Sistemas Sncronos y Asncronos
Los sistemas secuenciales tambin se pueden clasicar en Sncronos y Asn-
cronos. Los sncronos son aquellos donde los cambios de estado y de las varia-
bles se realizan de forma sincronizada con los pulsos de un reloj sin importar
que se presenten cambios entre pulsos consecutivos. En los sistemas asncronos
las variables de entrada actan sobre el estado interno del sistema en el mismo
instante que estas cambian de valor, o en otras palabras, las transiciones en-
tre estados dependen de la frecuencia con que se presenten cambios en dichas
seales.
3.4.2. Diagrama de Estados
El Diagrama de Estados es una representacin grca de un sistema secuen-
cial que ayuda a presentar de forma clara la relacin funcional existente en-
tre 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 las 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 (repre-
sentados por dos variables de estado ya que 2
2
= 4), una variable de entrada y
una variable de salida.
3.4. AUTOMATISMOS SECUENCIALES 47
Entrada (x)
Estado Actual 0 1
A C/ 0 B/ 1
B B/ 1 C/ 0
C A/ 0 D/ 1
D D/ 1 A/ 0
Tabla 3.18: Ejemplo de Tabla de Estados
A B
C D
1
1
0
0
0
0
1
1
0
1
1
0
1
0
0
1
Figura 3.21: Ejemplo de Diagrama de Estados
Para este diagrama la respectiva tabla de estados es la que se muestra en la
Tabla 3.18.
3.4.3. Dispositivos de Memoria
Para la implementacin de una mquina nita de estados es necesario con-
tar entonces con dispositivos de memoria en los cuales se pueda guardar el
valor de los estados presentes y con base en los cuales se pueda determinar
el estado futuro al que pasar el sistema. Estos dispositivos son denominados
Biestables, ya que conservan de forma permanente uno de dos estados posibles,
0 y 1. Para su estudio se considerar que el valor de la salida en un instante
determinado de tiempo ser Q(t) y el valor de salida para el estado siguiente
ser Q(t + 1) el cual depender del valor de las entradas y del estado presente
[6, 10].
48 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
3.4.3.1. Latch Set-Reset
El latch, conocido tambin como cerrojo esttico, es un elemento de memo-
ria cuyas seales de excitacin o entrada determinan el estado del dispositivo.
El dispositivo latch ms bsico se puede lograr utilizando una compuerta OR
y retroalimentando la salida hacia una de las entradas como se muestra en la
Figura 3.22. Si inicialmente ambas entradas se encuentran en un valor lgico
de 0, la salida ser igualmente 0. Al aplicar un valor lgico de 1 a la entrada
libre, la salida pasar a un valor de 1 y ste se realimentar a la otra entrada
con lo cual la salida estar estable en 1. Si seguidamente se aplica un valor de
entrada de 0, la salida permanecer en 1 debido al valor lgico de 1 en la en-
trada con realimentacin. De la forma anterior se ha logrado guardar el valor
1 de forma permanente y este no cambiar a pesar de los valores que tome la
entrada libre. Para este caso, al dispositivo se le denomina un latch set y de este
mismo nombre asume la designacin la entrada libre (S) ya que cuando sta
toma el valor lgico 1 la salida permanecer indenidamente en 1.
1
0
0
0
1
1
1
1
1
1
0
1
S
Q
Figura 3.22: Latch Set
Ahora, haciendo uso del teorema de involucin y universalizando con com-
puertas NOR la conguracin anterior se puede representar como se indica en
la Figura 3.23. Entre la salida de la primera compuerta NOR y la entrada de
la segunda se ha tomado una seal que claramente es la negacin de la salida
vista para el latch set (Q). A esta nueva conguracin se le denomina latch
reset, ya que anlogamente al anterior, iniciando con valores lgicos de 0 en
ambas entradas la salida de la primera NOR ser 1, luego al aplicar un valor
de 1 en la entrada libre se obtendr el valor 0 a la salida de la primera NOR y
un valor de 1 a la salida de la segunda NOR, ste ltimo valor se retroalimenta
con lo cual ahora la primera NOR tiene un valor de 1 en ambas entradas, lo cual
vuelve y produce un 0 a la salida y la conguracin tendr un estado estable.
Si luego se coloca un valor de cero a la entrada libre de la primera NOR nueva-
mente su salida ser 0 y permanecer as sin importar el valor lgico aplicado
en la entrada libre. Dado el anterior comportamiento, esta conguracin recibe
el nombre de latch reset y la entrada se designa como (R).
3.4. AUTOMATISMOS SECUENCIALES 49
1
0
0
1
1
0
1
1
1
1
0
1
1
0
1
1
0
0
1
1
R
Q
Figura 3.23: Latch Reset
Las dos conguraciones anteriores no tienen una aplicacin til ya que una
vez se ha jado un valor de 1 o 0 respectivamente en cada una de ellas, no
es posible volver a cambiarlo. En la prctica se necesita de un dispositivo que
permita ser activado o desactivado segn los requerimientos. Si en la congu-
racin del latch reset se deja libre una de las entradas a la segunda compuerta
NOR (la que realiza la funcin de negacin) se obtiene un sistema como el de
la Figura 3.24, el cual es conocido como un latch set-reset o simplemente Latch
SR.
1
1
S
Q
R
Q
1
1
S
R
Q
Q
S
R
Q
Q
Figura 3.24: Latch Set-Reset
En la Tabla 3.19 se muestra el valor que toma la salida Qpara 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 conguracin
50 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
anterior, si las entradas S y R toman simultneamente el valor lgico 1 las
salidas Q y su complemento (Q) toman el valor 0, lo cual crea una condicin
de competencia entre las compuertas y, dependiendo de la estructura fsica de
stas, no se podra asegurar el valor de la salida. Por lo anterior la combinacin
de entrada R = S = 1 no es permitida para este sistema.
S R Q
0 0 0
0 1 0
Se guarda un 1 1 0 1
0 0 1
Se guarda un 0 0 1 0
0 0 0
Entrada ilegal 1 1 X
Tabla 3.19: Secuencia de Excitacin en una Latch SR.
La tabla de excitacin para el latch SR se muestra en la Tabla 3.20, con la
cual adems se puede encontrar la ecuacin caracterstica, relacionando el va-
lor futuro de la salida con las entradas y el valor presente.
Entradas
Estado
Presente
Estado
Siguiente
S R Q(t) Q(t + 1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 X
1 1 1 X
Tabla 3.20: Tabla de Excitacin para el Latch SR.
La ecuacin caracterstica se puede vericar llevando los datos de la tabla
de excitacin para el latch SR a un mapa de Karnaugh y obteniendo la funcin
simplicada para Q(t + 1):
Q(t + 1) = S R Q(t)
3.4. AUTOMATISMOS SECUENCIALES 51
3.4.3.2. Latch SCR
Posee la misma conguracin del latch SR, pero a su entrada se le dispone
un arreglo que permite habilitar o inhibir los cambios de estado. De esta forma,
se introduce un control en los valores de entrada restringiendo su aplicacin al
latch slo cuando un valor lgico de 1 se aplica a la entrada de control C. Cuan-
do la entrada de control tiene un valor lgico de 0 las entradas se inhiben y el
latch SR no cambiar de estado ya que en set y reset tendr simultneamente
el valor 0. La conguracin de este latch y su representacin se muestran en
la Figura 3.25. Basado en el nombre de sus entradas, este latch recibe la desig-
nacin de Latch SCR.
S
R
Q
Q
&
&
S
R
C
S
R
Q
Q
C
Figura 3.25: Latch SCR
La tabla de excitacin y la ecuacin caracterstica para el latch SCR se mues-
tran a continuacin en la Tabla 3.21.
Entradas
Estado
Presente
Estado
Siguiente
C S R Q(t) Q(t + 1)
0 d d 0 0
0 d d 1 1
1 0 0 0 0
1 0 0 1 1
1 0 1 0 0
1 0 1 1 0
1 1 0 0 1
1 1 0 1 1
1 1 1 0 X
1 1 1 1 X
Tabla 3.21: Tabla de Excitacin para el Latch SCR.
Q(t + 1) = (S C) (R Q(t)) (C Q(t))
52 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
En la tabla y ecuacin anterior se puede observar que cuando la entrada de
control toma un valor lgico de 0, no importa que valores asuman las entradas
S y R, el estado siguiente es siempre el mismo estado presente. Cuando la
entrada de control toma el valor 1, la tabla es exactamente la misma que para
el latch SR.
3.4.3.3. Latch D
Es la misma conguracin de una latch SCR, pero en este caso a la entra-
da R se asigna el valor negado de la entrada S, dando lugar a un nico dato
de entrada denominado D. La conguracin y representacin del Latch D se
muestra en la Figura 3.26. Para este dispositivo, dada su conguracin, la tabla
de excitacin del latch SCR se restringe a aquellos valores donde S es diferen-
te de R dando como resultado que para poder almacenar un valor lgico, ya
sea 1 o 0, se debe ingresar como dato el mismo valor a almacenar. La tabla de
excitacin se puede observar en la Tabla 3.22.
S
R
Q
Q
&
&
D
C
D
C
Q
Q
Figura 3.26: Latch D
Entradas
Estado
Presente
Estado
Siguiente
C D Q(t) Q(t + 1)
0 d 0 0
0 d 1 1
1 0 0 0
1 0 1 0
1 1 0 1
1 1 1 1
Tabla 3.22: Tabla de Excitacin para el Latch D.
A continuacin se muestra la ecuacin caracterstica del latch D.
Q(t + 1) = (D C) (C Q(t))
3.4. AUTOMATISMOS SECUENCIALES 53
3.4.3.4. Flip-Flop SR
Los ip-ops 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 conguracin ms empleada es la maestro-
esclavo 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
C
(reloj)
S
R
Q
Q
C
S
R
Q
Q
C
S
R
Q
Q
C
1 1
Maestro Esclavo
Figura 3.27: Flip-Flop SR
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
Rsean 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 ip-op 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 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Entradas
Estado
Presente
Seal de
Activacin
Estado
Siguiente
S R Q(t) C Q(t + 1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 X
1 1 1 X
Tabla 3.23: Tabla de Excitacin para el Flip-Flop SR.
Q(t + 1) = S R Q(t)
3.4.3.5. Flip-Flop D
Este ip-op emplea para la conguracin maestro esclavo a dos latch D.
La representacin y conguracin se puede observar en la Figura 3.28.
D
C
(reloj)
D
C
Q
Q
D
C
Q
Q
D
C
Q
Q
1 1
Maestro Esclavo
Figura 3.28: Flip-Flop D
La tabla de excitacin para este ip-op se reduce a la que se muestra en la
Tabla 3.24.
Entrada
Estado
Presente
Seal de
Activacin
Estado
Siguiente
D Q(t) C Q(t + 1)
0 0 0
0 1 0
1 0 0
1 1 1
Tabla 3.24: Tabla de Excitacin para el Flip-Flop D.
3.4. AUTOMATISMOS SECUENCIALES 55
La ecuacin caracterstica se muestra a continuacin.
Q(t + 1) = D
3.4.3.6. Flip-Flop JK
Este ip-op se comporta igual a uno SR con la diferencia que elimina la
restriccin existente para S = R = 1. Para lograr este cometido, se realiza
la conguracin mostrada en la Figura 3.29, donde ahora la entrada J hace
las veces de la entrada S y la entrada K de R. En esta conguracin cuando
J = K = 1 se obtiene la conmutacin de la salida, es decir, si el estado presente
es 0 entonces el siguiente ser 1 y recprocamente para un estado actual de 1.
K
J
&
&
R
S
Q
Q
C
J
K
Q
Q
C
reloj
Figura 3.29: Flip-Flop JK
La tabla de excitacin resumiendo el comportamiento del ip-op JK se
muestra en la Tabla 3.25.
Entradas
Estado
Presente
Seal de
Activacin
Estado
Siguiente
J K Q(t) C Q(t + 1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0
Tabla 3.25: Tabla de Excitacin para el Flip-Flop JK.
La ecuacin caracterstica est dada como se muestra a continuacin.
Q(t + 1) = K Q(t) J Q(t)
56 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
3.4.3.7. Flip-Flop T
Es el mismo ip-op JKdonde las entradas J = K = 1. Este tipo de congu-
racin, 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.
T J
K
Q
Q
C
T
C
Q
Q
reloj
Figura 3.30: Flip-Flop T
La tabla de excitacin es un subconjunto de la tabla obtenida para el ip-
op JK ya que se restringe a los valores de J y K iguales. Esta tabla de excita-
cin se muestra en la Tabla 3.26.
Entrada
Estado
Presente
Seal de
Activacin
Estado
Siguiente
T Q(t) C Q(t + 1)
0 0 0
0 1 1
1 0 1
1 1 0
Tabla 3.26: Tabla de Excitacin para el Flip-Flop T.
La ecuacin caracterstica se muestra a continuacin.
Q(t + 1) = T Q(t) T Q(t)
3.4.4. Implementacin de Automatismos Secuenciales
Para la implementacin de automatismos secuenciales se puede seguir un
algoritmo de diseo bien denido, el cual se describe a continuacin [1, 6]:
1. A partir de la descripcin de un problema se obtiene el diagrama de es-
tados correspondiente y de ste la tabla de transiciones.
2. De acuerdo con el nmero de variables de estado se encuentra el nmero
de lp-ops necesarios para la implementacin y se determina su tipo,
ya sea por conveniencia con el diseo o por requerimiento.
3.4. AUTOMATISMOS SECUENCIALES 57
3. Con la tabla de transiciones y el tipo de ip-op escogido, se hallan las
funciones de entrada a cada uno de los ip-ops y las funciones de salida.
4. El punto anterior entrega la informacin necesaria para representar gr-
camente mediante un diagrama lgico el automatismo. Este diagrama
lgico igualmente sirve como referencia para cualquier otro tipo de im-
plementacin independiente de la tecnologa.
Ejemplo Una mquina industrial realiza un proceso el cual consta de cuatro
etapas, o estados, diferentes. Un operario mediante un pulsado sin rebote
indica cuando la mquina debe cambiar de estado. As, cuando el pul-
sador est en reposo, estado lgico 0, la mquina permanece en el estado
actual y cuando el pulsador es activado la mquina avanza al siguiente
estado. El automatismo debe terminar en el estado que inici.
Siguiendo los pasos para la implementacin del automatismo, a conti-
nuacin se muestra inicialmente el diagrama de estados correspondiente.
00 01
10 11
1
1
1
0
0
1
0
0
Figura 3.31: Diagrama de Estados Automatismo Secuencial 1
Como existen cuatro estados posibles se requiere entonces de dos va-
riables de estado, las cuales se han denominado como A y B respecti-
vamente. El orden seleccionado para cada una de ellas se debe respetar
durante toda la fase de diseo. La tabla de transiciones entonces ser la
siguiente:
Estado Actual Estado Siguiente
A B
Entrada (x) = 0
A B
Entrada (x) = 1
A B
0 0 0 0 0 1
0 1 0 1 1 0
1 0 1 0 1 1
1 1 1 1 0 0
Tabla 3.27: Tabla de Transiciones Automatismo Secuencial 1
58 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
Como ya se determin, se requiere de dos variables de estado para reali-
zar la implementacin, o sea que se necesita igual nmero de ip-ops,
en nuestro caso se ha seleccionado el tipo JK. Si las entradas a cada uno de
los ip-ops se designan respectivamente como J
A
K
A
y J
B
K
B
, entonces
la tabla de verdad que describe las funciones para cada una de las en-
tradas es la siguiente:
Actual x Siguiente FF A FF B
A B A B J
A
K
A
J
B
K
B
0 0 0 0 0 0 d 0 d
0 0 1 0 1 0 d 1 d
0 1 0 0 1 0 d d 0
0 1 1 1 0 1 d d 1
1 0 0 1 0 d 0 0 d
1 0 1 1 1 d 0 1 d
1 1 0 1 1 d 0 d 0
1 1 1 0 0 d 1 d 1
Tabla 3.28: Excitacin de Flip-Flops Automatismo 1
Con base en la tabla anterior se procede a obtener la simplicacin de
cada una de las funciones que representa respectivamente a cada entra-
da en los ip-ops. A continuacin se muestran los mapas de Karnaugh
respectivos para cada una de las entradas:
00
0
A, B
0 2
1 3
1
6 4
7 5
01 11 10
x
00
0
A, B
0 2
1 3
1
6 4
7 5
01 11 10
x
1
d d
d d
d d
d d 1
JA=Bx KA=Bx
Figura 3.32: Funciones Para el Flip-Flop A
00
0
A, B
0 2
1 3
1
6 4
7 5
01 11 10
x
00
0
A, B
0 2
1 3
1
6 4
7 5
01 11 10
x
1
d d
d d d d 1
JB=x KB=x
1 1
d d
Figura 3.33: Funciones Para el Flip-Flop B
3.4. AUTOMATISMOS SECUENCIALES 59
Ahora se puede proceder a implementar el diagrama lgico para el auto-
matismo secuencial pedido con base en las Figuras 3.32 y 3.33, el cual se
puede observar en la Figura 3.34.
J
K
Q
Q
C
x J
K
Q
Q
C
clk
&
A
B
F-A
F-B
Figura 3.34: Diagrama Lgico Automatismo 1
El automatismo implementado en este ejemplo corresponde a una m-
quina de Moore, ya que en todo instante sus salidas solo dependen de 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 vericacin de cuatro pro-
piedades diferentes de un producto. El producto terminado se coloca so-
bre una banda transportadora la cual lo llevar por las cuatro estaciones
diferentes de prueba, una por cada propiedad a vericar. 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 de-
tenida 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 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
00 01 10 11
10
10
10
10
10
10
01
01
01
01
01
01
01
10
11
00
11
00
11
00
11
0d
Figura 3.35: Diagrama de Estados Automatismo Secuencial 2
Dado que se tiene un total de cuatro estados se requerir entonces de dos
variables de estado las cuales sern designadas como Q1 y Q2, y para las
cuales la tabla de transiciones se muestra a continuacin:
Estado Actual Estado Siguiente
Q1 Q2 DI = 00 DI = 01 DI = 10
A 0 0 A/ 11 A/ 11 B/ 10
B0 1 B/ 11 A/ 01 C/ 10
C 1 0 C/ 11 B/ 01 D/ 10
D 1 1 D/ 11 C/ 01 A/ 01
Tabla 3.29: Tabla de Transiciones Automatismo Secuencial 2
De la Tabla 3.29 se puede deducir la tabla de verdad para cada una de las
entradas de los 2 ip-ops que se requieren, solo basta seleccionar que
tipo usar, en este caso se emplear ip-ops tipo T. Igualmente se realiza
la tabla de verdad para las dos salidas. Los resultados se muestran en la
Tabla 3.30.
Seguidamente, y con base en la misma Tabla 3.30, se puede realizar la
simplicacin de cada una de las funciones de las entradas a los ip-
ops y para cada una de las salidas, tal como se puede observar en las
Figuras 3.36 y 3.37.
3.4. AUTOMATISMOS SECUENCIALES 61
Actual Entradas Siguiente FF 1 FF 2 Salidas
Q1 Q2 D I Q1 Q2 T
1
T
2
R V
0 0 0 0 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 1
0 0 1 0 0 1 0 1 1 0
0 0 1 1 d d d d d d
0 1 0 0 0 1 0 0 1 1
0 1 0 1 0 0 0 1 0 1
0 1 1 0 1 0 1 1 1 0
0 1 1 1 d d d d d d
1 0 0 0 1 0 0 0 1 1
1 0 0 1 0 1 1 1 0 1
1 0 1 0 1 1 0 1 1 0
1 0 1 1 d d d d d d
1 1 0 0 1 1 0 0 1 1
1 1 0 1 1 0 0 1 0 1
1 1 1 0 0 0 1 1 0 1
1 1 1 1 d d d d d d
Tabla 3.30: Excitacin de Flip-Flops Automatismo 2
00
00
Q1, Q2
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1
d
1
d
1
d
D, I
d
00
00
Q1, Q2
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1
d
1
d
1
d
D, I
d
1 1
1 1
T1=(Q2D)(Q1Q2I) T2=D(Q2I)(Q1I)
Figura 3.36: Funciones Para los Flip-ops del Automatismo 2
62 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
00
00
Q1, Q2
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1
d
1
d
1
d
D, I
d
00
00
Q1, Q2
01
0 4
1 5
12 8
13 9
01 11 10
3 7
2 6
15 11
14 10
11
10
1
d
1
d
1
d
D, I
d
1
1
1 1
R=(DI)(Q1Q2)
(Q1D)(Q1Q2D)
V=D(Q1Q2D)
1
1 1 1 1 1
1
Figura 3.37: Funciones Para los Flip-ops del Automatismo 2
Finalmente, con base en la informacin anterior se obtiene el diagrama
lgico de la Figura 3.38.
T
C
Q
Q
&
&
1
clk
&
&
1
T
C
Q
Q
&
&
&
&
&
1
1
FF 1
FF 2
D
I
R
V
Figura 3.38: Diagrama Lgico Automatismo 2
El automatismo implementado en esta ocasin corresponde a una m-
quina de Mealy, ya que en todo instante sus salidas dependen de las va-
riables de estado y del valor de las entradas.
3.5. Ejercicios Propuestos
1. Encontrar la funcin que describe el siguiente enunciado:
3.5. EJERCICIOS PROPUESTOS 63
La alarma de seguridad en un almacn sonar si se cumple una de las
siguientes armaciones:
Si las puertas estn abiertas y se activa el sensor de humo
Si las puertas estn cerradas y se activa el sensor de humo
Si las puertas estn cerradas y se activa el sensor de movimiento
2. Encontrar la funcin que describe el siguiente enunciado:
En un proceso industrial se prepara una mezcla mediante la combinacin
de 3 reactivos diferentes, para lo cual se dispone de 3 vlvulas, una por
cada uno. Un agitador activado por un motor se debe encender en cual-
quiera de los siguientes casos:
Si se abre la vlvula que deposita el primer reactivo
Si se abre la vlvula que deposita el segundo reactivo
Si por cualquier razn estn abiertas ms de dos vlvulas simultnea-
mente
3. Simplicar las siguientes funciones empleando nicamente los postula-
dos y teoremas del lgebra de Boole:
f
5
(
1
,
2
,
3
,
4
,
5
) = (
1

4
)(
3

4
)(
3

5
)
f
3
(
1
,
2
,
3
) =
2
(
2

3
)
1
(
1

3
)
f
3
(
1
,
2
,
3
) = (
1

2
) (
1

3
)
f
4
(
1
,
2
,
3
,
4
) = (
2

3
) (
1

2
) (
1

3
)
4. Llevar las siguientes funciones a su representacin SOP cannica:
f
3
(
1
,
2
,
3
) = (
2

3
) (
1

3
) (
1

2

3
)
f
4
(
1
,
2
,
3
,
4
) = (
1

3
) (
2

3
) (
1

4
)
(
1

2

3

4
)
5. Llevar las siguientes funciones a su representacin POS cannica:
f
3
(
1
,
2
,
3
) = (
1

2

3
) (
1

3
) (
2

3
)
f
4
(
1
,
2
,
3
,
4
) = (
1

4
) (
2

4
) (
1

3
)
6. Simplicar las siguientes funciones empleando los Mapas de Karnaugh:
f
4
(
1
,
2
,
3
,
4
) =

m(2, 3, 4, 8, 9, 12, 13, 14)
f
3
(
1
,
2
,
3
) =

m(3, 5, 6, 7)
f
4
(
1
,
2
,
3
,
4
) =

m(3, 4, 6, 7, 11, 14, 15)
f
4
(
1
,
2
,
3
,
4
) =

m(0, 2, 4, 5, 7) +

d(6, 8, 10, 15)


f
4
(
1
,
2
,
3
,
4
) =

M(0, 7, 10, 15) .

d(2, 12)
64 CAPTULO 3. ANLISIS YSNTESIS DE AUTOMATISMOS
7. Simplicar las siguientes funciones con base en el mtodo tabular de
Quine-McCluskey:
f
5
(
1
,
2
,
3
,
4
,
5
) =

m(1, 3, 5, 7, 11, 12, 21, 26, 27, 29, 30, 31) +

d(14, 15, 20, 23)


f
5
(
1
,
2
,
3
,
4
,
5
) =

m(3, 4, 6, 11, 12, 13, 14, 17, 19, 20, 22, 30) +

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


8. Obtener el diagrama de estados y el circuito secuencial que implemente
el problema propuesto:
En un sistema industrial de manufacturacin se tiene un conjunto
de tres labores, las cuales se deben realizar en sincronismo con los
pulsos de un reloj de tal forma que con el reloj contando de 0 a 7 en
cada cuenta impar se debe realizar el proceso 1, en cada cuenta par
el proceso 2 y en la cuenta igual a 5 el proceso 3. El circuito a disear
consta del sistema de conteo y tres salidas (una por cada proceso)
de tal forma que cada una tenga un valor lgico de uno para indicar
que su respectivo proceso se debe realizar.
Una puerta codicada requiere la introduccin de la cadena binaria
1101 para validar su apertura. El sistema debe exigir la introduccin
completa de la cadena cada vez que detecte un ingreso incorrecto, es
decir si por ejemplo alguien introduce 1011 los dos ltimos unos no
pueden ser tomados como el inicio de la cadena correcta y por lo que
en este caso se debe introducir 10111101. El circuito a implementar
consta de una entrada sin rebote que permite el ingreso de los va-
lores binarios, la lgica secuencial que detecta la cadena correcta y
una salida que se pone en un valor lgico de uno para permitir la
apertura de la puerta.
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, ver-
dadero 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 innita 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 elec-
troimn. Cuando la bobina del electroimn se encuentra bajo tensin, el con-
tactor 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 con-
tactor:
El Electroimn: Se comporta como el elemento proveedor de desplazamien-
to 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 CAPTULO 4. LGICA CABLEADA
de alimentacin es de corriente continua o alterna. El circuito magnti-
co incluye un entrehierro reducido en posicin cerrado. El recorrido de
llamado es la distancia entre la parte ja y la mvil cuando el contactor se
encuentra en reposo. Los resortes de reposicin se comprimen durante el
recorrido de aplastamiento y hasta el nal del mismo. El circuito mag-
ntico para corriente continua posee chapas de acero al silicio unidas
mediante remache o soldadura y circuito laminado para reducir las co-
rrientes de Foucault.
1
Para el circuito magntico en corriente continua se
puede emplear dependiendo del caso ya sea el mismo circuito magnti-
co laminado de corriente alterna o especcamente un electroimn para
corriente continua de acero macizo [4].
La Bobina: Es la encargada de generar el ujo magntico requerido para atraer
la parte mvil de la armadura. Est diseada para soportar los choques
mecnicos provocados por los cierres y aperturas del circuito magnti-
co y los choques electromagnticos que se producen cuando la corriente
recorre las espiras.
Pares Metlicos: Tambin denominados como polos, establecen o interrum-
pen la corriente dentro del circuito de potencia. Se dimensionan para
soportar la corriente nominal del contactor en servicio permanente sin
presentar calentamientos. Su fabricacin se basa en una aleacin de plata
resistente a la oxidacin y al arco. Estos pares metlicos pueden estar dis-
puestos de tal forma que en estado de reposo permitan o no el paso de la
corriente y en estado de accionamiento la operacin inversa [3].
Contactos Auxiliares: Realizan funciones de automantenimiento, esclavizacin,
enclavamiento de contactos y sealizacin. Se pueden identicar tres tipos
bsicos, a saber:
1. Contactos instantneos de cierre: se encuentran normalmente abier-
tos en posicin de reposo, NA, y se cierran cuando el contactor est
bajo tensin.
2. Contactos instantneos de apertura: se encuentran normalmente ce-
rrados en posicin de reposo, NC, y se abren cuando el contactor
est bajo tensin.
3. Contactos instantneos NA/ NC: Los dos contactos comparten un
polo en comn. En reposo el contacto NA se encuentra abierto y el
NC cerrado. Con la energizacin de la bobina del contactor ambos
cambian de estado.
Contactos Principales: Realizan las operaciones de paso o interrupcin de co-
rriente a los receptores.
1
Las corrientes de Foucault reducen el ujo til de una corriente magnetizante y calientan in-
necesariamente el circuito magntico
4.1. DISPOSITIVOS DE MANDO YCONTROL 69
Sistema de Soplado: Normalmente un contacto se abre para interrumpir el
paso de corriente que previamente llegaba hasta el equipo receptor. En
la mayora de los casos los equipos son de tipo inductivo y solo con muy
pocas excepciones la corriente no se interrumpe de manera instantnea.
2
Cuando la corriente es superior a un amperio, se establece un arco elc-
trico entre los pares metlicos cuando se separan. El arco es una forma
de descarga elctrica en los gases o en vaco, su parte central alcanza la
temperatura mxima que a menudo supera varios miles de grados, val-
ores muy superiores a los que pueden superar los metales y los aislantes
utilizados en la fabricacin de contactos. De lo anterior se deduce que se
debe limitar la duracin del arco, ni demasiado largo como para que se
deterioren las paredes o los materiales metlicos, ni demasiado corto con
el n de limitar las sobretensiones producto de los cambios muy rpidos
en la corriente del circuito de carga. Para controlar este arco, se sitan
piezas ferromagnticas que crean un campo perpendicular al arco con el
n de atraerlo y enfriar el medio lo ms rpido posible [4].
La Figura 4.1 muestra un esquema resumido de los principales componentes
de un contactor, mientras que la Figura 4.2 muestra la representacin esque-
mtica del mismo.
Cmara soplado
de arco
Contactos
fijos
Contactos
mviles
Resortes de
reposicin
contactos
Armadura
mvil
Armadura
fija
Bobina
Resorte de
reposicin
armadura
Base
Figura 4.1: Componentes de un Contactor
2
La corriente se interrumpe de forma instantnea solo en el caso de una apertura en el momento
justo de cruce por cero de una corriente alterna.
70 CAPTULO 4. LGICA CABLEADA
Bobina
A
A1 A2
Contactos de Potencia
1 2 3 4 5 6
Contactos auxiliares
Contactos auxiliares
de cierre
Contactos auxiliares
de apertura
13 14 23 24 31 32 41 42
Figura 4.2: Representacin y Numeracin de Contactos
La numeracin de los contactos se realiza mediante pares ordenados (1,2),
(3,4), etc. para los contactos principales y mediante pares (#1,#2) y (#3,#4) para
los contactos auxiliares instantneos de apertura y los de cierre respectiva-
mente. El smbolo # representa la numeracin consecutiva de contactos ini-
ciando siempre por los normalmente abiertos, as para un contactor con dos
contactos auxiliares instantneos de cierre y dos de apertura la numeracin
respectivamente es: (13,14), (23,24), (31,32) y (41,42) [ 3, 5].
4.1.1.1. Categoras Segn el Empleo
En la eleccin de un contactor para un uso especco se determina la ca-
pacidad del aparato para establecer, soportar e interrumpir la corriente en el
receptor bajo control, con unas condiciones de utilizacin, sin presentar reca-
lentamiento o desgaste excesivo de los contactos. En la eleccin de un contactor
se debe tener en cuenta los siguientes aspectos.
Tipo y caractersticas del receptor a controlar: intensidad y tipo de co-
rriente, tensin, regmenes transitorios, etc.
Condiciones de explotacin: ciclos de maniobra, factor de marcha, cortes
en vaco o con carga, coordinaciones, durabilidad elctrica, etc.
Condiciones ambientales: temperatura, humedad, altitud, etc.
En la norma IEC 158-1 se establecen categoras de los contactores segn su
empleo en corriente alterna de la siguiente manera [4]:
Categora AC1: Se aplica a todos los receptores que emplean corriente alterna
y cuyo factor de potencia es al menos igual a 0,95.
Categora AC2: Se reere al arranque, frenado en contracorriente y marcha a
impulsos en motores de anillos. Al cierre, el contactor establece la intensi-
dad de arranque, del orden de 2,5 veces la intensidad nominal del motor.
Categora AC3: Se reere a los motores de jaula de ardilla, el corte se realiza a
motor lanzado. Al cierre, el contactor establece la intensidad de arranque,
del orden de 5 a 7 veces la intensidad nominal de motor.
4.1. DISPOSITIVOS DE MANDO YCONTROL 71
Categora AC4: Se reere al arranque, frenado en contracorriente y marcha a
impulsos en motores de jaula de ardilla. El contactor se cierra con un arco
que puede alcanzar de 5 a 7 veces la intensidad nominal del motor.
4.1.2. El Rel
Su operacin, constitucin y nalidad 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 n de actuar como elemento de auto-
mantenimiento, esclavizacin, enclavamiento de contactos, sealizacin y pro-
teccin.
4.1.3. Rel de Enclavamiento
ste es un tipo especial de rel que posee dos bobinas, una bobina prin-
cipal de operacin normal, la cual al ser energizada cambia el estado de los
contactos que son todos del tipo auxiliar, pero una vez desenergizada los con-
tactos no regresan al estado de reposo debido a la accin de un dispositivo de
enclavamiento. Para regresar los contactos al estado de reposo es preciso ener-
gizar una bobina auxiliar la cual es la encargada de retirar el enclavamiento.
Este tipo de rel se emplea como funcin de memoria en un proceso, per-
mitiendo recordar el estado en el cual se encontraba un proceso ante posibles
cortes en el suministro de potencia del circuito de control y reanudar en la
posicin correcta [4, 5].
4.1.4. Contactor con Bobina de Autorretencin
Es un contactor que posee adems de la bobina principal una adicional de
bloqueo o de autorretencin. La funcin de la bobina de bloqueo es impedir
el accionamiento de la bobina principal, as si la bobina principal no ha sido
energizada, y por ende los contactos se encuentran en posicin de reposos,
y se energiza la bobina de autorretencin los contactos permanecern en sus
posiciones de reposo as se energice la bobina principal. La bobina de bloqueo
slo acta como medio para impedir el recorrido de la bobina principal desde
su posicin de reposo al de energizacin ms no al contrario, es decir, no se
puede emplear como medio para regresar los contactos al estado de reposo
[4, 5].
4.1.5. Rel de Temporizacin al Trabajo (Rel Tipo ON)
Son rels dotados de un mecanismo neumtico o electrnico el cual retarda
el accionamiento de contactos auxiliares desde la energizacin de la bobina del
rel y por un tiempo programado mediante algn elemento de ajuste (tornillo
72 CAPTULO 4. LGICA CABLEADA
gua o potencimetro). Estos rels tambin pueden poseer contactos auxilia-
res 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 ob-
serva 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 tempo-
rizados 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
TRon
A1 A2
Contactos instantneos
13 14 21 22
37 38 45 46
Contactos temporizados
TR-TC TR-TA
Bobina
Instantneo
Temporizado
Ajuste Ajuste
Figura 4.3: Representacin y Operacin de Rel Tipo ON
4.1.6. Rel de Temporizacin al Reposo (Rel Tipo OFF)
Son rels dotados de un mecanismo neumtico o electrnico el cual retar-
da el regreso al estado de reposo de contactos auxiliares luego de la desener-
gizacin de la bobina del rel y por un tiempo programado mediante algn ele-
mento de ajuste. Estos rels tambin pueden poseer contactos auxiliares instan-
tneos los cuales cambiarn de estado inmediatamente se energice la bobina al
igual que lo harn los contactos auxiliares temporizados, sin embargo cuando
se desenergice la bobina solo los contactos instantneos regresan de forma in-
mediata al reposo mientras que los temporizados retardan dicha accin por el
tiempo de ajuste. En este tipo de rel, si se vuelve a energizar la bobina antes de
terminar la temporizacin, los contactos auxiliares temporizados continuarn
en su estado conmutado y volvern a temporizar con la nueva desenergizacin
de la bobina, es decir, no harn conmutacin a reposo. En la Figura 4.4 se obser-
va la representacin de contactos y un diagrama de tiempo para su operacin
ante posibles situaciones de energizacin de bobina versus tiempo de ajuste,
adems se puede notar que el tipo de numeracin que siguen los contactos es
4.1. DISPOSITIVOS DE MANDO YCONTROL 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 con-
tacto auxiliar temporizado que en reposo est normalmente cerrado [3, 5].
Bobina
TRoff
A1 A2
Contactos instantneos
13 14 21 22
37 38 45 46
Contactos temporizados
TR-TA TR-TC
Bobina
Instantneo
Temporizado
Ajuste Ajuste
Figura 4.4: Representacin y Operacin de Rel Tipo OFF
4.1.7. Rel de Temporizacin al Trabajo y al Reposo
Son rels dotados de un mecanismo electrnico que implementa simultnea-
mente las caractersticas de los rels temporizados al trabajo y al reposo. Su
operacin se basa en un oscilador el cual se emplea como elemento base de con-
teo para la temporizacin y que adems denir la resolucin de las unidades
de tiempo para temporizacin. Ya que su funcionalidad se puede representar
por la suma de un rel tipo ON ms de uno tipo OFF no se realizarn posterio-
res discusiones sobre su funcionamiento [4].
4.1.8. Elementos de Mando
Son elementos empleados para ingresar las rdenes hacia los dispositivos
de control con el n de actuar sobre los rganos receptores, los cuales en gen-
eral son elementos de potencia que forman la parte operativa del sistema.
Aunque existen muchos elementos de mando solo se vern los necesarios para
el desarrollo de las siguientes secciones y que servirn como interfaz entre el
hombre y el sistema [2, 3, 5, 6, 8].
Breaker: Aparato mecnico que protege los circuitos contra corto circuitos den-
tro de unos lmites de corte asignados con la caracterstica que la apertura
de uno solo de los polos es suciente para abrir todos los dems. Adi-
cionalmente permite proteccin por sobre cargas.
Pulsadores: Representan el elemento natural de ingreso de rdenes de tipo
Todo o Nada. Son elementos que no retienen el cambio de posicin,
74 CAPTULO 4. LGICA CABLEADA
as, si se emplea un pulsador que en estado de reposo es normalmente
abierto al pulsarlo pasar al estado cerrado y permanecer as hasta que
se libere regresando entonces de inmediato a su estado de reposo. Los
hay con estado de reposo normalmente abierto y con estado de reposo
normalmente cerrado.
Indicadores: Son elementos que van ubicados en el lado de control cumplien-
do propsitos de informacin, seguridad o deteccin de estado actual
de otros elementos de mando y/ o control. Pueden ser luces indicadoras,
alarmas visuales o sonoras y dems elementos informativos.
La Figura 4.5 muestra la representacin grca de algunos de los elementos de
mando y proteccin ms comnmente empleados.
Pulsadores
Normalmente
abierto
Normalmente
cerrado
Pulsadores con
enclavamiento
Braker bipolar Fusible
Rel de
sobrecorriente
Protecciones
Figura 4.5: Simbologa Elementos de Mando y Proteccin
4.2. Funciones Bsicas de Lgica Cableada
4.2.1. Funcin Interruptor y Funcin Sello
Consiste en implementar a partir de un pulsador normalmente abierto, que
acta como accin de encendido, y de uno normalmente cerrado, que acta
como accin de apagado, la funcionalidad de un interruptor monopolar que
retiene efectivamente el estado actual as se libere el pulsador. En la Figura 4.6
se muestra la implementacin y un diagrama de tiempo donde se observa el
comportamiento de un rgano receptor cualesquiera (en este caso se emplea
una luz) ante diferentes acciones de los elementos de mando. El contacto nor-
malmente abierto del contactor A que va en paralelo con el pulsador P1 es el
encargado de retener la instruccin de encendido por lo que frecuentemente se
le reere con el nombre de funcin sello.
4.2. FUNCIONES BSICAS DE LGICA CABLEADA 75
CR
A
B
CR
CR
A
P1
P2
CR
A
B
P2 P1
Circuito de control
Circuito de potencia
Figura 4.6: Funcin Interruptor
4.2.2. Funcin Detector de Flancos
Consiste en realizar una implementacin que permita a un rgano receptor
ver solo la conmutacin de bajo a alto (anco de subida) o de alto a bajo (anco
de bajada) de un pulsador normalmente abierto [5, 7]. En este caso se asocia
el estado de pulsacin como el nivel alto (conduccin) y el estado de reposo
como el nivel bajo (no conduccin).
CR1
CR2
B
CR1
A
P1
CR1
CR2
A,B
P1 P1
Circuito de control
Circuito de potencia
A
CR1 CR2
Figura 4.7: Funcin Flanco de Subida.
76 CAPTULO 4. LGICA CABLEADA
La Figura 4.7 muestra el diseo para un circuito detector de ancos de subi-
da, donde la duracin del pulso en la bobina A y la carga B es de solo un in-
stante de conmutacin o del tiempo que toma realizar un scan de programa en
las implementaciones basadas en lenguajes de programacin. La conguracin
de contacto abierto de CR1 en serie con el contacto cerrado de CR2 recibe el
nombre de detector de anco de subida.
La conguracin para un detector de ancos 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.
CR1
CR2
B
CR1
A
P1
CR1
CR2
A,B
P1 P1
Circuito de control
Circuito de potencia
A
CR1 CR2
Figura 4.8: Funcin Flanco de Bajada.
En general, para la gran mayora de implementaciones de funciones que se
realizan en las secciones siguientes, el circuito de potencia siempre consiste en
realizar la activacin de un rgano receptor mediante el empleo de un contacto
de potencia perteneciente al contactor adecuado, por tanto, a menos que se
requiera de una implementacin diferente en potencia se seguir obviado esta
parte en los circuitos implementados, no con ello ignorndola.
4.2.3. Funcin Toggle
La funcin toggle se puede realizar con base en las implementaciones para
los detectores de ancos y consiste en hacer que una carga permanezca en su
estado actual hasta que ocurra un nuevo anco, momento en el cual debe con-
mutar de estado [7]. En esta implementacin al presionar, o soltar, un pulsador
se ocasiona que una carga se active, la cual debe permanecer en ese estado
aunque se libere el pulsador, la carga slo debe pasar al estado de reposo en
el instante que se vuelva a pulsar, o soltar, y debe permanecer inactiva hasta
4.2. FUNCIONES BSICAS DE LGICA CABLEADA 77
la siguiente pulsacin. Como ejemplo, en la Figura 4.9 se muestra la imple-
mentacin de un circuito toggle ante ancos de bajada para la activacin de un
rgano receptor cualquiera A.
CR1
CR2
CR1
P1
CR1,
CR2
CR4
CR3,
A
Circuito de control
P1 P1
CR3
CR1 CR2
CR4
CR1 CR2
A
CR4
CR3
CR3
CR4
CR3
P1 P1 P1 P1
Figura 4.9: Funcin Toggle.
4.2.4. Funcin Memoria Biestable
Permite almacenar un dato binario (1, 0) haciendo uso de una bobina de
contactor [3, 7]. En la Figura 4.10 cuando se presiona el pulsador P1 se almacena
un 1 lgico en la bobina Q, dato que permanece indenidamente almacenado
hasta cuando se presione el pulsador P2 el cual pone la salida inmediatamente
en un valor de 0 lgico. El pulsador P1 hace las veces de set y el pulsador P2
las veces de reset en analoga con el dispositivo latch visto en la Seccin 3.4.3.1.
S
R
Q
P1 P1 P2 P2
S
R
P1
Circuito de control
Q
S R
Q
P2
Figura 4.10: Funcin Memoria Biestable
78 CAPTULO 4. LGICA CABLEADA
4.2.5. Funcin Tren de Pulsos
Consiste en implementar un circuito de lgica cableada que permita la per-
mutacin de una carga entre el estado de encendida por un tiempo dado t
1
y el estado apagada durante un tiempo dado t
2
[5, 7]. La implementacin se
realiza haciendo uso de pares de rels de temporizacin los cuales se pueden
emplear en cualquier combinacin (2 ON, 2 OFF y ON con OFF) [5]. Si se de-
sea que el ancho del pulso de trabajo sea igual al ancho del pulso de reposo
se puede emplear un nico rel de temporizacin haciendo uso de una fun-
cin de memoria biestable. En la Figura 4.11 se muestra la implementacin y
diagrama de tiempo para la funcin tren de pulsos realizada con dos rels de
temporizacin ON, mientras en la Figura 4.12 se muestra la implementacin
con dos rels de temporizacin OFF y con un solo rel ON.
TR1
CR TR2-TA
Circuito de control
CR
CR
P2
P1
TR2
TR1-TC
A
CR TR1-TA
ON
ON
t1
t2
TR1
TR2
A
P2
t1 t2
Figura 4.11: Funcin Tren de Pulsos con 2 Rels ON
En el diagrama de la derecha en la Figura 4.12 se puede observar el uso de
un contacto de CR en la lnea de alimentacin vertical izquierda con el propsi-
to de impedir que algn elemento se energice antes de la orden de inicio con
el pulsador P2, adems en esta implementacin se ha hecho uso de la funcin
memoria biestable guardando en el rel CR1 la informacin sobre el ciclo ac-
tual que se realiza en el tren de pulsos. Igualmente con el contactor A se puede
tener un tren de pulsos donde el primer ciclo se realiza con carga encendida,
mientras con el contactor Bse obtiene el primer ciclo con carga apagada. En el
diagrama de la izquierda el control para la carga A efecta un tren de pulsos
que inicia con primer ciclo en carga encendida, si se desea iniciar con carga apa-
gada nicamente basta con cambiar el contacto en serie con A de temporizado
a la apertura por temporizado al cierre del mismo rel TR1.
4.2. FUNCIONES BSICAS DE LGICA CABLEADA 79
TR1
CR TR2-TC
Circuito de control
con dos OFF
CR
CR
P2
P1
A
CR TR1-TA
OFF
t1
TR2
CR TR1-TA
OFF
t2
Circuito de control
con un solo ON
CR
CR
P2
P1
CR1
CR1
A
TR
TR-TA
TR-TA
CR
A
ON
t
B
CR1 A
A
CR1
B
B
B
Figura 4.12: Funcin Tren de Pulsos con 2 Rels OFF y con Un solo ON.
4.2.6. Funcin Refresco
sta es una funcin de gran importancia al implementar la accin de un
pulsador que enciende una carga al ser presionado y la cual solo debe estar
activa por un instante dado de tiempo, ya sea que se suelte el pulsador o no. Si
antes de terminar el tiempo para el cual la carga debe estar activa se vuelve a
presionar el pulsador, entonces la orden se debe refrescar y nuevamente debe
iniciar el conteo de tiempo para el cual debe permanecer en ese estado. En la
Figura 4.13 se muestra su implementacin y el diagrama de tiempo que descri-
be su comportamiento ante diferentes situaciones de entrada.
CR
TR
CR
P1
Circuito de control
A
TR-TA
OFF
t
A
P1
t t t
Figura 4.13: Funcin Refresco
80 CAPTULO 4. LGICA CABLEADA
4.2.7. Funcin Simulacin de Rel Tipo OFF con ON
Esta funcin permite implementar la funcionalidad de un rel de tempo-
rizacin tipo OFF mediante el empleo de un rel tipo ON. En la Figura 4.14 se
muestra el circuito de control que permite realizar la misma funcionalidad del
rel tipo OFF haciendo uso de un rel ON y adems se indica claramente los
elementos de circuito que son anlogos entre s [5].
CR1
CR TR-TA
Simulacin de rel OFF
CR
CR
P2
P1
A
CR1
TR
CR1 CR
ON
TR
CR
Uso real de rel OFF
CR
CR
P2
P1
A
TR-TA
OFF
Figura 4.14: Funcin Simulacin de Rel OFF con Rel ON
4.2.8. Funcin Simulacin de Rel Tipo ON con OFF
Esta funcin permite implementar la funcionalidad de un rel de tempo-
rizacin tipo ON mediante el empleo de un rel tipo OFF. En la Figura 4.15 se
muestra el circuito de control que permite realizar la misma funcionalidad del
rel tipo ON haciendo uso de un rel OFF y adems se indica claramente los
elementos de circuito que son anlogos entre s [5].
CR1
OFF
TR
CR CR1
Simulacin de rel ON
CR
CR
P2
P1
A
CR2
TRi
TR
CR
Uso real de rel ON
CR
CR
P2
P1
A
TR-TC
ON
CR2
CR1 TR-TC
Figura 4.15: Funcin Simulacin de Rel ON con Rel OFF
4.3. LGICA DE CONMUTACIN CON LGICA CABLEADA 81
4.2.9. Funcin Contador
Su diseo se basa en un circuito que permite ir guardando, o contando, las
veces que un pulsador se presiona y libera con lo cual se implementa un conteo
de ancos de subida y bajada y al cabo de los cuales se pueden ejecutar acciones
deseadas. En la Figura 4.16 se muestra un circuito que permite encender una
carga A a la tercera pulsacin de P2, donde se observa como los rels CR2 y CR4
actan como memorias que guardan los ancos de subida que han ocurrido,
mientras los rels CR3 y CR5 guardan los ancos de bajada, a su vez el pulsador
P1 acta como un reset para la cuenta de ancos.
CR2
CR1
CR1
P2
P1
A
CR1
CR3
CR2 CR1
CR1
CR1
CR4
CR5
CR3
CR4
CR5
CR5
A
Figura 4.16: Funcin Contador
4.3. Lgica de Conmutacin con Lgica Cableada
Por naturaleza, la lgica cableada es lgica de conmutacin donde los ele-
mentos de tipo todo o nada son implementados mediante contactores, rels y
sus contactos asociados. Para obtener una minimizacin de la implementacin
se puede recurrir a cualquiera de los mtodos vistos en la Seccin 3.3 con el n
de minimizar la funcin de conmutacin [2, 3].
Para ilustrar la metodologa general se realiza un ejemplo.
Ejemplo Se hace la implementacin de un circuito en lgica cableada que per-
mite el control de una alarma visual en un proceso que es controlado por
3 motores. Como condiciones, el proceso exige que mximo un motor es-
t fuera de servicio a la vez pero en todo caso el motor 1 siempre debe
estar encendido. Como elementos de captacin se emplean rels en serie
82 CAPTULO 4. LGICA CABLEADA
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 simplicar la funcin:
Cd CRA CRB CRC Al
0 0 0 0 1
1 0 0 1 1
2 0 1 0 1
3 0 1 1 1
4 1 0 0 1
5 1 0 1 0
6 1 1 0 0
7 1 1 1 0
00
0
CRC
CRA, CRB
0 2
1 3
1
6 4
7 5
01 11 10
1 1
1 1
1
Tabla de Verdad Mapa de Karnaugh
Figura 4.17: Control de Alarma Visual
Al
CR
CR
CR
P2
P1
CRB CRC
CRA
Figura 4.18: Lgica Cableada para Control de Alarma Visual
Del mapa de Karnaugh de la Figura 4.17 se obtiene que la funcin a im-
plementar para la alarma es Al= A (B C) la cual implementada
en lgica cableada se puede observar en la Figura 4.18, donde P1, P2 y CR
nicamente se comportan como la funcin interruptor para energizar el
circuito. Cuando los motores estn energizados, tambin lo estn los tres
rels y por ende se abren los contactos normalmente cerrados de estos.
Ante cualquiera de las condiciones de alarma descritas se producir la
activacin del contactor denominado Al, el cual se encarga de activar la
alarma visual.
4.3. LGICA DE CONMUTACIN CON LGICA CABLEADA 83
En muchas ocasiones los problemas de lgica cableada involucran situaciones
de temporizacin las cuales no se pueden analizar inmediatamente desde la
lgica de conmutacin. Sin embargo aplicando los conocimientos sobre fun-
ciones bsicas y lgica combinacional se puede lograr encontrar la solucin
adecuada para este tipo de problemas [2]. A manera de ejemplo se realiza la
implementacin de un circuito para el control de un sistema de seguridad de
una caja fuerte.
Ejemplo En una sucursal bancaria, una vez que el empleado a cargo intro-
duce la clave correcta para acceder a una caja fuerte, dispone de dos pul-
sadores as: uno para la apertura de la caja denominado A y otro para
el cierre denominado C. Una vez el funcionario oprime A se enciende
de forma automtica un sistema de video, pero la apertura de la caja se
retrasa durante 5 segundos. A su vez, cuando el operario sale y oprime
cerrar la caja se cierra de forma automtica e inmediata, pero el sistema
de video sigue registrando durante 5 segundos ms. Se desea implemen-
tar el sistema de control que da apertura a la caja y encendido al sistema
de video con base en las seales de control A y C, pero usando un nico
rel de temporizacin TR.
Para dar solucin a este problema se procede de la siguiente forma: Se
emplean memorias biestables con el n de guardar las rdenes de aper-
tura (CR1) y de cierre (CR2) y una memoria adicional (M) que ingresa con
la apertura y se resetea con el cierre y se emplea para controlar el video
y la puerta. El rel de temporizacin (TR) en esta ocasin se comporta
por naturaleza como un ON ya que una vez energizado debe inmediata-
mente iniciar el conteo de los 5 segundos. Este conteo inicia ya sea con
la orden de apertura o la de cierre y se mantiene hasta que termine el
tiempo de 5 segundos.
La puerta (P) no debe abrir hasta que se de la orden de apertura y trans-
curra la temporizacin y se debe cerrar inmediatamente se de orden de
cierre, lo cual se expresa directamente mediante lgica combinacional tal
como se puede observar en la Figura 4.19. El video debe estar encendido
mientras una de estas condiciones sea verdadera: permanezca la memo-
ria (M) o 5 segundos despus de darse la rden de cierre. Con el n de
hacer reutilizable el diseo se saca de operacin las bobinas CR1 y CR2
luego de terminada la temporizacin relacionada con cada orden.
84 CAPTULO 4. LGICA CABLEADA
CR1
CR1
A TR-TA
CR2
CR2
C TR-TA
M
M
CR1
TR
CR2
P
P
V
CR2
CR1
M
CR2
TRi
TR-TA
M
TR-TC CR2
M
ON
t
P
V
A C
5s 5s
Figura 4.19: Ejemplo de Lgica Cableada con Temporizacin
4.4. Diseos Bsicos en Lgica Cableada
El objeto de esta seccin es el de ilustrar algunos diseos bsicos que per-
miten la implementacin de funcionalidades comunes y muy frecuentes para
ser desarrolladas mediante lgica cableada y que se basan en las funciones
bsicas vistas previamente. Con estas implementaciones slo se busca mostrar
su desarrollo ms no su justicacin o conveniencia de uso.
4.4.1. Activacin Alternada de Cargas
Con el encendido alternado de cargas se persigue como objetivo activar
cargas en una secuencia dada. La activacin se debe producir mientras un pul-
sador P1 est presionado. La implementacin de este tipo de circuito se basa en
la funcin biestable con el n de ir guardando progresivamente la informacin
sobre orden de secuencia, aunque tambin se podra usar la funcin contador
pero resultando en un mayor nmero de rels. En la Figura 4.20 se muestra el
circuito de lgica cableada para la activacin alternada de 3 cargas diferentes
A, B y C las cuales deben activarse en el mismo orden enunciado, adems los
rels CR1 y CR2 son las funciones biestables para recordar respectivamente la
informacin sobre el encendido de la carga A y de la carga B.
4.4. DISEOS BSICOS EN LGICA CABLEADA 85
A
P1
B
C
CR1
CR1
CR1
CR2
CR2
C
B
C
C
A
CR1 CR2 A
B
CR2 B
C
A
Figura 4.20: Secuencia de Cargas ABC
La implementacin para cualquier nmero de cargas en activacin alter-
nada 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 fun-
cin 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 re-
saltar 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 indenida 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 imple-
mentar con base en la secuencia ABCDCBreemplazando A por By
Bpor A.
86 CAPTULO 4. LGICA CABLEADA
CR4
CR4
D A
A
P1
D
CR1
B
B
A
CR3 C
D
B
CR1 CR2 A
B
C
CR2 CR3 D
C
CR1
CR1
A
CR2
CR2
B
CR3
CR3
C
C
B
CR4
CR4
C
CR4
CR4
CR4
CR4
D A
A
P1
D
CR1
C
C
A
CR3 C
D
B
CR1 CR2
B
C
CR2 CR3 D
C
CR1
CR1
A
CR2
CR2
B
CR3
CR3
C
D
B
CR4
CR4
C
CR4
CR4
D
Secuencia ABCDCB Secuencia ABCDBC
A
Figura 4.21: Secuencia de Cargas ABCDCBy ABCDBC
4.4.2. Encendido Secuencial de Cargas
En muchos procesos se requiere del ingreso, y posterior apagado, de una
serie de cargas en una secuencia dada. A diferencia de la activacin alternada,
en esta ocasin cada carga dispone de su propio pulsador de arranque y de
paro, pero se debe garantizar que el encendido se produzca en una secuencia
dada y adems igualmente se debe respetar una secuencia para el apagado.
En la Figura 4.22 se muestra el diseo para el encendido secuencial de 3
cargas: M1, M2 y M3. La secuencia de encendido para este ejemplo se realiza
en el mismo orden listado y adems la secuencia de apagado se realiza en orden
inverso, es decir, el ltimo en encender es el primero que se debe poder apagar.
Para este tipo de secuencia se emplea la siguiente nomenclatura: M1, M2,
M3, M3, M2, M1; donde la echa orientada hacia arriba indica el orden en
la secuencia para encendido de la respectiva carga y la echa orientada hacia
abajo el orden para el apagado.
4.4. DISEOS BSICOS EN LGICA CABLEADA 87
M1
M1
A1 P1
M2
M2
A2 P2
M3
M3
A3 P3
M2
M3
M2
M1
Figura 4.22: Encendido en Secuencia M1, M2, M3, M3, M2, M1
En las Figuras 4.23 y 4.24, se muestra el diseo para las secuencias M1,
M2, M3, M3, M1, M2 y M1, M2, M3, M2, M3, M1respectivamente.
En cada gura se muestra al lado derecho una simplicacin para el diseo del
lado izquierdo.
M1
M1
A1 P1
M2
M2
A2 P2
M3
M3
A3 P3
M3
M1 M2
M2
M1
M1
M1
A1 P1
M2
M2
A2 P2
M3
M3
A3 P3
M3
M1
M2
M1
Figura 4.23: Encendido en Secuencia M1, M2, M3, M3, M1, M2
Si se desea obtener un encendido en un orden diferente, siempre ser posi-
ble abstraerlo de alguno de los mencionados anteriormente realizando el ade-
cuado reemplazo de nombres para las cargas, por ejemplo si se desea el encen-
dido en secuencia M2, M1, M3, M3, M1, M2 claramente se puede lograr
a partir del diagrama de la Figura 4.22 reemplazando M2 por M1 y M1 por M2,
adems la generalizacin para cualquier nmero de cargas es directa.
88 CAPTULO 4. LGICA CABLEADA
M1
M1
A1 P1
M3
M2
M2
A2 P2
M1
M3
A3 P3
M2
M3 M2 M3
M1
M1
A1 P1
M3
M2
M2
A2 P2
M1
M3
A3 P3
M2
M3 M2
Figura 4.24: Encendido en Secuencia M1, M2, M3, M2, M3, M1
4.4.3. Arranque de Motor DC en Derivacin
En el circuito de control para el arranque de un motor de corriente continua
se debe considerar los elementos requeridos para proteccin adicional a la im-
plementacin propia de la funcionalidad de arranque. Las consideraciones ms
relevantes deben incluir la proteccin contra cortocircuitos, proteccin contra
sobrecargas y limitacin de corrientes en el arranque.
En el momento del arranque el voltaje en la armadura es de cero voltios y
como la resistencia interna es de un valor muy bajo se presenta una corriente de
valor muy alto. Se hace necesario entonces insertar una resistencia de arranque
en serie de tal forma que limite el valor de la corriente mientras el voltaje en
la armadura crece para limitar por si mismo la corriente. Pero esta resistencia
de arranque no debe permanecer en el circuito de manera indenida por lo
que se debe retirar a medida que la velocidad del motor crece. Una forma de
implementar este requerimiento es colocar una resistencia de arranque confor-
mada por una serie de segmentos que se van retirando a medida que aumenta
la velocidad.
En la Figura 4.25 se muestra el circuito de potencia y de control. Para la pro-
teccin contra cortocircuito en el motor se emplean fusibles en cada una de las
lneas de alimentacin, para la proteccin contra sobrecarga se emplea un rel
trmico en serie con la armadura de tal forma que si se presenta una corriente
excesiva y prolongada se calentar el trmico ocasionando la activacin de los
contactos del rel. Como elemento adicional de proteccin se instala un rel en
el circuito de campo, el cual tiene por nalidad sensar una posible prdida de
la corriente ante lo cual se debe desenergizar el motor. Los contactos 1A y 2A
tienen por nalidad retirar a tiempo adecuado cada uno de los segmentos de
la resistencia de arranque, para lo cual se emplean rels de temporizacin tipo
ON. El clculo del nmero de segmentos, valor de cada segmento y el ajuste
de tiempo para los temporizadores son temas que se encuentran fuera del al-
cance de este libro, pero si el lector desea profundizar [1] es una buena opcin
4.4. DISEOS BSICOS EN LGICA CABLEADA 89
de consulta. Otros mtodos de arranque se pueden encontrar en [8].
1A
1A
TR1-TC
M
CRsc
2A
2A
TR2-TC
CRc
P
M
A
TR1
2A M
TR2
TR1-TC
ON
t1
ON
t2
Circuito de control Circuito de potencia
CRc
CRsc M
1A 2A
M
Rf Lf
R arranque
Ea
+ -
Figura 4.25: Arranque de Motor DC Utilizando Rels ON
En la Figura 4.26 se muestra el diseo para el mismo tipo de circuito de
arranque descrito pero usando rels de temporizacin tipo OFF.
M
CRsc CRc
P
M
A
1A
1A
TR1-TC
TR1
1A TR2-TC
OFF
t1
2A
2A
TR2-TC
TR2
2A TR1-TA
OFF
t2
M
TR2-TA
1A
Figura 4.26: Arranque de Motor DC Utilizando Rels OFF
90 CAPTULO 4. LGICA CABLEADA
4.4.4. Arranque de Motores Trifsicos
4.4.4.1. Arranque Estrella-Delta con Transicin Abierta
Si un motor de jaula se planea para operar con su bobinado en delta, la
tensin en cada fase de la mquina ser igual a la tensin de alimentacin, pero
si el bobinado se conecta en tringulo durante el arranque la tensin de fase se
reduce en

3, lo cual a su vez hace que la corriente de arranque en estrella sea
menor en
1
3
que la corriente en delta. Sin embargo, como el par del motor vara
con el cuadrado de la tensin en cada bobinado, durante el arranque en estrella
ste se reduce a un tercio del par en delta. Es por tanto que el arranque se debe
proyectar para una conexin en estrella de los bobinados para posteriormente
permanecer en estado estable en conexin delta.
La denominacin de transicin abierta proviene del hecho que durante el
cambio de estrella a delta se desenergiza temporalmente la mquina con el n
de evitar un cortocircuito en los bobinados. En la Figura 4.27 se puede observar
los circuitos de control y potencia en los cuales N es el contactor que crea el
neutro para la conexin en estrella, D el contactor que crea la conexin en delta,
M el contactor que da ingreso a la alimentacin de la mquina, CRsc son rels
trmicos para la proteccin contra sobrecarga y TR es un rel de temporizacin
tipo ON. El diseo anterior tambin se puede realizar empleando un rel de
temporizacin tipo OFF, tal como se puede observar en la Figura 4.28.
N
TR-TA
P
M
A
N
ON
Circuito de control
M
TR
t1
D
CRsc
CRsc
CRsc
M
M
M N
Circuito de potencia
D
M
N
D D
N N
M M
CRsc CRsc CRsc
Figura 4.27: Arranque de Motor Trifsico con Transicin Abierta
4.4. DISEOS BSICOS EN LGICA CABLEADA 91
N
TR-TA
P
M
A
N
OFF
Circuito de control
M
TR
t1
D
CRsc
CRsc
CRsc
M
M
M N
Figura 4.28: Arranque con Transicin Abierta Usando Rel OFF
4.4.4.2. Arranque Estrella-Delta con Transicin Cerrada
Con el n de evitar la interrupcin de una posible corriente elevada en los
bobinados cuando se realiza la transicin abierta, se pone un juego adicional
de contactos que permiten el ingreso de unas resistencias que darn la con-
tinuidad a la conexin. As, antes de retirar la estrella se ingresan las resisten-
cias formando una conexin en paralelo con los bobinados, luego se retira la es-
trella haciendo que ahora las resistencias queden en serie y nalmente se ingre-
sa la delta con lo cual se puede retirar denitivamente las resistencias del cir-
cuito. En la Figura 4.29 se puede observar el diseo para el arranque con tran-
sicin cerrada. Para mayores detalles sobre las justicaciones, metodologas y
diseos adicionales de arranques el lector se puede remitir a [8].
T
N
TR-TC
P
M
A
N
ON
Circuito de control
M
TR
t1
CRsc
CRsc
CRsc
M
M
M
D
D
T D
N
Circuito de potencia
D
M
N
D D
N
N
M M
CRsc CRsc CRsc
T
T
R R
T
R
Figura 4.29: Arranque de Motor con Transicin Cerrada
92 CAPTULO 4. LGICA CABLEADA
4.4.5. Inversin de Giro en Motores
Los mtodos para la inversin de giro de un motor dependen de la na-
turaleza del mismo, as por ejemplo para un motor de corriente continua se
puede disponer un arreglo de contactos que permitan cambiar la polaridad del
rotor con el n de invertir el sentido de rotacin, en los motores monofsicos
de baja potencia se dispone de un embobinado principal y uno auxiliar que se
desconecta de forma automtica gracias a un interruptor centrfugo y donde
para lograr la inversin es necesario invertir la polaridad de uno de los dos
arrollamientos y en los motores trifsicos la inversin se logra invirtiendo la
conexin en dos de las tres fases.
En general el diseo de control para estos circuitos de inversin es bsi-
camente el mismo y la diferencia radica fundamentalmente en las conexiones
del circuito de potencia. As, el circuito de control debe permitir el ingreso de
una orden de sentido de giro y cambiar el estado de los contactos adecuados
para esa orden, luego ante la orden de cambio de sentido de giro se debe des-
energizar el motor por un tiempo prudencial que garantice su reposo antes de
ingresar la orden de giro en sentido contrario, adems se debe garantizar por
seguridad que no se puede dar de forma simultnea rdenes de giro contrarias.
En la Figura 4.30 se muestra el circuito de potencia para la inversin en
motores monofsicos y de corriente continua, mientras que en la Figura 4.31
se muestra el circuito de control que puede ser igual para ambas aplicaciones.
Los pulsadores identicados con la letra F controlan el sentido de giro positivo,
mientras los pulsadores con la letra R identican el sentido de giro negativo.
Para el caso de arranque de un motor DC en derivacin, al circuito mostrado en
la Figura 4.30 se le puede adicionar la parte correspondiente a los contactos que
ingresan los segmentos de resistencia de arranque, caso en el cual esta parte del
diseo se debe ubicar en paralelo con el rel de temporizacin.
+
Circuito de potencia
inversin motor DC
CRc
CRsc M
1A 2A
M
Rf Lf
R arranque
-
R
R F
F
F
Circuito de potencia
inversin motor monofsico
M
K
R F
M
R
Auxiliar Principal
Figura 4.30: Circuitos de Potencia para Inversin de Giro
4.5. EJERCICIOS PROPUESTOS 93
Existen muchos otros mtodos y procedimientos para arranque e inversin
de giro, los cuales adems dependern del tipo de mquina. Si el lector desea
profundizar, en [5, 8] podr encontrar mucho ms al respecto.
P
PF
Circuito de control
CRf
CRr
CRf
CRr
CRf
CRr
OFF
M
F
R
TR
t1
F
CRf
F
TR-TC
R
R
CRr
PF PR
PR
Figura 4.31: Circuito de Control para Inversin de Giro
4.5. Ejercicios Propuestos
1. Implementar la funcin toggle para la activacin de una carga ante an-
cos de subida, transiciones desde el estado lgico 0 al 1, si se emplea un
pulsador denominado P.
2. Implementar la funcin tren de pulsos empleando un rel de tempo-
rizacin tipo ON para controlar el tiempo de encendido de la carga y
un rel de temporizacin tipo OFF para controlar el tiempo de apagado.
El primer ciclo en la carga debe ser el de encendido.
3. Implementar la funcin tren de pulsos empleando un rel de tempo-
rizacin tipo OFF para controlar el tiempo de encendido de la carga y
un rel de temporizacin tipo ON para controlar el tiempo de apagado.
El primer ciclo en la carga debe ser el de encendido.
4. Si en los puntos 2 y 3 se requiere que la carga inicie apagada, Qu modi-
caciones se deben realizar?
5. Implementar la funcin refresco empleando un rel de temporizacin
tipo ON.
94 CAPTULO 4. LGICA CABLEADA
6. Implementar la funcin tren de pulsos empleando un nico rel de tem-
porizacin de tipo OFF.
7. Implementar un circuito de lgica cableada que realice la activacin exac-
ta de una carga durante dos ciclos completos de un tren de pulsos. La
carga debe iniciar apagada.
8. Implementar la activacin alternada de cargas para la secuencia AB
CC.
9. Implementar la activacin alternada de cargas para la secuencia BA
CDCA.
10. Implementar la activacin alternada de cargas para la secuencia AA
BBempleando la funcin contador de pulsos.
11. Implementar la activacin alternada de cargas para la secuencia AA
BC empleando la funcin contador de pulsos.
12. Implementar la activacin alternada de cargas para la secuencia AA
BC con base en la secuencia ABCD.
13. Implementar el encendido secuencial de cargas para M2, M1, M3,
M3, M1, M2.
14. Implementar un circuito de control para el arranque del motor DC de la
Figura 4.25 si los contactos 1A y 2A son normalmente cerrados y se desea
emplear nicamente rels de temporizacin de tipo ON.
15. Implementar un circuito de control para el arranque del motor DC de la
Figura 4.25 si el contacto 1A es normalmente cerrado y se desea emplear
nicamente rels de temporizacin de tipo OFF.
16. Por un pasillo largo solo puede circular una persona a la vez, por tanto se
ha dispuesto de un sistema de control que permita indicar a las personas
que llegan si pueden ingresar. En cada extremo se ha ubicado un sensor
fotoelctrico a la entrada y un semforo con luz roja y verde que permite
indicar si se puede ingresar o no. El sistema debe iniciar con los semforos
de ambos sentidos en verde, pero una vez una persona llega en un senti-
do se activa el sensor correspondiente y se jan los dos semforos en rojo.
Cuando la persona sale por el lado opuesto, y ante la activacin del sen-
sor adecuado, se jan nuevamente los semforos en verde. Se asume que
el trco es muy bajo y que en ningn caso habr personas que pueden
ingresar simultneamente desde ambos lados.
17. Ajustar el diseo del punto anterior si se desea que una vez salga una
persona del pasillo los semforos esperen 3 segundos antes de pasar a
verde. Para este nuevo diseo, usar un nico rel de temporizacin del
tipo deseado.
4.5. EJERCICIOS PROPUESTOS 95
18. Ajustar el diseo del punto 16 si se desea permitir un mximo de dos
personas en el mismo sentido. Para ello el semforo del sentido de ingre-
so actual debe permanecer en verde si slo existe una persona dentro del
pasillo y pasar a rojo slo cuando ingrese la segunda. Tener en cuenta que
si sale una persona, pero queda otra, el semforo en el sentido de ingreso
actual debe pasar a verde.
19. Sobre una cinta transportadora se vierte mineral que se transporta hasta
un depsito nal. Se dispone de un pulsador de arranque (A) y de uno
de paro (P), ambos normalmente abiertos. Una vez se pulsa A la ban-
da transportadora inicia su circulacin, pero se retarda 10 segundos el
vertimiento del mineral. Finalmente cuando se pulsa P el vertimiento se
suspende inmediatamente, pero la banda circula por otros 10 segundos.
Implementar el diseo del circuito de control para este sistema emplean-
do un rel de temporizacin tipo ON para el retardo indicado con el pul-
sador A y un rel de temporizacin tipo OFF para el retardo indicado con
el pulsador P.
20. Disear el mismo circuito de control para el sistema del punto 19 si nica-
mente se puede emplear un solo rel de temporizacin del tipo adecuado.
96 CAPTULO 4. LGICA CABLEADA
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 Matemti-
cas 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 in-
cluir: sistemas asncronos, concurrentes, paralelos, no determinsticos, secuen-
ciales, de eventos discretos, distribuidos, estocsticos, entre otros.
Cuando se hace referencia concreta a la automatizacin industrial, es im-
portante 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 n 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 prio-
ridad entre los mismos procesos, otras veces los sistemas estn restringidos
en su capacidad de procesamiento o de prueba con lo cual se presentan situa-
ciones 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 planteamien-
tos se suman al tradicional enfoque de procesos en secuencia ordenada, donde
una accin es claramente identicada y su n implica el inicio de una subsi-
guiente [7].
Las Redes de Petri se presentan como una poderosa herramienta capaz de
modelar de forma grca y matemtica todos estos sistemas de diferentes na-
turalezas. Su representacin grca permite una visualizacin clara de los sis-
temas, adems de facilitar su posterior descripcin mediante otras metodolo-
gas tales como: mquinas de estados, diagramas de ujo, grcos marcados,
diagramas de bloques, diagramas escalera, diagramas de descripcin secuen-
99
100 CAPTULO 5. REDES DE PETRI
cial, etc. La representacin matemtica de las Redes de Petri se basa en un mo-
delo 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 in-
cluan el concepto de tiempo, por lo que luego surgieron las denominadas Redes
de Petri Temporizadas con el n de poder analizar aquellos sistemas que depen-
den 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 repre-
sentada, por ejemplo, en los puntos de pago de almacenes de cadena, ventani-
llas de atencin a usuarios, etc. y en sistemas tales como lneas de fabricacin
que se interconectan y comparten recursos, servidores de comunicacin, sis-
temas de cmputo con uno o varios ncleos de procesamiento, control general
de trco, etc.
5.2. Denicin y Presentacin de las RdP
Las RdP constan de tres componentes denominados como Lugares (ele-
mentos pasivos), Transiciones (elementos activos) [6] y Arcos (elementos conec-
tivos), donde los lugares estn relacionados con estados, condiciones, recursos,
esperas, etc. y en conjunto reciben la denominacin P y se representan por cr-
culos; las transiciones estn relacionadas con eventos, acciones, ejecucin de
sentencias, etc. y en conjunto reciben la denominacin T y se representan por
rectngulos o segmentos de lnea; y los arcos unen lugares con transiciones y
transiciones con lugares, ms no dos lugares o dos transiciones entre s, y se
representan por segmentos orientados de lnea a los cuales se les asocia de for-
ma individual un peso (k) que es un valor entero positivo y el cual se puede
interpretar como un conjunto de k arcos en paralelo. El conjunto de todos los
arcos que unen lugares con transiciones y transiciones con lugares se designa
por F y a la funcin de peso asignada a cada arco se le denomina W.
Para designar el estado actual de la red se emplea una serie de Marcas, tam-
bin denominadas Tokens, y las cuales se representan usualmente por una serie
de puntos negros ubicados al interior de cada lugar. El nmero de marcas ac-
5.2. DEFINICIN YPRESENTACIN DE LAS RDP 101
tuales en cada lugar representa el marcado actual de la red M, el cual es un
vector de tamao igual al nmero de lugares que conforman la red con un
valor en la i-sima posicin igual al nmero de marcas del i-simo lugar. El
marcado inicial de la red, indicando el estado de la red al inicio, se denomina
M
0
.
Una vez presentados los elementos de una RdP se puede realizar ahora
la denicin formal de la siguiente forma: Una RdP es una quntupla PN =
P, T, F, W, M
0
donde [2, 4, 5, 6, 10]:
P = p
1
, p
2
, p
i
, ..., p
m
es el conjunto nito de lugares de la red
T = t
1
, t
2
, , t
j
, ..., t
n
es el conjunto nito de transiciones de la red
F (P x T) (T x P) es el conjunto de arcos que denen el ujo de la
red
W: F 1, 2, 3, ... es la funcin de peso
M
0
: P 0, 1, 2, 3, ... es el marcado inicial de la red
Adems, los lugares y transiciones deben cumplir que: P T = y T P =
. La estructura de una RdP sin un marcado inicial se nota por la cudrupla
N = P, T, F, W, y esta misma red con un marcado inicial tambin se puede
notar como PN = N, M
0
.
En una RdP, para un lugar p
i
previo a una transicin t
j
se dice que p
i
es un
Lugar de Entrada a la transicin t
j
y adems que estn unidos por un Arco de
Entrada a dicha transicin. Para un lugar p
i
posterior a una transicin t
j
se dice
que p
i
es un Lugar de Salida de la transicin t
j
y adems que estn unidos por
un Arco de Salida de dicha transicin.
El comportamiento de un sistema est representado en todo instante por el
marcado actual de la red, siendo este marcado indicativo del estado y los cam-
bios que se presentan en el sistema. La evolucin en el marcado se rige por las
siguientes reglas de transicin:
1. Una transicin t
j
est Sensibilizada si cada lugar de entrada p
i
a ella est
marcado con mnimo w(p
i
, t
j
) tokens, donde w(p
i
, t
j
) es el peso del arco
de entrada que une a p
i
con t
j
.
2. Una transicin sensibilizada puede ser Disparada dependiendo de si su
evento asociado ocurre.
3. El disparo de una transicin sensibilizada remueve w(p
i
, t
j
) marcas o to-
kens de cada lugar de entrada a la transicin y adiciona w(t
j
, p
i
) marcas
a cada lugar de salida de la transicin, donde w(t
j
, p
i
) es el peso del arco
de salida que une a t
j
con p
i
.
La Figura 5.1 es un ejemplo de una RdP y en ella se puede observar claramente
los elementos constitutivos de la misma.
102 CAPTULO 5. REDES DE PETRI
P2
P1
P3 P5 P6
P4
t1
t2
t5 t4
t3
2
Figura 5.1: Elementos de una Red de Petri
En la Figura 5.1 el peso del arco que une el lugar P4 con t4 tiene un valor
de 2, pero el peso en los dems arcos es de 1, caso en el cual de forma ge-
neralizada se omite poner textualmente el valor de este peso en cada uno de
los 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: M
0
= 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 dispara
1
aparece una marca en el lugar 1 y da
lugar al marcado M
1
= 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 M
2
= 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 M
3
= 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 elmente las tres reglas de evolucin enunciadas
previamente y arrojan un nuevo marcado M
4
= 0, 0, 0, 0, 1, 0.
5.3. Tipos de Transiciones y Lugares
Cuando una transicin no posee ningn lugar de entrada se dice que es
una Transicin Fuente y en este caso slo se requiere que ocurra su evento aso-
ciado para poder ser disparada, similarmente, cuando una transicin no posee
ningn lugar de salida se dice que es una Transicin Sumidero y cuando se dis-
para slo se remueven marcas de los lugares de entrada previos a ella [10]. En
la Figura 5.2 se muestra una red donde la transicin t1 es de tipo fuente y la t3
de tipo sumidero. De forma anloga, existen los Lugares Fuente (que no estn
conectados a ninguna transicin de entrada) y Lugares Sumidero (que no estn
conectados a ninguna transicin de salida).
1
Por ahora se asume que esta transicin se puede disparar sin importar el hecho de no poseer
ningn lugar de entrada, aunque ms adelante se especica que sta es un tipo especial de transi-
cin la cual slo requiere del cumplimiento de su evento asociado para ser disparada.
5.4. ALCANZABILIDAD YSECUENCIA DE DISPARO 103
P1 P2 t1 t3 t2
Figura 5.2: Transiciones Fuente y Sumidero
Un lugar puede tener indistintamente varios arcos de entrada y/ o varios
arcos de salida y recibe de forma general el nombre de Nodo OR. Si en un nodo
OR slo existe un arco de entrada pero varios arcos de salida, recibe el nombre
de Nodo de Seleccin. Si en un nodo OR existen varios arcos de entrada pero
un slo arco de salida, recibe el nombre de Nodo de Atribucin [5, 11]. En la
Figura 5.3 se muestra la representacin general para cada uno de estos tres
tipos de nodos.
Nodo OR Nodo de Seleccin Nodo de Atribucin
Figura 5.3: Tipos de Nodos OR
Una transicin puede tener indistintamente varios arcos de entrada y/ o
varios arcos de salida y recibe el nombre general de Nodo AND. Si en un no-
do AND slo existe un arco de entrada pero varios arcos de salida, recibe el
nombre de Nodo de Distribucin. Si en un nodo AND existen varios arcos de
entrada pero un solo arco de salida, recibe el nombre de Nodo de Conjuncin
[5, 11]. En la Figura 5.4 se muestra la representacin general para cada uno de
estos tres tipos de nodos.
Nodo AND Nodo de Distribucin Nodo de Conjuncin
Figura 5.4: Tipos de Nodos AND
5.4. Alcanzabilidad y Secuencia de Disparo
Con base en las reglas de la evolucin para el marcado, cada vez que una
transicin sensibilizada se dispara ocasiona un cambio en el marcado de la red.
Por tanto, a partir de un marcado inicial M
0
y realizando una secuencia de n
disparos posibles se llega a un marcado nal M
n
para el cual fue necesario
realiza la secuencia t
1
, t
2
, ... , t
n
y que se denota como = t
1
, t
2
, ... , t
n

T
.
En general se dice que un marcado M
n
es Alcanzable desde un marcado inicial
M
0
si existe una Secuencia de Disparo que permita a la evolucin del marcado
llegar a M
n
desde M
0
.
104 CAPTULO 5. REDES DE PETRI
5.5. Propiedades de las RdP
5.5.1. RdP Limitada
Una red de Petri PN = N, M
0
se dice que es k-limitada cuando el nmero
de marcas en cada uno de los lugares de la red no supera un nmero nito k
para cualquier marcado alcanzable a partir del marcado inicial. Esta caracters-
tica garantiza que no se presenta problema de desbordamiento en el marcado
para ninguno de los lugares.
El mximo nmero de marcas para cada uno de los lugares de una red es
su Capacidad, por lo que se dice que un lugar est limitado si su capacidad es
nita. En la Figura 5.5, con un marcado inicial M
0
= 1, 0, 0 al disparar t1 el
marcado que se obtiene es M
1
= 0, 1, 1, si luego se dispara t2 se obtiene el
marcado M
2
= 1, 0, 1 y repitiendo esta misma secuencia de disparo k veces,
al nal, se obtiene un marcado M
k
= 1, 0, k con lo cual se puede vericar
que la red es No Limitada debido a que el nmero de marcas en el lugar P3
puede crecer de forma no controlada (M
k
(3) = k); aunque con disparos de la
transicin t3 se puede controlar un posible desbordamiento, la ocurrencia de
su evento asociado no se garantiza de forma oportuna.
P1
P2
P3
t1
t2
t3
Figura 5.5: RdP No Limitada
A una red de Petri que es 1-limitada se le denominada RdP Segura. Por
tanto, una RdP es segura si cada lugar de la red es seguro.
5.5.2. RdP Viva
Una red de Petri PN = N, M
0
se dice que es viva si, una vez alcanzado
un marcado cualquiera desde M
0
, siempre es posible disparar cualquier tran-
sicin de la red mediante una secuencia progresiva y adecuada de disparos.
Con frecuencia esta propiedad se relaciona directamente con la no existencia
de puntos muertos dentro de la red que ocasionen la imposibilidad de poder
disparar cualquier transicin. En la Figura 5.6 se muestra un ejemplo de una
red que no cumple esta propiedad, mientras que la Figura 5.5 es un ejemplo de
una RdP viva.
En la Figura 5.6, inicialmente slo se puede disparar la transicin t1 con
lo cual quedan marcas en los lugares P2, P3 y P4 (Figura 5.7-a), luego slo es
5.5. PROPIEDADES DE LAS RDP 105
posible disparar la transicin t3 con lo cual ahora las marcas estn en los lu-
gares 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.
P1
P2
P3
t1
t2
t3
P4 P5
Figura 5.6: RdP No Viva
P1
P2
P3
t1
t2
t3
P4
P5 P1
P2
P3
t1
t2
t3
P4
P5 P1
P2
P3
t1
t2
t3
P4
P5
(a) (b) (c)
Figura 5.7: RdP No Viva en Punto Muerto
Adems de la propiedad de Viva en una red de Petri, se denen varios
niveles de vivacidad para una transicin en una PN = N, M
0
, as:
Nivel 0: Se dice que una transicin es L0-Viva si nunca puede ser disparada
para cualquier secuencia de disparo desde M
0
.
Nivel 1: Se dice que una transicin es L1-Viva si puede ser disparada al menos
una vez en alguna secuencia de disparo desde M
0
.
Nivel 2: Se dice que una transicin es L2-Viva si existe un nmero entero po-
sitivo, l, el cual representa la cantidad mnima de veces que esta se puede
disparar en alguna secuencia de disparo desde M
0
.
Nivel 3: Se dice que una transicin es L3-Viva si se puede disparar indenida-
mente para alguna secuencia de disparo desde M
0
.
106 CAPTULO 5. REDES DE PETRI
Nivel 4: Se dice que una transicin es L4-Viva si es L1-Viva para todo marca-
do 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 im-
plica que es L2-Viva y nalmente 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.
5.5.3. RdP Reversible
Una red de Petri PN = N, M
0
es reversible si para todo marcado alcan-
zable M
k
, es posible alcanzar nuevamente M
0
. Se dene adems una clase es-
pecial de redes donde no necesariamente se regresa al estado inicial, sino a un
estado determinado diferente del inicial y que se denomina como Estado Resi-
dente [2, 10]. La Figura 5.8 es un ejemplo de una red reversible, ya que siempre
es posible volver al marcado inicial sin importar el marcado que se alcance.
P5
P4
P6
t2
t3
t4 P1
P2
P3
t1
t5
Figura 5.8: RdP Reversible
Las tres propiedades enunciadas hasta ahora (RdP Limitada, Viva y Re-
versible) son independientes entre s, lo cual implica que si una red cumple
una de ellas no necesariamente cumple alguna de las otras.
5.5.4. RdP Binaria
Una red de Petri PN = N, M
0
es binaria si es 1-Limitada. sta es una
clase especial de red de Petri Limitada donde el nmero mximo de marcas
en cada lugar es siempre uno. Este tipo especial de red es el fundamento de
los sistemas de diseo para autmatas programables y lgica cableada [5]. Las
redes representadas en las Figuras 5.6 y 5.8 son ejemplos de redes Binarias, ya
que en todo instante el nmero mximo de marcas en cada uno de los lugares
es 1.
5.5.5. RdP Conforme
Una red de Petri PN = N, M
0
es conforme si es Binaria y Viva. La red
de la Figura 5.6 es un ejemplo de una red que no es conforme, mientras que la
red de la Figura 5.8 si lo es.
5.5. PROPIEDADES DE LAS RDP 107
5.5.6. RdP Persistente
Una red de Petri PN = N, M
0
es persistente si dos transiciones cua-
lesquiera que estn sensibilizadas permanecen de igual forma hasta su respec-
tivo disparo. Esto implica que si se dispara una de las transiciones, entonces
la otra contina sensibilizada [10]. La red de la Figura 5.8 es un ejemplo de
una red persistente, ya que luego de disparar la transicin t1 quedan marcas
en los lugares P2 y P3 y por ende estn sensibilizadas las transiciones t2 y t3,
permaneciendo en este estado hasta que cada una sea disparada, sin importar
qu pase con la otra. En la Figura 5.9 se muestra un ejemplo de una red que no
es persistente, ya que una vez se dispara t1 se logra que las transiciones t2 y
t3 estn sensibilizadas, pero si se dispara luego la transicin t3 ocasiona que la
transicin t2 deje de estar sensibilizada.
P5
P4
P6
t2
t3
P1
P2
P3
t1
t6
t4
t5
Figura 5.9: RdP No Persistente
5.5.7. RdP Conservativa
Una red de Petri PN = N, M
0
es conservativa si el nmero total de mar-
cas es siempre una constante para todo marcado alcanzable desde M
0
. Esta
propiedad implica que la suma de marcas en cada uno de los lugares de la red,
incluyendo durante el marcado inicial, es una constante sin importar el mar-
cado que se alcance. En la Figura 5.10 se puede observar un ejemplo de una
red conservativa, donde en todo instante siempre existe un total de 2 marcas
dentro de toda la red.
P5
P4
P6
t2
t3
t4 P1
P2
P3
t1
t5
2 2
Figura 5.10: RdP Conservativa
108 CAPTULO 5. REDES DE PETRI
5.6. RdP Interpretada
Ya se han mencionado muchas de las aplicaciones donde se emplean las
redes de Petri como elemento descriptivo o de modelamiento para un sistema
fsico particular. Cuando una RdP se asocia como elemento descriptivo de la
estructura de un sistema, tal que cada transicin representa una condicin fsi-
ca para la evolucin y cada lugar las acciones a realizar producto de la misma
evolucin, se dice que la RdP es Interpretada. Si una RdP es interpretada y/ o
su evolucin es una funcin del tiempo se dice que es una RdP No Autnoma
[5, 11].
En general, cuando a una RdP no se le asocia ninguna interpretacin se dice
que es una RdP Autnoma.
5.7. RdP Autnoma
5.7.1. RdP Generalizada
Una red de Petri generalizada es una RdP Autnoma que est formada por
la cudrupla NG = P, T, , , donde:
P = p
1
, p
2
, p
i
, ..., p
m
es el conjunto nito de lugares de la red
T = t
1
, t
2
, , t
j
, ..., t
n
es el conjunto nito de transiciones de la red
: (P x T) 1, 2, 3, ... es la funcin de incidencia previa
: (T x P) 1, 2, 3, ... es la funcin de incidencia posterior
En la anterior cudrupla, existe un (p
i
, t
j
) ,= 0 si hay un arco que va desde
el lugar p
i
a la transicin t
j
y con valor igual al peso de dicho arco. Adems
existe un (t
j
, p
i
) ,= 0 si hay un arco que va desde la transicin t
j
al lugar p
i
y
con valor igual al peso de dicho arco.
5.7.2. RdP Ordinaria y Pura
Una RdP generalizada es Ordinaria si sus funciones de incidencia previa y
posterior slo toman valores en el conjunto 0, 1. Adems una RdP generali-
zada es Pura si ninguna transicin est conectada a un mismo lugar tal que ese
lugar sea simultneamente de entrada y salida para la transicin, es decir, para
toda transicin t
j
y cada lugar p
i
se debe cumplir que:
(p
i
, t
j
)(t
j
, p
i
) = 0
Cuando en una RdP existe un lugar que es simultneamente de entrada y sali-
da para una transicin, se dice que ese lugar es un lugar en auto-lazo.
5.8. RDP EXTENDIDA 109
5.8. RdP Extendida
Una RdP Extendida es aquella donde existe una nueva clase de arco de-
nominado Arco Inhibidor, el cual une estrictamente lugares con transiciones y
se distingue grcamente de un arco estndar por un pequeo crculo en la
posicin de la echa de orientacin. Cuando a una transicin llega un arco
inhibidor, para que se encuentre sensibilizada se requiere la no presencia de
marcas en el lugar de entrada conectado por dicho arco inhibidor.
En la siguiente gura se muestra un ejemplo de la forma como opera el arco
inhibidor. En la Figura 5.11-(a) la transicin t1 no se encuentra sensibilizada
dado que existe una marca en el lugar de entrada P2 conectado mediante un
arco inhibidor, sin embargo en la Figura 5.11-(b) la transicin si se encuentra
sensibilizada dado que no existe ninguna marca en P2 y por tanto puede ser
disparada, caso en el cual se retira la marca de P1 y pasa una marca a P3.
P1
P2
P3 t1
P1
P2
P3 t1
(a) (b)
Figura 5.11: Arco Inhibidor
5.9. Modelamiento de Procesos
Se introducen de forma general diferentes arquitecturas comunes para la re-
presentacin de diversos sistemas fsicos mediante su modelamiento con base
en redes de Petri. La mayora de estos sistemas son de gran importancia a la ho-
ra de implementar diferentes aspectos de un automatismo industrial, y adems
globalmente la unin adecuada de varias de estas arquitecturas puede ayudar
en la denicin total de un sistema.
5.9.1. Arquitectura Secuencial
Esta arquitectura corresponde a la representacin de sistemas donde, de
forma denida, a la realizacin de una tarea especca sigue otra luego de
cumplirse un evento que permite la evolucin. En la Figura 5.12 se muestra
un esquema general para esta arquitectura.
110 CAPTULO 5. REDES DE PETRI
P3 t2 t3 P1 P2 t1
Figura 5.12: Arquitectura Secuencial
5.9.2. Arquitectura de Decisin
Esta arquitectura corresponde a un nodo de seleccin donde mediante la
presencia de varias transiciones sensibilizadas simultneamente, luego de la
marca en un lugar de entrada comn, se puede describir un sistema que rea-
liza la activacin de un determinado evento de entre varios posibles. A esta
arquitectura tambin se le denomina Conicto o Seleccin.
En la Figura 5.13 se muestra un esquema general para esta arquitectura,
donde en cada transicin debe existir la sintaxis adecuada que impida el dis-
paro simultneo de ms de una de las transiciones o, de forma concreta, cada
evento asociado a una transicin en arquitectura de decisin debe ser mutua-
mente excluyente con los dems eventos en las transiciones de salida para el
nodo de seleccin.
t1
P1
P2
P3
P4
t2
t3
Figura 5.13: Arquitectura de Decisin o de Conicto
5.9.3. Arquitectura Paralela
Dos o ms eventos se denen como en paralelo, o concurrentes si, desde
un punto inicial de sincronismo, su ejecucin se inicia simultneamente. Esta
arquitectura corresponde a la activacin paralela de tareas de los sistemas de
cmputo y desde el punto de vista de un RdP se puede implementar con inicio
en un nodo de distribucin, el cual realiza la funcin de sincronizacin y luego
da paso a la ejecucin de cada uno de los lugares donde se lleva a cabo las
tareas paralelas.
P1
P2
P3
P4
t1
Figura 5.14: Arquitectura Paralela o Concurrente
5.9. MODELAMIENTO DE PROCESOS 111
En la arquitectura de la Figura 5.14 es evidente que una vez la transicin
t1 se dispara ocurre la sincronizacin de inicio en la ejecucin de las tareas
relacionadas con los lugares de salida de dicha transicin.
5.9.4. Arquitectura de Confusin
sta es una clase especial de arquitectura que mezcla la arquitectura de
conicto con la concurrente. Para este tipo de estructura existen dos clases dis-
tinguibles de implementacin, la primera es la Confusin Simtrica donde dos
eventos son concurrentes entre s pero ambos estn en conicto con un tercero,
ver Figura 5.15. La segunda clase es la Confusin Asimtrica, donde dos eventos
son concurrentes entre s, pero uno cualquiera de ellos est en conicto con un
tercero en caso de disparo del otro, ver Figura 5.16 [10].
t1
P1 P2
t2 t3
Figura 5.15: Arquitectura de Confusin Simtrica
t1
P1
P3
t2
t3
P2 P4
Figura 5.16: Arquitectura de Confusin Asimtrica
En la Figura 5.15 t1 y t3 son concurrentes, pero ambos estn en conicto con
t2, esto es, t1 y t3 pueden ocurrir ambos sin importar que sucede con el otro,
pero t1 y t3 no pueden ocurrir si antes ocurre t2, de igual forma t2 no puede
ocurrir si antes ocurre t1 o t3.
En la Figura 5.16 t1 es concurrente con t2, pero est en conicto con t3 en
caso de un disparo previo de t2, ya que en esta situacin el disparo de t1 impide
el disparo de t3 y viceversa.
112 CAPTULO 5. REDES DE PETRI
5.9.5. Arquitecturas de Sincronizacin
En el modelamiento de diferentes procesos industriales, siempre est pre-
sente la necesidad de sincronizar diferentes eventos dependiendo de la evolu-
cin u ocurrencia de eventos anteriores. La arquitectura paralela es la forma
ms simple de sincronizacin para el inicio de varios eventos, sin embargo exis-
ten muchas otras arquitecturas que permiten la implementacin de sincroniza-
ciones de diversa naturaleza, entre las cuales se encuentran las siguientes [5]:
Punto de Encuentro Simple En esta arquitectura se requiere que dos ramas
secuenciales se encuentren en un mismo punto antes de iniciar la eje-
cucin de otros eventos posteriores y concurrentes. En la Figura 5.17 se
puede observar como se requiere del cumplimiento del evento t3 antes
de poder iniciar con la evaluacin de los eventos concurrentes t4 y t5.
P1
t4
P4 P3
P2
t1 t2
t5
t3
Figura 5.17: Arquitectura de Punto de Encuentro Simple
Punto de Encuentro Simtrico Esta arquitectura se basa en dos ramas secuen-
ciales, de tal forma que en un punto dado una rama se sincroniza con la
otra y viceversa, esto es, la ejecucin de un evento de una rama requiere
que la otra ya se encuentre en una situacin dada. En la Figura 5.18, el
disparo de t3 est sincronizado con el cumplimiento previo de t2 y de
igual forma el disparo de t4 est sincronizado con el cumplimiento pre-
vio de t1, sin embargo, es importante resaltar como una vez que ocurre
t1 y t2 el disparo de t3 y t4 es independiente uno del otro.
P1
t3
P3 P2
t1 t2
t4
P4
Figura 5.18: Arquitectura de Punto de Encuentro Simtrico
5.9. MODELAMIENTO DE PROCESOS 113
Punto de Encuentro Asimtrico En esta arquitectura una rama secuencial se
sincroniza con otra y luego sta ltima con la primera. En la Figura 5.19 se
puede observar como inicialmente t2 requiere previamente de t1 y luego
t3 requiere de t2.
P1
t3
P2
P3
t1
t2
Figura 5.19: Arquitectura de Punto de Encuentro Asimtrico
Semforo sta es una arquitectura de encuentro, pero en este caso slo una
primera rama secuencial se sincroniza con una segunda sin que sta l-
tima se sincronice con la primera. En la Figura 5.20 se puede observar
como t4 requiere del disparo previo de t1, sin embargo t3 es totalmente
independiente de t2.
P1
t3
P3
P2
t1 t2
t4
Figura 5.20: Arquitectura de Semforo
5.9.6. Arquitectura para Recurso Compartido
Una de las concepciones ms simples de un recurso compartido se presenta
cuando una parte de algn sistema debe ser usada en varios procesos que debe
acceder en forma controlada a su uso y noticar su liberacin para permitir su
posterior empleo en otro proceso. De forma natural se puede presentar esta
nocin en los sistemas de cmputo con un solo procesador pero con mltiples
tareas a realizar, donde cada vez que se genera una tarea sta puede acceder al
procesador siempre y cuando se encuentre libre, en caso de estar libre se debe
crear algn tipo de noticacin que impida el acceso al procesador por parte
de otra tarea, e igualmente crear otra noticacin cuando se libere el recurso.
En caso que una nueva tarea encuentre el procesador ocupado, debe esperar
por la noticacin de liberacin de recurso para poder acceder a ste. Otra no-
cin de recurso compartido normalmente presente en los sistemas industriales
114 CAPTULO 5. REDES DE PETRI
es la necesidad de compartir brazos robticos o bandas transportadoras en la
realizacin de varias funciones.
En la Figura 5.21, P5 posee una marca inicial, noticando que el recurso se
encuentra libre, con lo cual el primer evento que ocurra entre t3 y t4 puede
usarlo y por ende quita la marca de P5 creando as la noticacin de recurso
ocupado. Las transiciones t5 y t6 indican el n de utilizacin de dicho recurso
y regresan una marca a P5 creando la noticacin de recurso libre y listo para
ser usado nuevamente. Las transiciones t1 y t2 indican la llegada de una nueva
tarea o solicitud al sistema desde dos puntos diferentes.
P1
t3
P3
P2
t1 t2
t4
P4
P5
t5 t6
Figura 5.21: Arquitectura de Recurso Compartido
5.9.7. Arquitectura Lectura-Escritura
sta es una arquitectura que permite la realizacin de una de dos tareas
posibles por parte de algn recurso y con la restriccin que cuando una de las
tareas se realiza la otra no se puede ejecutar. Esta arquitectura corresponde a
un mismo recurso compartido que realiza dos acciones diferentes y que por
ende cuando ejecuta una de ellas no puede realizar la otra. Una forma natu-
ral de visualizar esta arquitectura es una unidad de lectura-escritura la cual
aunque realiza ambas tareas solo puede ejecutar una a la vez. Desde un punto
de vista industrial, muchas mquinas presentan la capacidad de realizar dos
tareas diferentes pero la ejecucin de alguna impide la realizacin de la otra
[5, 10].
En la Figura 5.22 se observa esta arquitectura, la cual se basa en una ar-
quitectura de recurso compartido, pero con la salvedad que ahora slo existe
un nico punto de llegada de solicitudes las cuales son procesadas adecuada-
mente de acuerdo a su naturaleza mediante las transiciones t2 y t3.
5.9. MODELAMIENTO DE PROCESOS 115
P1
t3
P3 P2
t1
t2
t4
P4
t5
Figura 5.22: Arquitectura de Lectura-Escritura
5.9.8. Arquitectura Productor-Consumidor
Esta arquitectura representa a los sistemas donde claramente una divisin
del mismo realiza acciones de produccin y otra realiza las acciones de con-
sumo. Esta relacin se puede visualizar de forma clara en los sistemas de pro-
duccin-consumo, fabricacin-empaque, fabricacin-pruebas, etc., donde evi-
dentemente la razn a la cual se realiza la primera accin es diferente a la razn
a la cual se ejecuta la segunda. Por ejemplo, en la Figura 5.23, se puede repre-
sentar un sistema donde el lado izquierdo realiza la produccin y el lado dere-
cho consume, as entonces en el centro de la arquitectura se representa una
especie de almacn donde permanecen los tems fabricados hasta el instante
en el cual son demandados para consumo. Este almacn, dependiendo de su
naturaleza, tambin puede recibir el nombre de depsito, buffer, etc.
P1
t4
P4 P3
t1
t3
t5
P5
t6
t2
P2
Figura 5.23: Arquitectura Productor-Consumidor
116 CAPTULO 5. REDES DE PETRI
5.9.9. Arquitectura Productor-Consumidor con Prioridad
Esta arquitectura representa la situacin donde a un consumidor se le pro-
vee prioridad sobre otro. En la Figura 5.24 se puede observar como el consumi-
dor del lado izquierdo posee prioridad sobre el del lado derecho, ya que puede
consumir primero que el del lado derecho siempre y cuando tenga provisin en
su almacn. El consumidor del lado derecho slo consume si posee provisin
y adems si el del lado izquierdo no tiene su provisin respectiva.
P1
t4
P4 P3
t1
t3
t5
P5
t6
t2
P2 P6
t10
P9 P8
t7
t9
t11
P10
t8
P7
t12
Figura 5.24: Arquitectura Productor-Consumidor con Prioridad
5.9.10. Arquitectura para Capacidad Limitada
En los sistemas reales los almacenes, depsitos, buffers, etc. poseen capaci-
dad lmite de almacenamiento o de procesamiento. Las redes de Petri brindan
una forma efectiva de modelamiento de este tipo de restricciones de los sis-
temas reales, en contraposicin con otros sistemas de modelamiento donde es-
tas condiciones son difciles de implementar [2, 5]. Para el modelamiento de
capacidad se emplea un lugar adicional con tantas marcas iniciales como ca-
pacidad tiene el recurso en cuestin; este lugar debe estar conectado por arcos
hacia la porcin de red que a su vez implementa el recurso limitado. Si en el sis-
tema productor-consumidor de la Figura 5.23 se desea modelar una capacidad
para el almacn, el sistema resultante es el mostrado en la Figura 5.25, donde
adems se ha impuesto como restriccin de capacidad en el almacn un total
de 4 productos mediante el nuevo lugar P6.
5.9. MODELAMIENTO DE PROCESOS 117
P1
t4
P5
P3
t1
t3
t5
P6
t6
t2
P2
P4
Figura 5.25: Arquitectura para Capacidad Limitada
5.9.11. Arquitectura de Memoria
Esta arquitectura se puede extraer como consecuencia de la arquitectura de
capacidad limitada, con el objeto de recordar las veces que se ha producido
un evento o recordar el nmero mximo de veces que otro evento puede ser
realizado [5]. En la Figura 5.26, el lugar P1 contiene el mximo nmero de veces
que el evento t1 se puede vericar, cinco en este caso, aunque si P1 y P2 son
simultneamente lugares de salida de una misma transicin se puede recordar
en P1 las veces que esta transicin se dispara y controlar con ello los disparos
de t1.
P1 P2
t1
Figura 5.26: Arquitectura de Memoria
5.9.12. Arquitectura para Colas
Las colas o las se presentan de forma comn en los sistemas de atencin
a usuarios, pero desde el punto de vista de los automatismos tambin se en-
cuentran frecuentemente en los sistemas de produccin donde los diferentes
procesos de la cadena productiva se realizan independientemente por sistemas
autnomos entre s. Como ejemplo de una arquitectura de colas, se muestra en
la Figura 5.27 el modelo de un sistema de atencin al cliente donde se posee
dos tipos diferentes de servicios a prestar mediante el uso de tres ventanillas
118 CAPTULO 5. REDES DE PETRI
de atencin. La transicin t1 indica la llegada de un nuevo usuario, las transi-
ciones t2 y t3 clasican 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 la
en la ventanilla correspondiente y nalmente las transiciones t7, t8 y t9 indican
el n 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.
P2
P4
t2
t4
t7
P1
P6
t5
t8
P8
t3
t6
t9
t1
P3
P5 P7 P9
Cliente nuevo
Fila
Servicio 1
Fila
Servicio 2
Ventanilla 1 Ventanilla 2 Ventanilla 3
Servicio 1
Servicio 2
Figura 5.27: Arquitectura para Colas
5.10. Simplicacin de una RdP
Con el objeto de simplicar el modelo de una RdP antes de proceder a su
anlisis, es conveniente realizar su reduccin hacia una red de menor compleji-
dad que preserve las propiedades de la red original. Este procedimiento se hace
particularmente importante cuando se trata con redes de gran tamao donde
es conveniente realizar algn tipo de transformacin hacia una red de menor
tamao que conserve las propiedades de la red inicial [6, 9, 10].
Aunque existen muchos mtodos descritos por varios autores [6, 10], se
presenta nicamente las transformaciones ms simples basadas en un conjunto
de reglas bsicas:
1. Fusin de Lugares en Serie: Si en una red de Petri PN = N, M
0
existe
una transicin t
j
la cual es la nica transicin de salida de un lugar p
i
y
la nica transicin de entrada de un lugar p
i+1
, entonces la red se puede
transformar en una nueva red de Petri PN

= N

, M

0
donde se fusio-
nan en un solo lugar a p
i
y p
i+1
y se elimina a t
j
. En la Figura 5.28, se
puede observar la forma general de esta regla.
5.10. SIMPLIFICACIN DE UNA RDP 119
Figura 5.28: Fusin de Lugares en Serie
2. Fusin de Transiciones en Serie: Si en una red de Petri PN = N, M
0

existe un lugar p
i
el cual es lugar de salida de una transicin t
j
y es el
nico lugar de entrada de una transicin t
j+1
, entonces la red se puede
transformar en una nueva red de Petri PN

= N

, M

0
donde se fusio-
nan en una sola transicin a t
j
y t
j+1
y se elimina a p
i
. En la Figura 5.29,
se muestra la forma general de esta regla.
Figura 5.29: Fusin de Transiciones en Serie
3. Fusin de Lugares Paralelos: Si en una red de Petri PN = N, M
0
exis-
ten dos lugares p
i
y p
i+1
tal que ambos comparten una nica transicin de
entrada y una nica transicin de salida, entonces la red se puede trans-
formar en una nueva red de Petri PN

= N

, M

0
donde se fusionan
en un solo lugar a p
i
y p
i+1
. ste nuevo lugar sigue teniendo la misma
transicin de entrada y la misma transicin de salida previas a los dos
lugares que reemplaza. En la Figura 5.30, se puede observar esta regla de
forma generalizada.
Figura 5.30: Fusin de Lugares Paralelos
4. Fusin de Transiciones Paralelas: Si en una red de Petri PN = N, M
0

existen dos transiciones t


j
y t
j+1
tal que ambas comparten un nico lu-
gar de entrada y un nico lugar de salida, entonces la red se puede trans-
formar en una nueva red de Petri PN

= N

, M

0
donde se fusionan
en una sola transicin a t
j
y t
j+1
. Esta nueva transicin sigue teniendo
el mismo lugar de entrada y el mismo lugar de salida previos a las dos
transiciones que reemplaza. En la Figura 5.31, se puede observar la forma
general de esta regla.
120 CAPTULO 5. REDES DE PETRI
Figura 5.31: Fusin de Transiciones Paralelas
5. Eliminacin de un Lugar en Auto-lazo: Si en una red de Petri PN =
N, M
0
existe un lugar tal que es simultneamente de entrada y salida
para una transicin, entonces la red se puede transformar en una nueva
red de Petri PN

= N

, M

0
donde se elimina dicho lugar. En la Figu-
ra 5.32, se muestra la forma general de esta regla.
Figura 5.32: Eliminacin de Lugar Auto-lazo
6. Eliminacin de una Transicin en Auto-lazo: Si en una red de Petri PN =
N, M
0
existe una transicin tal que es simultneamente de entrada y
salida para un lugar, entonces la red se puede transformar en una nueva
red de Petri PN

= N

, M

0
donde se elimina dicha transicin. En la
Figura 5.33, se puede observar esta regla de forma generalizada.
Figura 5.33: Eliminacin de Transicin Auto-lazo
5.11. Anlisis de las Redes de Petri
Dentro de los mtodos para anlisis de un RdP existen tres que son de prin-
cipal inters: Anlisis por rbol de Cobertura, Anlisis por Transformacin y
Anlisis Estructural [10, 11]. El primer mtodo presenta ventajas claras cuando
se trata con redes limitadas y permite fcilmente vericar propiedades, sin em-
bargo cuando la red es ilimitada no se puede obtener informacin importante.
El segundo mtodo no es ms que tratar de pasar una red a una ms sencilla
5.11. ANLISIS DE LAS REDES DE PETRI 121
mediante reducciones y la cual conserve las propiedades de la primera y fa-
cilite 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.
5.11.1. Anlisis por rbol de Cobertura
El rbol de cobertura para una red de Petri PN = N, M
0
se construye
iniciando desde el marcado inicial y buscando todos los posibles nuevos mar-
cados obtenibles a partir de ste. Un nuevo marcado se logra si se dispara cada
una de las transiciones sensibilizadas [10]. El disparo de una transicin repre-
senta una nueva rama en el rbol y en su extremo se ubica un nodo con el
nuevo marcado que se obtiene [2, 9].
El procedimiento anterior es iterativo para cada nuevo nodo, a partir del
cual se debe identicar las nuevas ramas posibles para el rbol. La identi-
cacin de nuevos nodos representa una frontera en el rbol e implica un pro-
ceso con pasos nitos [2], incluso en el caso de redes no limitadas. Se puede
distinguir claramente tres clases diferentes de nodos frontera:
1. Nodo Terminal: Nodo, o marcado, en el cual no se encuentra sensibiliza-
da ninguna transicin.
2. Nodo Duplicado: Nodo, o marcado, el cual ya se encuentra en un nodo
previo del rbol.
3. Nodo Innitamente Reproducible: Un Nodo, o marcado M

es innita-
mente reproducible si M

para cualquier M

que ya se ha generado
en el rbol, esto es si el nmero de marcas en cada uno de los lugares de
M

es mayor o igual al nmero de marcas en cada uno de los lugares


de M

o como relacin, si M

(p
i
) M

(p
i
) para p
i
= p
1
, . . . , p
m
. En
este caso, se introduce el smbolo el cual representa un nmero ar-
bitrariamente grande de marcas como resultado de nodos innitamente
reproducibles y que adems posee las siguientes propiedades para cada
nmero entero positivo : = y > . La introduccin del smbo-
lo permite que la generacin del rbol de cobertura contenga siempre
un proceso nito de pasos. En este caso se reemplaza en M

a cada M

(p
i
)
que sea menor a M

(p
i
) por el smbolo para formar as a M

.
Como ejemplo inicial para la obtencin del rbol de cobertura se hace el anli-
sis para la Figura 5.10, donde claramente se observa que el marcado inicial es
M
0
= 2, 0, 0, 0, 0, 0 y el cual se emplea como raz del rbol. A partir de
este marcado M
0
se puede determinar que la nica transicin sensibilizada es
t1 lo cual conduce a un solo nuevo marcado M
1
= 0, 1, 1, 0, 0, 0, donde
nuevamente se encuentra que las nicas transiciones sensibilizadas son t2 y
t3 con lo cual se tienen dos nuevas ramas representando dos posibles marca-
dos nuevos as: M
2
= 0, 0, 1, 1, 0, 0 y M
3
= 0, 1, 0, 0, 1, 0, tal como
122 CAPTULO 5. REDES DE PETRI
se observa en la Figura 5.34. Desde el nodo M
2
se puede determinar que s-
lo se encuentra sensibilizada la transicin t3 con lo cual se llega al marcado
M
4
= 0, 0, 0, 1, 1, 0. Retomando el nodo M
3
se encuentra que slo est sen-
sibilizada la transicin t2 llevando al mismo marcado M
4
= 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 mar-
cado M
5
= 0, 0, 0, 0, 0, 2, posteriormente solo es posible disparar t5 lo cual
conduce al marcado M
6
= 1, 0, 0, 0, 0, 1. Finalmente, solo es posible dis-
parar nuevamente t5 con lo cual se obtiene el mismo marcado inicial, o sea
otro nodo duplicado.
[2 0 0 0 0 0]
[2 0 0 0 0 0]
[2 0 0 0 0 0]
[2 0 0 0 0 0]
[2 0 0 0 0 0]
[2 0 0 0 0 0]
[2 0 0 0 0 0]
M0
M1
M2 M3
M4
M5
M6
t1
t2 t3
t3 t2
t4
t5
t5
Figura 5.34: rbol de Cobertura para la Figura 5.10
P5 P4
P6
t2
t3
t4
P1 P2
P3
t1
t5
P7
Figura 5.35: RdP con Nodo Terminal y Nodos Innitamente Reproducibles.
Ahora se muestra el ejemplo de rbol de cobertura para la red de la Figu-
ra 5.35, la cual es una red que presenta varias situaciones importantes a es-
tudiar. En la Figura 5.36, se muestra el rbol de cobertura resultante, donde
adems se hace uso del smbolo para indicar nodos innitamente repro-
ducibles. De la observacin rpida de la red se puede determinar que en el
lugar P3 las marcas pueden crecer indenidamente. En el rbol se puede en-
contrar que el marcado M
10
= 1, 0, 1, 1, 0, 1, 0 es el marcado que sigue al
5.11. ANLISIS DE LAS REDES DE PETRI 123
disparar la transicin t2, pero este marcado contiene a su vez al marcado inicial
ya que cumple la relacin M
10
(p
i
) M
0
(p
i
) y por lo que nalmente queda co-
mo M
10
= 1, 0, , 1, 0, 1, 0. En este mismo rbol se encuentra que el nodo
M
4
= 0, 0, 0, 1, 0, 0, 1 es un nodo terminal ya que en este marcado no se
encuentra sensibilizada ninguna transicin.
M0
t1
[1 0 0 1 0 1 0]
[0 1 1 1 0 1 0]
[0 1 0 0 1 1 0]
[1 0 0 0 1 1 0]
[0 1 w 0 1 1 0]
[0 0 w 0 1 0 1]
[0 0 1 1 0 0 1]
[0 1 0 1 0 1 0] [0 0 0 0 1 0 1]
[0 0 0 1 0 0 1]
[1 0 w 1 0 1 0]
[1 0 w 0 1 1 0] [0 1 w 1 0 1 0]
[0 0 w 1 0 0 1]
Nodo Terminal
M1
M5 M2
M7 M6 M3
M8
M9
M4
M10
M11 M12
M13
t3
t2 t5
t2
t1
t5
t3
t4
t5
t4
t5 t2
t4
t2
t1 t4 t3
t3
t4
t3
t4
t1 t2 t5
Figura 5.36: rbol de Cobertura para la Figura 5.35
En general, el proceso para realizar el rbol de cobertura de la Figura 5.36 y
cualquier otro rbol para cualquier otra red consiste en iniciar con el marcado
inicial e ir progresivamente encontrando todos los posibles nuevos marcados,
teniendo en cuenta que si se llega a un marcado que ya existe en el rbol ste es
un nodo duplicado y por tanto se puede conectar con su par, adems si algn
nuevo nodo cumple el criterio M

(p
i
) M

(p
i
) entonces se debe reemplazar
en M

a cada M

(p
i
) menor que M

(p
i
) por el smbolo para formar as a M

.
Gracias al rbol de cobertura de una red de Petri se pueden determinar
algunas de las propiedades ya vistas, de la siguiente forma:
Una red de Petri PN = N, M
0
es limitada si y slo si el smbolo no
aparece en ninguno de los nodos del rbol de cobertura.
Una red de Petri PN = N, M
0
es segura si y slo si en los nodos del
rbol de cobertura slo aparecen los nmeros 1 o 0.
Una transicin t
j
de una red de Petri PN = N, M
0
es muerta si y slo
si no aparece como rama en el rbol de cobertura.
El marcado M es un marcado alcanzable desde M
0
, si este aparece como
nodo en el rbol de cobertura.
Una red de Petri PN = N, M
0
es reversible si y slo si desde cualquier
nodo del rbol de alcanzabilidad es posible encontrar una ruta hacia el
nodo inicial. Esta condicin tambin se relaciona como rbol de Cobertura
Fuertemente Conexo [11].
124 CAPTULO 5. REDES DE PETRI
En el rbol de cobertura de una red de Petri no limitada no es posible deter-
minar su alcanzabilidad o vivacidad, debido a la informacin perdida al intro-
ducir 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 es-
pecial 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 PN = N, M
0
, puede ser rep-
resentado mediante un Grcode 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 to-
das las ramas que representan el disparo de una nica transicin que lleva de
un nodo a otro. En particular, el grco de cobertura de un rbol de alcanzabili-
dad se denomina como Grco 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 grco de cobertura, o grco de alcanzabi-
lidad en este caso, para el rbol de cobertura de la Figura 5.34.
M0 M1
M2
M3
M4 M5 M6
t1
t2
t3
t3
t2
t4 t5
t5
Figura 5.37: Grco de Cobertura
5.11.2. Anlisis por Transformacin
El anlisis por transformacin tiene su fundamento en la idea intuitiva de
encontrar para una red de Petri PN = N, M
0
otra red PN

= N

, M

0
tal
que sta ltima preserve las propiedades de la primera, pero a la vez facilite la
vericacin de las mismas propiedades.
Caso particular de los diferentes mtodos de transformacin son los mto-
dos de simplicacin vistos en la Seccin 5.10 y conocidos tambin como mto-
dos de reduccin y donde el objetivo es ir buscando progresivamente una
red ms sencilla que la actual al poseer ya sea menos lugares o menos transi-
ciones [11]. Luego de encontrar una red reducida es posible aplicar alguno de
los otros mtodos de anlisis, de ser necesario, para determinar las diferentes
propiedades expuestas.
Entre las diferentes tcnicas adicionales para la transformacin de redes de
Petri es de especial inters la reduccin de una subred a un nico lugar, la cual
se ve a continuacin.
5.11. ANLISIS DE LAS REDES DE PETRI 125
5.11.2.1. Reduccin de una Subred de Petri a un Lugar
Una subred de Petri es aquella PN donde el conjunto de sus lugares y
transiciones son subconjuntos respectivos de los lugares y transiciones de otra
red PN, o sea, una subred de Petri es un subconjunto de otra red mayor.
De forma intuitiva, las condiciones necesarias para que un lugar se com-
porte globalmente de forma anloga a la subred con el n de poder realizar la
reduccin son [11]:
1. No se crea ni se destruyen marcas.
2. La vivacidad de las transiciones en la subred depende de la vivacidad de
otras transiciones externas de la misma subred.
3. Todas las marcas en la subred se pueden emplear en el disparo de cual-
quiera de las transiciones que denen la frontera con el resto de la red.
Con el n de evitar que una subred cree o destruya marcas, es condicin su-
ciente para ello que el peso de sus arcos sea la unidad y sus transiciones posean
un nico lugar de entrada y un nico lugar de salida. Si la subred cumple esta
condicin, se dice que es una subred Potencialmente Reducible.
En la Figura 5.38 se muestra una subred potencialmente reducible a un solo
lugar. En una subred, los lugares con transiciones de entrada que no pertenecen
a la subred se denominan Lugares Ascendientes (lugares P1, P2 y P3), mientras
que los lugares con transiciones de salida que no pertenecen a la subred se
denominan Lugares Descendientes (lugares P3 y P5). El lugar que reemplaza a la
subred dentro de la red mayor se denomina Macrolugar.
P5
P4
t2
t3
t4
P1
P2
P3
t1
t5 t6
t8
t7
t9
t10
t11
t2
t3
Macrolugar
t1
t10
t11
?
Figura 5.38: Subred de Petri
Un macrolugar puede reemplazar a una subred si sta ltima cumple las
siguientes condiciones:
126 CAPTULO 5. REDES DE PETRI
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 sub-
red. La Figura 5.39 es un ejemplo de una subred reducible a un macrolugar.
t4
P1
P2
P3
t1
t3 t5
t2
t6
Macrolugar
t1 t6
Figura 5.39: Subred de Petri a Macrolugar
5.11.3. Anlisis por Representacin Estructural
La representacin estructural de una red de Petri permite describir la di-
nmica de comportamiento de una red mediante una serie de ecuaciones ma-
triciales. Su principal ventaja radica en la independencia que se logra en la
descripcin estructural del sistema del marcado inicial, con lo cual se facilita el
anlisis para sistemas con diferentes marcados iniciales pero igual estructura.
5.11. ANLISIS DE LAS REDES DE PETRI 127
5.11.3.1. Matrices de Incidencia Previa y Posterior
Cada elemento que conforma la matriz de incidencia posterior, C
+
, para
una red de Petri PN = N, M
0
es el peso del arco que va desde la transicin
t
j
al lugar de salida p
i
y se dene como c
+
ij
= (t
j
, p
i
). De lo anterior C
+
= [c
+
ij
]
con dimensiones m x n, para una red con m lugares y n transiciones.
En la matriz de incidencia previa, C

, cada uno de sus elementos repre-


senta el peso del arco que llega a la transicin t
j
proveniente desde el lugar
de entrada p
i
y se dene como c

ij
= (p
i
, t
j
). De lo anterior C

= [c

ij
] con
dimensiones m x n.
En general, la matriz de incidencia posterior representa el peso de los ar-
cos de salida de cada una de las transiciones de la red, mientras la matriz 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 ejem-
plo las matrices de incidencia previa e incidencia posterior para la red de la
Figura 5.10.
C
+
=

0 0 0 0 1
1 0 0 0 0
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 2 0

2 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 1 0
0 0 0 0 1

Matriz de Incidencia Posterior Matriz de Incidencia Previa


Figura 5.40: Matrices de Incidencia Previa y Posterior
Como ya se expuso en la Seccin 5.7.2, si las funciones de incidencia pre-
via y posterior slo toman valores en el conjunto 0, 1 se dice que la red de
Petri es ordinaria. Adems una red de Petri es pura si ninguna transicin est
conectada a un mismo lugar tal que ese lugar sea simultneamente de entrada
y salida para la transicin, es decir, para toda transicin t
j
y cada lugar p
i
se
debe cumplir que (p
i
, t
j
)(t
j
, p
i
) = 0. sta ltima caracterstica para una red
pura es muy importante y es tratada en ms detalle en las secciones siguientes.
5.11.3.2. Subconjuntos y Subclases de una RdP
Dentro de una red de Petri tambin se denen otros subconjuntos, los cuales
se listan a continuacin [10, 11]:
1. Lugares de entrada de una transicin t
j
, denotado como

t
j
: es el subcon-
junto de lugares que pertenecen a una red de Petri conformado por los
lugares donde la funcin de incidencia previa para la transicin es mayor
que cero.

t
j
=

p
i
P
_
(p
i
, t
j
) > 0
_
128 CAPTULO 5. REDES DE PETRI
2. Lugares de salida de una transicin t
j
, denotado como t

j
: es el subcon-
junto de lugares que pertenecen a una red de Petri conformado por los lu-
gares donde la funcin de incidencia posterior para la transicin es mayor
que cero.
t

j
=

p
i
P
_
(t
j
, p
i
) > 0
_
3. Transiciones de entrada de un lugar p
i
, denotado como

p
i
: es el subcon-
junto 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.

p
i
=

t
j
T
_
(t
j
, p
i
) > 0
_
4. Transiciones de salida de un lugar p
i
, denotado como p

i
: es el subcon-
junto 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.
p

i
=

t
j
T
_
= t

j
= 1) > 0
_
Para la Figura 5.10, algunos de los subconjuntos que se pueden denir son:

t
1
={P1}

t
4
={P4, P5}

p
5
={t3}
t

1
={P2, P3} t

1
={P6} p

5
={t4}
Con base en los anteriores subconjuntos denidos dentro de una red de
Petri se pueden denir las siguientes subclases de redes de Petri [10]:
1. Mquina de Estados, ME: es una red de Petri ordinaria donde cada tran-
sicin posee exclusivamente un nico lugar de entrada y un nico lugar
de salida.
ME =

t
j
T
_
[

t
j
[ =

= 1
_
2. Grco Marcado, GM: es una red de Petri ordinaria donde cada lugar
posee exclusivamente una nica transicin de entrada y una nica tran-
sicin de salida.
GM =

p
i
T
_
[

p
i
[ = [p

i
[ = 1
_
3. Red de Libre Eleccin, LE: es una red de Petri ordinaria donde cada arco
que parte de un lugar es o su nico arco de salida o el nico arco de entra-
da para una transicin. Representa una estructura de red que generaliza
las dos subclases anteriores.
LE =

p
i
T
_
[p

i
[ 1

(p

i
) = p
i

_
5.11. ANLISIS DE LAS REDES DE PETRI 129
5.11.3.3. Matriz de Incidencia
En las redes de Petri puras la representacin matricial se puede simplicar
en una nica matriz denominada como Matriz de Incidencia, C, la cual se de-
ne como: C = C
+
C

. Cada uno de los elementos que compone la matriz


de incidencia, c
ij
, es positivo para indicar la presencia de incidencia posterior,
negativo para indicar la presencia de incidencia previa o cero para indicar la
no conexin entre el lugar p
i
y la transicin t
j
.
A continuacin se muestra la matriz de incidencia para la red de la Figu-
ra 5.10:
C = C
+
C

0 0 0 0 1
1 0 0 0 0
1 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 2 0

2 0 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 1 0
0 0 0 0 1

2 0 0 0 1
1 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 1 0
0 0 0 2 1

Para el caso de una red pura, la matriz C contiene toda la informacin nece-
saria 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 im-
pedimento 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.
t2
P1
P2
P3 t1
Figura 5.41: RdP No Pura.
130 CAPTULO 5. REDES DE PETRI
Para esta red las matrices de incidencia previa y posterior se muestran a
continuacin:
C
+
=

0 1
1 0
1 0

1 0
0 1
1 0

De las dos matrices anteriores, se puede observar como comparten un ele-


mento 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 inciden-
cia 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.
t2
P1
P2 P3
t1 t3
P4
Figura 5.42: RdP No Pura a Pura
5.11.3.4. Ecuacin de Estado
En una red de Petri interesa conocer el marcado que se alcanza luego de
realizar una cierta secuencia de disparo partiendo de un marcado inicial cono-
cido. El vector de disparo,
k
, es un vector con tantos elementos como transi-
ciones tiene la red y con un valor de 1 en la posicin de la transicin disparada
y cero en el resto de componentes.
En las redes de Petri puras y con un marcado inicial conocido, existe una
ecuacin que determina el marcado alcanzado desde un marcado inicial dado
un vector de disparo y se conoce como ecuacin de estado, la cual est dada
por:
M
T
k
= M
T
k1
+C
k
5.11. ANLISIS DE LAS REDES DE PETRI 131
Como esta ecuacin entrega una forma de determinar un marcado posterior
a partir de uno previo, entonces se puede decir sucesivamente que:
M
T
k
= M
T
k2
+C
k1
+C
k
= M
T
0
+C(
1
+ +
k
)
De donde se dene el vector secuencia de disparo =
1
+ +
k
, el cual
al ser reemplazado en la ecuacin anterior se obtiene nalmente:
M
T
k
= M
T
0
+C
De la anterior ecuacin es importante resaltar el hecho que el vector slo
entrega datos sobre las transiciones disparadas para llagar hasta el marcado
deseado, ms no brinda informacin sobre la secuencia en la cual se realizaron
dichos disparos.
Aplicando las anteriores ecuaciones a la red de la Figura 5.10 se puede de-
terminar el marcado alcanzado luego de disparar las transiciones t1 y t2 as:
M
T
1
=

2
0
0
0
0
0

2 0 0 0 1
1 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 1 0
0 0 0 2 1

1
1
0
0
0

2
0
0
0
0
0

2
0
1
1
0
0

0
0
1
1
0
0

Si ahora se dispara las transiciones t3 y t4 el marcado alcanzado es:


M
T
2
=

0
0
1
1
0
0

2 0 0 0 1
1 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 1 0
0 0 0 2 1

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


tor, fuera de tener componentes no negativas debe ser aplicable a partir del
marcado inicial. Esto tiene fundamento en la nocin intuitiva de no poder exis-
tir 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, PN = N, M
0
, es reversible si y slo si existe un vector
anulador derecho, , con todos sus elementos positivos para la matriz de in-
cidencia de la red [11]. Como esta denicin establece que C = 0, el sistema
lineal de ecuaciones resultantes con coecientes enteros se puede escribir de
132 CAPTULO 5. REDES DE PETRI
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 0 0 0 1
1 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 1 0
0 0 0 2 1

= 0
2
1
+
5
= 0

2
= 0

3
= 0

4
= 0

4
= 0
2
4

5
= 0
De donde se obtiene
1
=
2
=
3
=
4
= y
5
= 2. Con = 1 el vector
= [1, 1, 1, 1, 2]
T
, lo cual signica que se requiere exactamente disparar una
vez las transiciones t1 a t4 y dos veces la transicin t5 para partir y regresar al
marcado inicial. Se debe notar como tambin son admisibles valores superiores
de y se interpretan como las veces que la red alcanza el marcado inicial.
5.11.3.6. Determinacin de la Conservatividad
Una red de Petri, PN = N, M
0
, es conservativa si y slo si existe un
vector anulador izquierdo, , con todos sus elementos positivos para la matriz
de incidencia de la red [11]. Como esta denicin establece que
T
C = 0,
el sistemas lineal de ecuaciones resultantes con coecientes enteros se puede
escribir de forma rpida a partir del balance de marcas en cada una de las
transiciones de la red, as por ejemplo, para la red de la Figura 5.10 se tiene:
C =
_

1

2

3

4

5

6

2 0 0 0 1
1 1 0 0 0
1 0 1 0 0
0 1 0 1 0
0 0 1 1 0
0 0 0 2 1

= 0
2
1
+
2
+
3
= 0

2
+
4
= 0

3
+
5
= 0

5
+ 2
6
= 0

6
= 0
De donde se obtiene
1
=
6
=
1
,
3
=
5
=
2
y
2
=
4
=
3
, adems
2
1
=
2
+
3
. Con
2
=
3
= 1 el vector = [1, 1, 1, 1, 1, 1]
T
. Los anteriores
resultados permiten introducir un nuevo concepto importante en el anlisis de
las redes de Petri. Al observar la Figura 5.10 se puede notar que uno de los
resultados obtenidos del anlisis de la conservatividad fue que
3
=
5
=
2
y
2
=
4
=
3
, que en la gura se pueden interpretar como que el disparo
de t2 retira el mismo nmero de marcas que aade al subconjunto formado
por los lugares P2 y P4, que t3 hace lo propio con el subconjunto formado por
los lugares P3 y P5 y que nalmente las transiciones t1 o t4 retiran la misma
cantidad de marcas que aaden, lo cual se expresa en el resultado 2
1
=
2
+
3
.
5.11. ANLISIS DE LAS REDES DE PETRI 133
5.11.3.7. Determinacin de la Limitacin
Si para una red de Petri, PN = N, M
0
, existe tal que
T
C = 0, o sea
la red es conservativa, entonces PN es limitada. Esta conclusin se desprende
directamente de la aplicacin de la ecuacin de estado [11], en donde se puede
encontrar que si la red tiene un marcado inicial nito entonces el marcado de
cualquier lugar de la red tambin est limitado a un valor nito.
5.11.3.8. Determinacin de la Vivacidad
La determinacin de la vivacidad de una red de Petri no es directa, al no
existir una propiedad general que la pueda determinar, ya que como se ha
expuesto, el vector secuencia de disparo no entrega la informacin completa
sobre el orden de disparo de las transiciones. Sin embargo se pueden expresar
algunos criterios que hablan sobre si una red es viva y segura para las diferen-
tes subclases de redes de Petri estudiadas [10, 11].
Previo a la expresin de estos teoremas se dene primero una RdP Fuerte-
mente Conexa: Si una red de Petri, PN = N, M
0
, es viva y segura entonces
no posee transiciones fuente o sumidero ni lugares fuente o sumidero, y se dice
que PN = N, M
0
es fuertemente conexa, es decir, existe un camino orienta-
do que parte desde cada uno de los nodos de la red y llega a cada uno de los
otros nodos. La anterior denicin se relaciona directamente con la de rbol de
cobertura fuertemente conexo.
Criterio 1: Una mquina de estados es viva si y slo si la red PN = N, M
0

es fuertemente conexa y el marcado inicial posee al menos una marca.


Criterio 2: Una mquina de estados es segura si y slo si el marcado inicial
posee como mximo una marca.
Criterio 3: Una mquina de estados viva es segura si y slo si el marcado ini-
cial posee exactamente una marca.
Criterio 4: Toda mquina de estados es conservativa.
Un grco marcado, GM = N, M
0
, se puede dibujar como un Grco Orien-
tado Marcado, GM = G, M
0
donde los arcos representan los lugares, los
nodos a las transiciones y las marcas se ubican sobre los arcos. Se dice que un
nodo est en un circuito orientado del GM = G, M
0
si uno de sus arcos
de entrada y uno de sus arcos de salida pertenecen al circuito orientado; por
ejemplo, la Figura 5.43 muestra el grco orientado de la Figura 5.8, donde P1,
P3, P5 y P6 forman un circuito orientado al igual que P1, P2, P4 y P6.
134 CAPTULO 5. REDES DE PETRI
P1
t5
P2
P4 P6
P3
P5
t1
t2 t3
t4
Figura 5.43: Grco Orientado Marcado
Criterio 5: Un grco marcado es vivo, si y slo si su marcado inicial posee
como mnimo una marca en cada circuito orientado del respectivo grco
orientado marcado.
Criterio 6: El nmero mximo de marcas que puede tener un arco en un gr-
co orientado marcado es igual al mnimo nmero de marcas puestas por
el marcado inicial en el circuito orientado que contiene el arco.
Criterio 7: Todo grco marcado que sea fuertemente conexo es conservativo.
Un subconjunto no vaco de lugares en una red ordinaria de Petri se denomina
Sifn si cada transicin de la red que tiene un lugar de salida en el subconjun-
to tambin tiene un lugar de entrada que pertenece al subconjunto. Anloga-
mente, un subconjunto no vaco de lugares en una red ordinaria de Petri se
denomina Trampa si cada transicin de la red que tiene un lugar de entrada en
el subconjunto tambin tiene un lugar de salida que pertenece al subconjunto.
La Figura 5.44 muestra la generalidad para sifn y trampa.
Sifn Trampa
Figura 5.44: Sifn y Trampa
Criterio 8: Una red de libre eleccin es viva si y slo si cada sifn en la red
contiene una trampa marcada.
5.12. ANLISIS LOCAL DE REDES DE PETRI 135
5.12. Anlisis Local de Redes de Petri
5.12.1. Red de Petri Dual
La red de Petri dual de una red de Petri generalizada, NG = P, T, , ,
se obtiene al cambiar los lugares por transiciones y las transiciones por lugares
preservando la estructura, o sea NG
d
= T, P, , es la red dual de NG. La
matriz de incidencia de una red dual, C
d
, se obtiene de la transpuesta negativa
de la matriz de incidencia de la red original, es decir C
d
= C
T
. Con simple ob-
servacin se puede determinar que toda mquina de estados es la red de Petri
dual de un grco orientado marcado y que todo grco orientado marcado es
la red dual de una mquina de estados.
5.12.2. Invariantes de Marcado y de Disparo
Se denomina Invariante de Disparo a cualquier relacin satisfecha por todas
las secuencias de disparo que se pueden realizar desde el marcado inicial. De
igual forma, se denomina Invariante de Marcado a cualquier relacin satisfecha
por todos los marcados alcanzables desde el marcado inicial [11].
La obtencin de estos invariantes se basa en el vector anulador derecho, ,
y el vector anulador izquierdo, , para la matriz de incidencia y donde todos
los elementos de estos vectores deben ser cero o positivos. Adems, se deno-
mina Componente Repetitiva a todo vector anulador derecho no negativo de C y
Componente Conservativa a todo vector anulador izquierdo no negativo de C.
Ya que cualquier componente repetitiva o conservativa multiplicada por
un escalar (k o k) tambin lo es, se requiere de una normalizacin, para
lo cual se debe garantizar que el mximo comn divisor de los elementos no
nulos de la componente sea la unidad. Bajo estas condiciones la componente se
convierte en una Componente Cannica repetitiva o conservativa segn el caso.
Una componente cannica repetitiva tambin se denomina T-invariantes,
mientras una componente cannica conservativa tambin recibe el nombre de
P-invariantes. Los elementos componentes diferentes de cero en los T-invarian-
tes representan la cuenta de disparos necesarios, de las transiciones que repre-
sentan, para alcanzar el marcado inicial partiendo del mismo marcado inicial.
As mismo, los elementos componentes diferentes de cero en los P-invariantes
representan el peso asociado para ese lugar tal que la suma ponderada de mar-
cas en esos lugares es una constante para todo marcado alcanzable desde el
marcado inicial [12].
En los T-invariantes o P-invariantes se dene un subconjunto de transi-
ciones o lugares, segn el caso, consistente en los elementos no nulos en el
respectivo invariante. Estos subconjuntos de transiciones o lugares se denomi-
nan Soporte del Invariante y se presentan por || o || segn el invariante al
que hacen referencia.
Para ver un ejemplo del clculo de los T-invariantes, el lector puede referirse
a la Seccin 5.11.3.5, donde se puede observar claramente la representacin que
se ha discutido sobre ellos.
136 CAPTULO 5. REDES DE PETRI
Para el clculo de los P-invariantes se puede seguir dos procedimientos
fciles, a saber: el primero de ellos es calcular los T-invariantes de la red de
Petri dual, o mediante el segundo que consiste en realizar un procedimiento
iterativo que permite encontrar de forma rpida todos los P-invariantes de la
red de forma tal que todos estos P-invariante obtenidos sean sucientes para
generar cualquier relacin lineal de componentes conservativas cannicas. A
continuacin se presenta el proceso iterativo para el desarrollo del segundo
mtodo.
5.12.2.1. Obtencin de los P-Invariantes
El proceso iterativo inicia con la formacin de una nueva matriz como con-
catenacin de la matriz unitaria de dimensin m y la matriz de incidencia, as:
_
I
0
.
.
.C
0
_
, donde el superndice cero hace referencia nicamente a la iteracin
cero, o sea procedimiento previo. El procedimiento iterativo se describe de la
siguiente forma [11]:
1. Iniciar el contador k en 1.
2. Aadir en la parte inferior de la nueva matriz todas las las que resultan
como combinacin lineal positiva de pares de las de ella misma y que a
su vez anulan a la k-sima columna de C
k1
.
3. Eliminar de la matriz resultante las las en las cuales la k-sima columna
de C
k1
es no nula.
4. Hacer k = k + 1 hasta un mximo de k = nmero de de transiciones
menos una. Regresar a 2.
5. Las las resultantes de la matriz I
k
son los P-invariantes luego de reali-
zarse la respectiva normalizacin.
Como ejemplo de este procedimiento se muestra la obtencin de los P-inva-
riantes para la Figura 5.8. Lo primero es construir la nueva matriz de la si-
guiente forma:
_
I
0
.
.
.C
0
_
=

+1 0 0 0 0 0
.
.
. 1 0 0 0 +1
0 +1 0 0 0 0
.
.
. +1 1 0 0 0
0 0 +1 0 0 0
.
.
. +1 0 1 0 0
0 0 0 +1 0 0
.
.
. 0 +1 0 1 0
0 0 0 0 +1 0
.
.
. 0 0 +1 1 0
0 0 0 0 0 +1
.
.
. 0 0 0 +1 1

En la primera iteracin se realiza la obtencin de las combinaciones lineales


positivas que anulan la primera columna de C
0
, as:
5.12. ANLISIS LOCAL DE REDES DE PETRI 137

+1 0 0 0 0 0
.
.
. 1 0 0 0 +1
0 +1 0 0 0 0
.
.
. +1 1 0 0 0
0 0 +1 0 0 0
.
.
. +1 0 1 0 0
0 0 0 +1 0 0
.
.
. 0 +1 0 1 0
0 0 0 0 +1 0
.
.
. 0 0 +1 1 0
0 0 0 0 0 +1
.
.
. 0 0 0 +1 1

+1 +1 0 0 0 0
.
.
. 0 1 0 0 +1
+1 0 +1 0 0 0
.
.
. 0 0 1 0 +1

Luego se eliminan las las para las cuales la columna uno de C


0
son no
nulas, lo cual es ahora C
1
:
_
I
1
.
.
.C
1
_
=

0 0 0 +1 0 0
.
.
. 0 +1 0 1 0
0 0 0 0 +1 0
.
.
. 0 0 +1 1 0
0 0 0 0 0 +1
.
.
. 0 0 0 +1 1
+1 +1 0 0 0 0
.
.
. 0 1 0 0 +1
+1 0 +1 0 0 0
.
.
. 0 0 1 0 +1

Procediendo igual para la segunda iteracin, se obtienen las combinaciones


lineales que eliminan la segunda columna de C
1
y se eliminan las las para las
cuales la columna dos de C
1
son no nulas, arrojando como resultado C
2
.
_
I
2
.
.
.C
2
_
=

0 0 0 0 +1 0
.
.
. 0 0 +1 1 0
0 0 0 0 0 +1
.
.
. 0 0 0 +1 1
+1 0 +1 0 0 0
.
.
. 0 0 1 0 +1
+1 +1 0 +1 0 0
.
.
. 0 0 0 1 +1

En la tercera iteracin los resultados son:


_
I
3
.
.
.C
3
_
=

0 0 0 0 0 +1
.
.
. 0 0 0 +1 1
+1 +1 0 +1 0 0
.
.
. 0 0 0 1 +1
+1 0 +1 0 +1 0
.
.
. 0 0 0 1 +1

Finalmente, en la cuarta y ltima iteracin el resultado obtenido es el si-


guiente:
138 CAPTULO 5. REDES DE PETRI
_
I
4
.
.
.C
4
_
=

+1 +1 0 +1 0 +1
.
.
. 0 0 0 0 0
+1 0 +1 0 +1 +1
.
.
. 0 0 0 0 0

Los resultados anteriores estn claramente normalizados, por los que los
soportes para los P-invariantes obtenidos son entonces:
|
1
| = P1, P2, P4, P6
|
2
| = P1, P3, P5, P6
Estos resultados indican la forma en la cual la relacin de marcas entre
los lugares del primer soporte se mantiene constante, es decir, si en la Figu-
ra 5.8 se hace la suma de las marcas en los lugares P1, P2, P4 y P6 sta siem-
pre es una constante, y de igual forma se puede proceder con los lugares del
segundo soporte. Adems se debe recordar que cualquier otra combinacin
lineal de los anteriores tambin es otra componente conservativa, por lo que
si se suman ambos se obtiene una tercera relacin de la forma |
1
| + |
2
| =
2P1, P2, P3, P4, P5, 2P6 indicando que al realizar la suma ponderada de mar-
cas en todos los lugares de la red se obtiene otra relacin constante, que en este
caso es de 2.
5.13. Portabilidad entre Redes de Petri y Lgica Ca-
bleada
Mediante la portabilidad se persigue realizar el paso directo de implementa-
ciones realizadas bajo la teora de redes de Petri a una estructura tipo lgica ca-
bleada que facilite su implementacin bajo tcnicas de programacin en PLCs.
La tcnica ac presentada se basa en el concepto que emplean las redes de
Petri para controlar la evolucin o ujo en la red, y el cual se fundamenta en el
marcado. Cada lugar de una red de Petri representa un estado, condicin o re-
curso y se asocia en los diagramas de lgica cableada con uno de los escalones
que en general deben controlar un contador que hace las veces de bobina, pero
a su vez permite el control de marcas en el lugar asociado. Las transiciones co-
rresponden con los eventos o acciones que permiten la evolucin del marcado
y se asocian con los contactos, que a su vez deben realizar la regla de evolu-
cin de retirar marcas de los lugares previos, restar en los contadores, y sumar
marcas en los lugares siguientes, sumar en los contadores respectivos [1, 8].
Se muestra la forma de reemplazar cada uno de los elementos de una red
de Petri por una estructura tipo lgica cableada que representa la misma fun-
cionalidad y reglas de evolucin involucradas. Para iniciar, en la Figura 5.45 se
muestra la forma de reemplazar una arquitectura secuencial.
5.13. PORTABILIDAD ENTRE REDES DE PETRI YLGICA CABLEADA 139
P1=C1
P2=C2
t1
C1 t1
C2:=C2+1
C1:=C1-1
Figura 5.45: Arquitectura Secuencial a Lgica Cableada
En la anterior gura, el disparo de la transicin t1 se asocia con el evento
de cierre en el contacto anlogo, lo cual ocasiona la evolucin si el lugar P1 se
encuentra marcado, que es anlogo a decrementar en uno del contador previo
e incrementar en uno el contador siguiente.
De forma general, los arcos en la red de Petri pueden tener asociado un
peso, que a su vez puede ser distinto para cada uno. En este caso la regla de
la evolucin exige que en el lugar previo deben existir como mnimo tantas
marcas como peso tiene el arco que lo une con la transicin y se deben adicionar
en el lugar de salida tantas marcas como peso tiene el arco que la une con la
transicin. En la Figura 5.46 se representa esta regla de evolucin general que
exige el mnimo de marcas (n) en P1 y el cumplimiento de la transicin para
retirar n marcas de P1 y adicionar m marcas a P2.
P1=C1
P2=C2
t1
t1
C2:=C2+m
C1:=C1-n
n
m
C1 > n
Figura 5.46: Arcos con Pesos a Lgica Cableada
Otro elemento bsico de las redes de Petri es el arco inhibidor, el cual exige
la no presencia de marcas en el lugar de partida para permitir la sensibilizacin
de la transicin a la cual llega. Para el caso de implementacin en lgica cablea-
da, este arco inhibidor se puede interpretar como un contacto normalmente
cerrado asociado al lugar de salida del arco con el n de vericar la no presen-
cia de marcas. En la Figura 5.47 se muestra su representacin.
P1=C1 P2=C2
P3=C3
t1
C1 t1
C3:=C3+1
C1:=C1-1
C2
Figura 5.47: Arco Inhibidor a Lgica Cableada
140 CAPTULO 5. REDES DE PETRI
En un Nodo And, una transicin puede tener varios lugares de entrada y
varios lugares de salida. Para este caso, la implementacin en lgica cableada
debe reejar la regla de sensibilizacin de la transicin y la evolucin del mar-
cado hacia cada uno de los lugares de salida. En la Figura 5.48 se muestra su
esquema general.
t1
C1 t1
C3:=C3+1
C4:=C4+1
C2
P2=C2 P1=C1
P3=C3 P4=C4
C1:=C1-1
C2:=C2-1
Figura 5.48: Nodo And a Lgica Cableada
En la arquitectura de decisin se describe la activacin de un evento de
entre varios posibles. Para su implementacin en lgica cableada, la sensibi-
lizacin y posterior disparo de una sola de las transiciones posibles determi-
na el camino a seleccionar, por lo que los eventos asociados a las transiciones
deben ser mutuamente excluyentes. En la Figura 5.49 se muestra su repre-
sentacin.
t1
P1=C1
P2=C2 P3=C3
t2
C1 t1
C2:=C2+1
C1:=C1-1
C3:=C3+1
C1:=C1-1
C1 t2
Figura 5.49: Arquitectura de Decisin a Lgica Cableada
En muchos casos, no se puede asegurar que los eventos asociados a la arqui-
tectura de decisin sean mutuamente excluyentes, por lo que se debe asignar
una prioridad o asegurar que la ocurrencia de ambos no cree un conicto. Para
la implementacin en lgica cableada de este tipo de circunstancias se hace
necesario la adicin de condiciones que impidan el disparo de las transiciones
de forma simultnea, o denir claramente prioridades a los eventos, tal como
se muestra en la Figura 5.50, donde la ocurrencia simultnea de las transiciones
t1 y t2 no produce la evolucin.
5.13. PORTABILIDAD ENTRE REDES DE PETRI YLGICA CABLEADA 141
C1 t1
C2:=C2+1
C1:=C1-1
C3:=C3+1
C1:=C1-1
C1 t2
t2
t1
Figura 5.50: Arquitectura de Decisin con Prioridad a Lgica Cableada
En la mayora de los automatismos se consideran condiciones de tempo-
rizacin que representan un estado del sistema, o sea un lugar dentro de una
red de Petri. Si la evolucin est condicionada al cumplimiento del tempo-
rizador, la implementacin en lgica cableada debe tener en cuenta esta condi-
cin para la sensibilizacin de la transicin respectiva, tal como se muestra en
la Figura 5.51, donde se asume una temporizacin tipo ON.
P1=C1
Ton=T
P2=C2
t2
t1
C1
Ton=T(s)
C2:=C2+1
C1:=C1-1
C1 t2 Ton
Figura 5.51: Temporizador a Lgica Cableada
Como a todo lugar se le asocia un posible estado, condicin o recurso, se
hace necesario asignar la ejecucin de estas acciones ante la presencia de mar-
cas en el lugar, lo cual se realiza mediante la implementacin mostrada en la
Figura 5.52.
P1=C1
A(Accin)
t2
t1
C1
A(Accin)
Figura 5.52: Accin a Lgica Cableada
142 CAPTULO 5. REDES DE PETRI
Finalmente, se hace nfasis en la implementacin del marcado inicial de una
red de Petri. El marcado inicial determina el estado de arranque de un sistema
y es fundamental para determinar la evolucin de estados, o marcados. Para su
implementacin en lgica cableada se procede a realizar la activacin de cuenta
adecuada en cada uno de los contadores que representan lugares con marcas
iniciales, asumiendo que todo sistema en el arranque tiene sus contadores en
cero, lo cual es prctico ya que la mayora de los sistemas en PLCs denen
un valor inicial de cuenta por defecto en cero para los contadores al momento
de arranque del sistema. En la Figura 5.53 se muestra un ejemplo completo
de implementacin en lgica cableada para una red de Petri, donde el primer
escaln implementa el marcado inicial.
P5 P4
P6
t2 t3
t4
P1
P2 P3
t1
t5
C1:=C1+1
C2:=C2+1
C3:=C3+1
C2 C4 C3 C5 C6
C1 t1
C1:=C1-1
C4:=C4+1
C2:=C2-1
C2 t2
C5:=C5+1
C3:=C3-1
C3 t3
C6:=C6+1
C4:=C4-1
C5 t4 C4
C5:=C5-1
C1:=C1+1
C6:=C6-1
t5 C6
Figura 5.53: Ejemplo de Red de Petri a Lgica Cableada
De la gura anterior se podra pensar que la parte del ltimo escaln que
realiza el incremento del contador uno sobra, ya que su incremento se realiza
de forma automtica cuando todos los contadores quedan en cero. Sin embar-
go, esto no siempre es as, ya que algunos sistemas pueden no ser reversibles
o regresar un nmero diferente de marcas cuando se termina un ciclo com-
pleto. En muchas ocasiones se usa un interruptor en serie con los contactos
normalmente cerrados que dan el marcado inicial, con el n de independizar
el arranque del n de un ciclo.
5.14. EJERCICIOS PROPUESTOS 143
5.14. Ejercicios Propuestos
1. Determine las propiedades de RdP Limitada, Viva, Reversible, Binaria,
Conforme, Persistente y Conservativa para cada una de las siguientes
redes de Petri:
P4
t2
P1
P2 P3
t1
t3
P3 P4
t3 t2
P2 P1
t1
P4
t2 t3
t4
P1
P2 P3
t5
t1
t6
P5
P6
t3
t2
P2 P1
t1
P3 P4
t4
t5
(a) (b)
(c) (d)
Figura 5.54: Ejercicios sobre Propiedades
2. Halle la matriz de incidencia, C, para cada una de las redes de la Figu-
ra 5.54.
3. Halle el marcado alcanzado en la red de la Figura 5.54-d si el vector se-
cuencia de disparo es = 1, 0, 1, 0, 0
T
.
4. Encuentre el rbol de cobertura para todas las redes de las Figuras 5.54.
5. Encuentre los grcos de cobertura todas las redes de las Figuras 5.54.
6. Determine para el punto 4, Cules rboles de cobertura son rboles de
alcanzabilidad y por qu?
144 CAPTULO 5. REDES DE PETRI
7. Determine para el punto 5, Cules grcos de cobertura son grcos de
alcanzabilidad y por qu?
8. Realice la simplicacin de la siguiente red de Petri.
t1
P1 P2
P3
P4
P11
P5
P6
P7 P12
P8
P9
P10
P13
t2
t3
t4
t6
t5
t8
t7
t10
t9
t11
t12
Figura 5.55: Ejercicio de Simplicacin
9. Encuentre las subredes de Petri que se pueden reducir a un lugar en la
red de la Figura 5.55.
10. Encuentre los T-invariantes y P-invariantes para las redes de Petri de las
Figuras 5.54.
11. Realice la implementacin en lgica cableada para la red de Petri de la
Figura 5.54-d.
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 5
ta
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, Verication, 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
146 BIBLIOGRAFA
[9] Martins M. Paulo Romero, Dueire L. Rafael, Freire C. Paulo Roberto
Introduo s Redes de Petri e Aplicaes
Departamento de Informtica, Universidad Federal de Pernambuco
XEscola de Computao, Campinas-SP. Brasil, 1996.
[10] Murata Tadao
Petri Nets: Properties, Analysis and Applications
Procediendo de la IEEE, Vol. 77, No 4, pp 541 1 580. Abril de 1989.
[11] Silva Manuel
Las Redes de Petri: en la Automtica y la Informtica
Editorial AC, 1985. ISBN 84-7288-045-1.
[12] Zurawski Richard, Zhou MengChu
Petri Nets and Industrial Applications: A Tutorial
Procediendo de la IEEE, Transactions on Industrial Electronics,
Vol. 41, No 6, pp 567 a 583. Diciembre de 1994.
Captulo 6
ESTNDAR IEC 61131-3
6.1. Marco Introductorio
Los diagramas escalera, tal como se vieron en el Captulo 4, han evoluciona-
do desde los diagramas de cableado utilizados en el diseo de sistemas para
vehculos, siendo inicialmente una excelente forma de expresar el desarrollo de
pequeas aplicaciones con habilidades muy bsicas en programacin. Debido
a su fcil interpretacin y seguimiento se hicieron muy populares y la mayora
de los PLCs entregaron una forma de programacin con base en los diagra-
mas escalera. Sin embargo, el desarrollo de un sistema de estos se vuelve ms
complejo cuando el tamao del sistema crece, trayendo con ello nuevos pro-
blemas en el desarrollo, especialmente haciendo muy difcil la creacin de pro-
gramas estructurados, el diseo de subrutinas o procedimientos y dicultando
enormemente el seguimiento y mantenimiento de sistemas en proporcin al
tamao de los mismos.
Aunque cada fabricante de PLCs trat a su manera de ir subsanando las
dicultades presentadas, el enorme crecimiento de la industria de los automa-
tismos ocasion la presencia de diversos lenguajes y tcnicas de desarrollo pro-
pios de cada uno dicultando la integracin, mantenimiento y seguimiento de
los sistemas por parte de los desarrolladores y personal de planta, requiriendo
de habilidades y capacitacin especial en cada uno de los tipos de PLCs usados.
Se requera, entonces, de lo que se llama hoy en da Sistemas Abiertos, permi-
tiendo la construccin de grandes soluciones usando equipos provenientes de
varios manufacturadores y estandarizando los mtodos y tcnicas de progra-
macin. Lo anterior fue la motivacin principal para la emisin del Estndar
IEC 61131-3, el cual provee tcnicas bien concebidas y probadas para lenguajes
de programacin de PLCs teniendo implicacin directa sobre la productividad
en el desarrollo de las aplicaciones al mejorar su anlisis, desarrollo, manteni-
miento y seguimiento [8, 9, 10]. La primera publicacin del estndar se realiz
en 1993 y a lo largo del tiempo ha tenido correcciones, enmiendas y reportes
tcnicos de los cuales los principales son: Correccin al IEC 61131-3 de 1994
149
150 CAPTULO 6. ESTNDAR IEC 61131-3
el cual corrige errores encontrados en el estndar posteriores a su publicacin,
Reporte Tcnico 2 Extensiones Propuestas al IEC 61131-3 y el Reporte Tcni-
co 3 Guas para la aplicacin e implementacin de lenguajes de programacin
para controladores programables [4, 6, 5, 7, 8, 9].
6.1.1. Deciencias de la Programacin Escalera
Aunque este tipo de programacin fue la abanderada en los inicios de la
propagacin de los sistemas basados en PLCs, ella presentaba unas deciencias
bien denidas las cuales era necesario superar.
La mayora de los sistemas de programacin en escalera soportados por los
PLCs entregaban un nmero limitado de subrutinas, dicultando la divisin
de un programa extenso en estructuras funcionales menores y con una jerar-
qua bien denida. De lo anterior se puede deducir que se limitaba la reutili-
zacin de piezas de software con funcionalidades comunes a ms de una apli-
cacin. Era entonces necesario escribir una y otra vez las mismas piezas de
software para cumplir exactamente la misma funcionalidad dentro de un mis-
mo sistema y ms an en sistemas diferentes. Es claro que la posibilidad de
tener bloques funcionales con lgica repetida que se puedan invocar continua-
mente puede reducir en gran proporcin el tamao de los programas y facilitar
su mantenimiento.
Otro inconveniente con este tipo de sistemas escalera era su inercia natural
a impedir el uso de estructuras de datos ya que estos eran almacenados como
unidades simples de memoria en bits o registros, pero en los sistemas actuales
se necesita poder mantener agrupados conjuntos de datos relacionados y to-
dos, posiblemente, de naturaleza diferente. Un ejemplo particular es el caso
de un sensor en el cual fuera del valor que entrega relacionado con una varia-
ble fsica se debe guardar informacin de su ubicacin, identicacin, ltimo
mantenimiento, ltima falla, etc.
Tal vez la dicultad ms grande con los sistemas escalera aparece una vez
los sistemas de control crecen, y a la vez tambin sus alcances y propsitos.
Cuando el deseo es controlar un sistema complejo el cual abarca varios frentes
se hace necesaria la introduccin de control para la aplicacin mediante secuen-
cias. Si por ejemplo se quiere controlar el arranque de un motor de corriente
alterna se requerir iniciar vericando el estado de ciertas partes del sistemas
que son externas al motor con el n de asegurar la conveniencia o seguridad de
su arranque, luego ser necesario proceder con las acciones propias del arran-
que y cuando se asegure su operacin en rgimen permanente realizar el paso
de las acciones posteriores o activacin de mquinas y sistemas subsecuentes.
Aunque la realizacin de este tipo de aplicacin es posible mediante el uso
de los diagramas escalera, su implementacin es tediosa, a medida que el sis-
tema crece se vuelve prcticamente inmanejable y su posterior mantenimiento
es casi que imposible.
En un sistema como el descrito en el prrafo anterior ser posible encontrar
requerimientos sobre el control de ejecucin, por ejemplo se puede requerir
seguimiento simultneo a procesos donde las necesidades de ejecucin del
6.2. MARCO CONCEPTUAL 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 con-
troles basados en tcnicas PID el problema se multiplica, ya que para garantizar
un buen control, es necesario mantener la velocidad de muestreo entre actua-
lizaciones de los algoritmos de control en estado estable y con una duracin
denida. 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 justicaciones ms que vlidas como
motivacin para la bsqueda y posterior introduccin del Estndar IEC 61131-
3 [2, 1, 8, 9].
6.2. Marco Conceptual
El estndar IEC 61131-3 fuera de describir los lenguajes de programacin
para PLCs, tambin consta de guas y metodologas para la creacin de proyec-
tos.
El estndar asume en todo instante que los valores provenientes de los
sensores externos, encargados de obtener la valoracin de las diferentes can-
tidades fsicas, se encuentran disponibles en locaciones denidas de memoria
en un PLC; de igual forma los valores de salida, encargados de controlar actua-
dores e indicadores, sern exteriorizados al actualizar locaciones denidas de
memoria.
6.2.1. Elementos del Modelo de Software
Los principales elementos requeridos en un modelo de software IEC 61131-
3 son los siguientes [8, 9]:
Conguracin: Conforma la capa exterior del modelo de software. General-
mente se concibe como el mismo software requerido en un PLC. Cuan-
do las aplicaciones se hacen ms complejas y extensas, se hace necesaria
la presencia de varios PLCs, los cuales deben interactuar entre ellos y
donde el software de cada uno se puede interpretar como una congu-
racin separada. La conguracin guarda informacin sobre el tipo de
PLC y recurso necesario para ejecutar un programa, la prioridad respec-
tiva asignada, las variables globales y externas y las variables de asig-
nacin fsica.
Recurso: Cada una de las unidades de proceso disponibles en un PLC. Un re-
curso puede correr varios programas y un programa no se podr ejecutar
si no es cargado en un recurso.
152 CAPTULO 6. ESTNDAR IEC 61131-3
Programa: Un programa se puede elaborar a partir de diferentes elementos
de software, cada uno de los cuales puede a su vez ser elaborado en
cualquiera de los lenguajes de programacin denidos por el estndar.
Cada elemento constitutivo de un programa puede requerir de priori-
dades diferentes de ejecucin, para lo cual a cada parte se le puede asig-
nar una tarea.
Tarea: Una tarea congura la ejecucin de un conjunto de programas y/ o blo-
ques de funciones. Esta conguracin puede permitir la ejecucin pe-
ridica de estos elementos o su ejecucin ante solicitud. Un programa o
bloque de funcin determinado permanecer inactivo hasta que sea asig-
nado a una tarea especca y hasta el momento en el cual dicha tarea se
ejecute ya sea de forma peridica o por demanda.
Unidades de Organizacin de Programa (POU): Son las funciones y bloques
de funciones a partir de las cuales se pueden elaborar programas y otras
POUs, por tanto pudiendo ser usados repetidamente en diferentes partes
de una aplicacin. El estndar IEC 61131-3 limita los tipos de POUs a tres
principales tipos de bloques los cuales se describen en la Tabla 6.1:
Tipo de POU Descripcin
Programa
PROGRAM
Representa el programa principal y la unidad mayor de reu-
tilizacin de software. En este tipo de unidad se incluye la
asignacin de variables de entrada y salida a direcciones fsi-
cas del PLC. Puede tener uno o varios parmetros de entrada
y de salida.
Bloque de Funcin
FUNCTION_BLOCK
Tipo de POU base del diseo jerrquico, al permitir la creacin
de programas desde unidades menores. Puede contener fun-
ciones y otros bloques de funciones. Posee un algoritmo que
corre una vez con cada ejecucin del bloque de funcin. Per-
mite denir datos como conjunto de parmetros de entrada
y salida que se pueden conectar a otros bloques o a variables
internas. Las variables denidas 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 con-
junto de valores de entrada siempre retorna el mismo valor de
salida, es decir, no posee variables estticas y solo produce un
nico resultado primario.
Tabla 6.1: Tipos de POUs
Variables Locales y Globales: Las variables pueden contener diferentes tipos
de datos y poseer nombres que las representen de forma adecuada. Las
variables locales se pueden declarar ya sea en las conguraciones, en los
programas, en los bloques de funciones o en las funciones, pero quedan-
do restringidas en acceso nicamente al elemento que las contiene. Una
6.2. MARCO CONCEPTUAL 153
variable global puede ser declarada en un programa y por tanto ser ac-
cedida desde todos los elementos de software dentro del mismo, igual-
mente si sta es denida en un recurso o en una conguracin 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 diculta la reutilizacin de los progra-
mas que las denen, 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 conguraciones remotas diferentes a la que la declara.
Es de resaltar que el estndar no dene 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 Constructor Descripcin
Variable Local VAR Slo es visible y procesable dentro de
la POU que la dene. Puede ser leda o
escrita.
Variable de Entrada VAR_INPUT Es una variable que es visible en la
POU invocante. Dentro de su POU slo
puede ser leda ms no escrita.
Variable de Salida VAR_OUTPUT Es una variable que es visible en la
POU invocante. Fuera de su POU s-
lo se puede leer, pero dentro puede ser
tanto leda como escrita.
Variable de Entrada
y Salida
VAR_IN_OUT Tipo de variable que combina los dos
tipos anteriores. Puede ser leda y escri-
ta tanto fuera como dentro de su POU.
Variable Externa VAR_EXTERNAL Es una variable global denida por
una POU, siendo visible y con posibi-
lidades de lectura y escritura por todas
las otras POUs.
Variable Global VAR_GLOBAL Posee las mismas caractersticas de una
variable externa.
Variable Ruta de
Acceso
VAR_ACCESS Variable global de uso en las congu-
raciones como medio de comunicacin
entre una y las dems.
Tabla 6.2: Tipos de Variables
1
Un constructor es una palabra especial, escrita normalmente en maysculas, empleada para
determinar el inicio y/ o n de un elemento particular de software.
154 CAPTULO 6. ESTNDAR IEC 61131-3
En la Figura 6.1 se observa una representacin esquemtica de los diferentes
componentes o elementos involucrados en el modelo de software denido por
el Estndar IEC 61131-3.
HACIA OTRAS CONFIGURACIONES
RUTAS DE ACCESO
VARIABLES GLOBALES Y DE REPRESENTACIN DIRECTA
RECURSO
Tarea
Programa
CONFIGURACIN
RECURSO RECURSO
Tarea Tarea Tarea Tarea
Programa Programa Programa Programa
Bloque
de
Funcin
(FB)
VAR
LOCAL
Funcin
(FUN)
FB FUN
Figura 6.1: Modelo Denido por el Estndar IEC 61131-3
6.2.2. Partes de una POU
Toda POU consta de tres partes, con las cuales se dene completamente su
tipo y funcionalidad deseada. En la primer parte se dene el nombre y tipo
de la POU, en la segunda parte se realiza la declaracin de tipos de datos y
variables y la ltima parte consta del cdigo de instrucciones o algoritmo que
dene la funcionalidad [8, 9].
Si la POU es una funcin, en la primer parte debe ir la denicin de tipos de
datos. El Estndar IEC 61131-3 permite que las partes de declaracin y de cdi-
go puedan ser realizadas en cualquiera de los cinco lenguajes de programacin
textuales o grcos denidos en el mismo estndar. Si, por ejemplo, se desea
implementar un bloque de funcin para el arranque de un motor AC trifsico,
la POU respectiva podra ser la mostrada en la Figura 6.2.
En el estndar se denen un total de cinco lenguajes de programacin, de
los cuales tres son grcos y dos son textuales, permitiendo la portabilidad de
los programas independiente de los proveedores de los PLCs. A continuacin
se realiza una corta presentacin de cada uno de los lenguajes, ya que su des-
cripcin ser objetivo de secciones subsecuentes.
6.2. MARCO CONCEPTUAL 155
Tipo de POU
Interfaz de variables
Variables locales
Algoritmo
Parte de declaraciones
Parte de cdigo
FUNCTION_BLOCK ArranqueMotor
VAR_INPUT Iniciar :BOOL; END_VAR
VAR_OUTPUT FIN :BOOL;
VAR PasoYD :BOOL; END_VAR
Velocid :BYTE; END_VAR
ALGORITMO
ArranqueMotor
Iniciar
Fin
Velocid
Figura 6.2: Partes de una POU
Texto Estructurado: (Structured Text- ST) Lenguaje de programacin de alto
nivel de sintaxis similar a los lenguajes tradicionales de texto como C,
PASCAL, etc.
Listado de Instrucciones: (Instruction List- IL) Lenguaje de programacin de
bajo nivel con orientacin a mquina, el cual se basa en lenguajes simi-
lares ofrecidos por varios proveedores de PLCs.
Diagrama de Bloques de Funciones: (Function Block Diagram- FBD) Lengua-
je de programacin que permite la interconexin grca del ujo de con-
trol entre funciones, bloques de funciones y los dems elementos fun-
cionales.
Diagrama Escalera: (Ladder Diagram- LD) Lenguaje grco de programacin
que se basa en los tradicionales diagramas de lgica cableada, o escalera.
Diagrama Funcional Secuencial: (Sequential Function Chart- SFC) Lenguaje
grco de programacin que permite describir el ujo de control me-
diante la asignacin de tareas en partes que se pueden realizar en forma
secuencial o paralela.
Como ejemplo para los diferentes tipos de lenguajes del estndar, se tiene la
implementacin de un control sencillo para una alarma en un banco: si se abre
la caja fuerte en horario laboral se debe encender un indicador de riesgo, pero
si se abre la caja fuerte fuera de horario laboral se debe activar una alarma
sonora:
IF (CajaFuerte=Abierta) AND (Horario=Laboral) THEN
Indicador=1;
ELSE
IF (CajaFuerte=Abierta) AND (Horario<>Laboral) THEN
Alarma=1;
END_IF;
END_IF;
Figura 6.3: Ejemplo de Texto Estructurado
156 CAPTULO 6. ESTNDAR IEC 61131-3
LD CajaFuerte
AND Laboral
ST Indicador
LD CajaFuerte
AND NOT(Laboral)
ST Alarma
Figura 6.4: Ejemplo de Listado de Instrucciones
CajaFuerte
Laboral
CajaFuerte
Indicador
Alarma
&
&
1
Figura 6.5: Ejemplo de Diagrama de Bloques Funcionales
<Indicador
<Alarma
CajaFuerte Laboral
Laboral
Figura 6.6: Ejemplo de Diagrama Escalera
0
CajaFuerte
1
Indicador Alarma
Laboral Laboral
Cancelar Cancelar
2 3
Figura 6.7: Ejemplo de Diagrama Funcional Secuencial
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 157
6.3. Elementos Comunes a los Lenguajes del Estn-
dar
Como ya se ha dicho, el algoritmo funcional de los programas, bloques de
funciones y funciones puede ser programado empleando cualquiera de los cin-
co lenguajes denidos por el estndar, sin embargo independientemente del
lenguaje seleccionado, ciertas partes de toda POU deben ser denidas siempre
de la misma manera, como es el caso de la declaracin de variables, los tipos
de datos, denicin del tipo de POU, etc. Para ello se hace necesario introducir
antes que nada un gran nmero de elementos comunes y caractersticas que
aplican para todos los lenguajes [8, 9].
6.3.1. Conjunto de Caracteres
Una condicin importante que debe cumplir cualquier lenguaje del estn-
dar es su portabilidad entre diferentes sistemas, por tanto toda informacin en
texto debe estar restringida a ser expresada mediante un conjunto denido de
letras, dgitos y caracteres. Para cumplir con lo anterior se emplea los carac-
teres del estndar ISO 646 denominado como Basic Table Code. El estndar
es exible al permitir alternativas para resolver conictos debidos a caracteres
con varios signicados dependiendo de su contexto o uso regional, sin em-
bargo se prohbe el empleo de caracteres regionales, aunque se pueden incluir
como extensiones del estndar para una nacin determinada.
6.3.2. Identicadores
Los identicadores 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 identicadores no son sen-
sibles a maysculas, por tanto dos variables llamadas por ejemplo Activo y
ACTIVO son tratadas como la misma variable; adems el estndar slo exige
la vericacin de los primeros 6 caracteres de un identicador para determinar
su unicidad, por lo que dos variables llamadas por ejemplo Activo_1 y Ac-
tivo_2 podran ser las mismas dependiendo del sistema empleado.
6.3.3. Palabras Reservadas
Identicadores especiales que normalmente se escriben en maysculas y
que el estndar reserva para denir diferentes construcciones o para iniciar
y terminar elementos determinados del lenguaje. Se permite su escritura en
maysculas, minsculas o mezcla de ambas sin afectar el signicado de ellas,
158 CAPTULO 6. ESTNDAR IEC 61131-3
por lo que adems se prohbe su empleo para denir el nombre de variables,
programas u otros elementos.
En la Tabla 6.3 se hace una lista completa de las palabras reservadas por
el estndar IEC 61131-3, la mayora de ellas se describirn en las secciones si-
guientes, las otras se dejan para que el lector verique su funcionalidad.
Letra Palabras Reservadas
A ABS, ACOS, ACTION, ADD, AND, ANDN, ANY, ANY_BIT, ANY_DATE,
ANY_INT, ANY_NUM, ANY_REAL, ARRAY, ASIN, AT, ATAN
B BOOL, BY, BYTE
C CAL, CALC, CALCN, CASE, CD, CDT, CLK, CONCAT, CONFIGURATION,
CONSTANT, COS, CTD, CTU, CTUD, CU, CV
D D, DATE, DATE_AND_TIME, DELETE, DINT, DIV, DO, DS, DT, DWORD
E ELSE, ELSIF, END_ACTION, END_CASE, END_CONFIGURATION,
END_FOR, END_FUNCTION, END_FUNCTION_BLOCK, END_IF,
END_PROGRAM, END_REPEAT, END_RESOURCE, END_ STEP, END_STRUCT,
END_TRANSITION, END_TYPE, END_VAR, END_WHILE, EN, ENO, EQ, ET,
EXIT, EXP, EXPT
F FALSE, F_EDGE, F_TRIG, FIND, FOR, FROM, FUNCTION, FUNCTION_BLOCK
G GE, GT
I IF, IN, INITIAL_STEP, INSERT, INT, INTERVAL
J JMP, JMPC, JMPCN
L L, LD, LDN, LE, LEFT, LEN, LIMIT, LINT, LN, LOG, LREAL, LT, LWORD
M MAX, MID, MIN, MOD, MOVE, MUL, MUX
N N, NE, NEG, NOT
O OF, ON, OR, ORN
P P, PRIORITY, PROGRAM, PT, PV
Q Q, Q1, QU, QD
R R, R1, R_TRIG, READ_ONLY, READ_WRITE, REAL, RELEASE, REPEAT, RE-
PLACE, RESOURCE, RET, RETAIN, RETC, RETCN, RETURN, RIGHT, ROL, ROR,
RS, RTC, R_EDGE
S S, S1, SD, SEL, SEMA, SHL, SHR, SIN, SINGLE, SINT, SL, SQRT, SR, ST, STEP, STN,
STRING, STRUCT, SUB
T TAN, TASK, THEN, TIME, TIME_OF_DAY, TO, TOD, TOF, TON, TP, TRANSITION,
TRUE, TYPE
U UDINT, UINT, ULINT, UNTIL, USINT, VAR
V VAR_ACCESS, VAR_EXTERNAL, VAR_GLOBAL, VAR_INPUT, VAR_IN_OUT,
VAR_OUTPUT
W WHILE,. WITH, WORD
X XOR, XORN
Tabla 6.3: Palabras Reservadas IEC 61131-3
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 159
En las Figuras 6.2 y 6.3 las palabras reservadas se muestran en maysculas.
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 n de poder especicar funcionalidades, facilitar el
mantenimiento de los algoritmos o simplemente para claricar procedimien-
tos.
Todos los lenguajes IEC 61131-3 permiten la insercin de comentarios, aun-
que el Listado de Instrucciones tiene algunas restricciones. Un comentario se
inicia con los caracteres (* y se termina con *), se puede colocar en cualquier
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 con-
tinuacin se muestra un ejemplo de comentario:
(
*****************************************
)
(
*****************************************
)
(
*********
Arranque Motor Trifsico
********
)
(
*****************************************
)
(
*****************************************
)
(
*
Arranque Y-Delta por Transicin Abierta
*
)
(
*****************************************
)
(
*****************************************
)
Figura 6.8: Ejemplo de Comentario
6.3.5. Delimitadores
Son smbolos especiales requeridos para la sintaxis de un lenguaje, los cua-
les pueden variar su signicado 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 signicados, 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 signicados se podrn inferir para la gran
mayora de forma natural: +, - , #, E, ;, :=, ,(coma), (...), [...], ;, %, =>, <, >, >=,
<=, =, <>, *, **, / , &. El espacio en blanco se considera igualmente como un
delimitador.
160 CAPTULO 6. ESTNDAR IEC 61131-3
6.3.6. Tipos de Datos
6.3.6.1. Tipos de Datos Elementales
Debido al amplio rango de operacin de los PLCs hoy en da, se hace nece-
sario que estos soporten una gran variedad de tipos y formatos de datos, entre
los cuales se encuentran los Enteros, Reales, Tiempo, Fecha y Tiempo, Cade-
nas y Booleanos los cuales se constituyen como los tipos elementales de datos
disponibles.
Cuando se habla de tipos de datos siempre se hace una relacin con aque-
llos datos especiales que representan valores jos 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 ambi-
gedad 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 denir 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_111donde
el caracter _ es permitido por el estndar para nes de claridad sin introducir
signicado 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 im-
plementacin 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 pgi-
na, $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 co-
milla 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 Alar-
ma.
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 161
Tipos de Datos Descripcin Bits Rango o Uso
Enteros (Integer)
SINT
INT
DINT
LINT
USINT
UINT
UDINT
ULINT
Entero corto
Entero
Entero doble
Entero largo
Entero corto sin signo
Entero sin signo
Entero doble sin signo
Entero largo sin signo
8
16
32
64
8
16
32
64
-128 a +127
-32768 a +32767
-2
31
a +2
31
-1
-2
63
a +2
63
-1
0 a 255
0 a +2
16
-1
0 a +2
32
-1
0 a +2
64
-1
Ejemplos de Literales 16#2AF
USINT#135
2AF en base 16
135 tipo USINT
Reales (Real)
REAL
LREAL
Real
Real largo
32
64
10
38
10
308
Ejemplos de Literales +2_145.021
REAL#+2.4E-03
+2,145.021
0.0024 tipo REAL
Duracin (TIME)
TIME Duracin de tiempo Segn Tiempo enlasado
Ejemplos de Literales T#63h12m10s
TIME#3.5m_10ms
1 h, 15 min y 10 s
3 min, 30 s y 10 ms
Fecha y Tiempo
(Date and Time)
DATE
TIME_OF_DAY
DATE_AND_TIME
Fechas calendario (D)
Hora del da (TOD)
Fecha y hora da (DT)
Segn
Segn
Segn
Fechas
Horas reloj
Fecha y hora da
Ejemplos de Literales date#2007-10-31
TOD#15:30:30
DT#2005-07-12-17:46:12
31 de octubre de 2007
3 pm, 30 min y 30 seg
12 de Julio de 2005 y
5pm, 46 min y 12 seg
Cadenas (Strings)
STRING Cadenas de caracteres Segn Guarda texto
Ejemplos de Literales Inicio de Arranque
Fin de Arranque $r
Mensaje de inicio
Mensaje con caracter de
retorno de carro
Cadenas de Bits
(Bit String)
BOOL
BYTE
WORD
DWORD
LWORD
Cadena de un bit
Cadena de 8 bits
Cadena de 16 bits
Cadena de 32 bits
Cadena de 64 bits
1
8
16
32
64
Estados lgicos
8 bits de datos
16 bits de datos
32 bits de datos
64 bits de datos
Ejemplos de Literales BYTE#1111_0000
16#DC1A
FALSE
11110000
Asignacin a WORD
Asignacin 0 a BOOL
Tabla 6.4: Tipos de Datos Elementales
162 CAPTULO 6. ESTNDAR IEC 61131-3
6.3.6.2. Datos Genricos
Los tipos de datos elementales se han organizado en una estructura je-
rrquica de acuerdo con propiedades similares entre ellos, por ejemplo todos
los tipos de datos Enteros comparten ciertas propiedades, lo mismo se puede
decir de los tipos de datos Reales. A un nivel mayor, los tipos de datos En-
teros y Reales comparten ciertas propiedades entre s. De estas agrupaciones
jerrquicas salen los tipos de datos genricos, los cuales mostrados de menor a
mayor nivel son:
ANY_INT el cual hace referencia a cualquiera de los tipos de datos enteros
ANY_REAL el cual hace referencia a cualquiera de los tipos de datos reales
ANY_NUM el cual hace referencia a cualquiera de los dos tipos anteriores
ANY_INT o ANY_REAL
ANY_DATE el cual hace referencia a cualquiera de los tipos de datos de fecha
y tiempo
ANY_BIT el cual hace referencia a cualquiera de los tipos de datos de cadenas
de bits
ANY_ELEMENTARY el cual hace referencia a cualquiera de los tipos de datos
elementales
ANY es el nivel mayor de jerarqua y comprende a cualquiera de los tipos de
datos
Estos tipos de datos genricos se emplean para describir variables de entrada
y/ o salida en bloques de funciones o funciones las cuales pueden tener varios
tipos de datos, y se les conoce como Variables Sobrecargadas. Un ejemplo de este
tipo de funcione es MIN(), la cual est descrita mediante el uso de tipos de
datos genricos, lo cual muestra que esta misma funcin se puede emplear en
un amplio rango de tipos de datos diferentes.
Los tipos de datos que dene el usuario, Datos Derivados, quedan incluidos
dentro de la categora ANY. Los tipos de datos genricos no se pueden em-
plear dentro de la parte de declaracin de variables en las POUs creadas por el
usuario y su uso se restringe a explicar la interfaz de llamado de las funciones
y bloques de funciones estndares del lenguaje.
6.3.6.3. Propiedades de Tipos de Datos Elementales
A un tipo de dato elemental se le puede asignar varias propiedades. Una
de estas propiedades comn a todos los tipos es el Valor Inicial, por defecto los
valores iniciales de las variables se jan en cero para las numricas y de tiempo,
cadenas vacas para las Strings, False (0) para las de Bits y 0001-01-01 para las
fechas.
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 163
Otra propiedad comn a todos los tipos de datos es la Enumeracin, la cual
asigna nombres a los valores que puede asumir una variable determinada,
donde cada nombre es convertido adecuadamente por el sistema en cdigo
apropiado.
Una propiedad que se podra extender a varios tipos de datos, pero que de
acuerdo con el estndar slo est denida para los tipos Enteros es Range, sta
consiste en limitar el rango entre los cuales una variable de este tipo puede
asumir valores.
Otras dos propiedades bien importantes, y quiz las de mayor utilidad, son
las de Array y Structure. En la primera de ellas varios elementos del mismo tipo
son combinados en un solo arreglo, permitindose su uso anidado, caso en el
cual se formaran arreglo de varias dimensiones. En la propiedad de Structure
varios elementos de distintos tipos de datos se combinan para formar un nuevo
tipo de dato.
Los arreglos (Arrays) son disposiciones ordenadas de datos del mismo tipo,
los cuales se pueden acceder mediante un ndice que se encuentra dentro de
unos lmites apropiados de acuerdo al tamao del arreglo. La mayora de los
sistemas modernos de PLCs permiten el control de error para acciones que in-
tentan acceder a posiciones dentro de un arreglo que estn fuera de los lmites,
o tamao, del mismo. El nmero de ndices necesarios para acceder un elemen-
to particular depender del nmero de dimensiones, por ejemplo, para una
matriz (2D) sern necesarios dos ndices para poder apuntar hacia un elemen-
to cualquiera. La forma de denirlos se ver ms adelante, aunque se resalta el
hecho que el estndar permite que los arreglos se puedan denir directamente
en la parte de declaracin de variables sin necesidad de una declaracin previa
de tipo de dato.
Las estructuras (Structures) son colecciones de elementos de diferentes tipos,
entre las cuales pueden haber tipos elementales, tipos derivados e incluso otras
subestructuras en una organizacin jerrquica. Las dos palabras reservadas
STRUCT y END_STRUCT se emplean para indicar el inicio y n, respectiva-
mente, de la declaracin de una nueva estructura.
6.3.6.4. Tipos de Datos Derivados
Son tipos de datos que se forman con base en los tipos elementales y sus
propiedades, permitindose as al usuario la creacin personalizada de estruc-
turas complejas de datos adecuadas para una aplicacin dada. Estos tipos de-
rivados son globales para todo un proyecto y se emplean para declarar varia-
bles mediante el uso de nombres, en la misma forma que se hace con los tipos
elementales. La forma de denir estos tipos de datos es textual y para ello se
emplean las palabras reservadas TYPE y END_TYPE para indicar su inicio y
n. Si por ejemplo, se desea crear un nuevo tipo de variable que reeje toda la
informacin de los motores de una planta industrial se podra crear un tipo de
dato como el siguiente:
164 CAPTULO 6. ESTNDAR IEC 61131-3
TYPE
Rpm
MotMaq
MotLin
Trabajo
Archivo
STRUCT
Nombre
Estado
Motores
END_STRUCT;
END_TYPE
:INT(0..10000);
:ARRAY[1..20]OF Rpm;
:ARRAY[1..10]OF MotMaq;
:(Paro, Mant, Prod);
:
:STRING;
:Trabajo:=Paro;
:MotLin;
(
*
Propiedad de rango
*
)
(
*
Propiedad arreglo
*
)
(
*
Propiedad arreglo
*
)
(
*
Propiedad enumeracin
*
)
(
*
Nombre de la estructura
*
)
(
*
Tipo elemental de dato
*
)
(
*
Tipo enumerado
inicializado
*
)
(
*
Tipo arreglo
*
)
Figura 6.9: Ejemplo de Declaracin de Tipo de Dato Derivado
En el ejemplo mostrado en la Figura 6.9 se muestra la forma de denir tipos
de datos derivados haciendo uso de los tipos elementales y de sus propiedades.
El tipo Rpm es la velocidad que se ha denido con un rango de valores enteros
aceptables entre 0 y 10000, MotMaq es un arreglo donde se puede guardar el
valor de velocidad de hasta 20 motores para una misma mquina, cada una de
las cuales es del tipo Rpm denido previamente. MotLin es otro arreglo de un
mximo de 10 elementos representado a cada una de las mquinas que pueden
conformar una lnea de produccin, donde cada elemento son los motores de
cada una de las mquinas tal como se deni en el tipo MotMaq. El tipo Traba-
jo posee la propiedad de enumeracin y cada uno de sus elementos se ingresa
como un nombre pero el sistema de programacin convierte estos elementos al
cdigo correcto, normalmente a valores enteros iniciando con un valor numri-
co de uno. En el caso de este ejemplo particular, para determinar el estado de
trabajo actual de la lnea se han denido los estados de operacin paro, man-
tenimiento y produccin (Paro, Mant, Prod). En el ejemplo de la Figura 6.9,
Archivo es un dato tipo estructura el cual se ha formado de otros datos de
diferente naturaleza y contiene a su vez datos elementales y datos derivados,
por ejemplo Nombre es un tipo de dato elemental, mientras Estado es del tipo
de dato derivado Trabajo pero ha sido inicializado con el valor Paro. Final-
mente Motores es otro elemento de la estructura denominada Archivo y es del
tipo de dato derivado MotLin.
Todas las propiedades descritas para los datos de tipo elemental se extien-
den a los datos derivados con la misma restriccin dada para la propiedad
Range. Adems en general, los tipos de datos derivados pueden componerse
de otros tipos derivados siempre y cuando no se cause recursin, es decir, un
tipo derivado se componga de otro y a su vez este ltimo se componga del
primero. Como consecuencia de la extensin de la propiedad Valor Inicial a
tipos derivados de datos, ellos se pueden inicializar en valores que se deben
denir en la parte de declaracin del tipo o de una variable, aunque si lo ante-
rior no se realiza los tipos derivados conservan los valores por defecto de los
tipos elementales que los componen. La inicializacin de valores en el caso de
los arreglos y las estructuras se puede realizar para cada uno de los elemen-
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 165
tos, a continuacin se muestran dos ejemplos de como realizar la denicin de
valores iniciales en el caso de estructuras de este tipo:
MotMaq: ARRAY[1..20]OF Rpm:=[10(0), 4(1800), 6(3600)];
MotEmpresa: Archivo (Estado:=Mant);
En el caso de MotMaq se ha inicializado las diez primeras componentes del
arreglo en un valor de 0, las cuatro siguientes componentes en 1800 y las lti-
mas seis en 3600. Para MotEmpresa denido como de tipo Archivo se ha ini-
cializado la componente Estado en la calidad de Mant, pero los dems valores
iniciales de los elementos de este tipo permanecern igual a los denidos para
Archivo o en los valores por defecto de los tipos de datos elementales en caso
de no haber sido inicializados, ver Figura 6.9.
6.3.7. Variables
Existen varios tipos de variables las cuales se declaran, al igual que los tipos
de datos, en la parte de declaraciones de una POU y dichos tipos dependen de
su funcionalidad dentro de la POU. La denicin de todos los tipos inicia con
una palabra reservada que indica el tipo, pero siempre termina con END_VAR.
Si dentro de un mismo tipo de variable existe mas de una variable del mis-
mo tipo de dato, stas se pueden denir como una lista separada mediante
el delimitador coma (,). Adems las variables poseen propiedades que tam-
bin pueden ser denidas 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 especcos de variables dispo-
nibles con su aplicacin y los atributos que se pueden denir 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 lengua-
jes tradicionales de programacin, es decir, ellas slo pueden ser acce-
didas dentro de la POU que las dene. Su declaracin inicia con la pa-
labra 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 pa-
rmetros de entrada para una POU y los cuales son suministrados por
fuentes externas de datos. Esta clase de variable puede ser denida en
todo tipo de POU y su declaracin debe iniciar con la palabra reservada
VAR_INPUT y terminar con END_VAR.
166 CAPTULO 6. ESTNDAR IEC 61131-3
Variables de Salida: Es el listado de variables que se comportan como par-
metros de salida de una POU y son consecuentemente escritas hacia va-
riables externas. Esta clase de variable se puede denir slo en los pro-
gramas 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 simultnea-
mente como parmetros de entrada y salida a una POU y los cuales se
pueden modicar a su interior, aunque estas variables son guardadas
como externas a la POU que las dene. Su acceso externo es igual al
denido para las variables de salida. Un ejemplo de uso de este tipo de
variables es cuando un mismo bloque funcional puede realizar varias ta-
reas, ste sera el caso de un bloque de funcin capaz de realizar las ta-
reas de Arranque, Operacin y Paro de un motor AC trifsico. Declaran-
do 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 Ope-
racin 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 con-
guracin, 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 permi-
tir el acceso a variables globales denidas a nivel de conguracin, recur-
sos o programa. Su declaracin inicia con la palabra reservada VAR_EX-
TERNAL y termina con END_VAR.
Variables Temporales: Son variables denidas 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 n
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 necesi-
dad de emplear un identicador. 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,
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 167
A representan la regin de memoria del PLC a la cual pertenece la va-
riable 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); nalmente
# es una direccin numrica en formato multi-dgito jerrquico donde la
parte ms signicativa se encuentra a la izquierda y su signicado de-
pende de cada fabricante. La variable de representacin directa %QX2.3
es la variable de salida tipo bit para la palabra 2 bandera 3. Cuando, co-
mo en el ejemplo anterior, el tipo de memoria es Bit (X) se puede omitir
sta en la cadena de la variable de representacin directa, con lo cual la
cadena anterior queda %Q2.3.
Las variables de representacin directa tambin pueden ser declaradas
empleando un identicador, caso en el cual se denominan Variables Sim-
blicas. A continuacin se muestra un ejemplo de como realizar la decla-
racin de este tipo de variable:
AT%IB2: Byte; (
*
Entrada Byte en direccin 2 tipo representacin
directa
*
)
SENSOR AT%IW4: WORD; (
*
Salida Word en direccin 4 tipo variable
simblica
*
)
Variables MultiElemento: El estndar se reere a los arreglos y estructuras
como variables multi-elemento, por lo que a las variables de un solo ele-
mento se les denomina como variables de elemento simple. Las deni-
ciones de los tipos de datos para variables multi-elemento se realizan de
la forma descrita para tipos de datos derivados.
Variables de Acceso: Es el listado de variables por medio de las cuales otros
programas basados en el estndar IEC 61131-3 y otros dispositivos remo-
tos podrn hacer referencia a ciertas variables. Este tipo de variable slo
puede hacer referencia a variables de entrada o salida en un programa,
a variables globales y a variables de representacin directa. Las variables
anteriores pueden, a su vez, hacer referencia a un tipo de dato multi-
elemento o a un elemento particular del mismo. Su declaracin inicia con
la palabra reservada VAR_ACCESS y termina con END_VAR.
6.3.7.2. Atributos de las Variables
El estndar dene un conjunto de atributos con los cuales se puede realizar
la asignacin de propiedades adicionales a las variables declaradas. Estos atri-
butos los podemos dividir en dos grupos principales, uno en el cual el atributo
afecta a todo un conjunto de variables declaradas y otro que afecta a cada va-
riable de forma individual.
168 CAPTULO 6. ESTNDAR IEC 61131-3
Al primer grupo pertenecen los atributos RETAIN y CONSTANT los cuales
se deben colocar enseguida de la palabra reservada que dene al grupo de va-
riables que se desea cubrir. RETAIN se emplea para indicar variables cuyos
valores no se deben perder durante un corte de energa y que por ende son
soportadas mediante batera interna, se puede emplear con variables de tipo
VAR, VAR_OUTPUT y VAR_GLOBAL. CONSTANT se emplea para indicar
variables cuyos valores no pueden ser cambiados durante la ejecucin de un
programa y por lo que en realidad deben ser tomadas como constantes y no
como variables, se puede emplear con variables de tipo VAR y VAR_GLOBAL.
El uso simultneo de los dos atributos anteriores no tiene sentido y por tanto
no es permitido por el estndar.
En el segundo grupo se encuentran cuatro atributos que deben ser especi-
cados de forma individual para cada variable. R_EDGE y F_EDGE hacen
referencia a variables booleanas con activacin por anco de subida o baja-
da respectivamente y segn el estndar slo estn denidos para variables de
tipo VAR_INPUT aunque pueden ser extensibles a VAR y VAR_GLOBAL. Los
atributos READ_ONLY y READ_WRITE se reservan de forma expresa para el
tipo VAR_ACCESSy adems son los nicos permitidos para este tipo de varia-
ble. READ_ONLY indica que un dispositivo o programa remoto slo puede
leer la variable referenciada, mientras que READ_WRITE indica que dicha
variable se puede leer y/ o escribir.
A continuacin, en la Figura 6.10, se presenta un ejemplo en el cual se puede
comprender la forma y sintaxis para empleo de los anteriores atributos.
VAR_INPUT
Inicio
END_VAR
VAR CONSTANT
Modo
END_VAR
VAR_OUTPUT
Salida1,
Salida2
END_VAR
:BOOL
R_EDGE;
:Bit:=2#1;
RETAIN
:BYTE;
(
*
Atributo de flanco de subida
*
)
(
*
Variable tipo Bit con atributo
Constant fijada a un valor de 1
binario
*
)
(
*
Variables tipo Byte con atributo
Retain
*
)
Figura 6.10: Ejemplo de Declaracin de Atributos a Variables
Como se puede observar los atributos van luego de un delimitador de espa-
cio 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.
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 169
6.3.7.3. Inicializacin de Variables
Cuando una conguracin o recurso arranca se le asigna un valor inicial
a todas las variables, el cual depender de la informacin especicada por el
programador en la parte de declaracin de la variables o de sus tipos de datos
elementales y derivados. Todas las variables poseen un valor inicial intrnseco,
excepto las de tipo Externas y de Entrada/ Salida, lo cual se debe en el caso de
las externas a que son inicializadas cuando se declaran como globales y en el
caso de las de Entrada/ Salida a que hacen referencia (son punteros) y no son
variables en s.
Una variable puede asumir un valor inicial de acuerdo a un orden priori-
tario ascendente de la siguiente forma:
1. Valor inicial desde el tipo de dato elemental
2. Valor inicial desde el tipo de dato derivado
3. Valor inicial en la declaracin de la variable
4. Valor almacenado para la variable si posee el atributo RETAIN
En la anterior lista el numeral cuatro posee la prioridad ms alta, sin embargo
se debe diferenciar entre dos tipos diferentes de arranque, uno proveniente
luego de cargar por primera vez un programa o posterior a un paro por error
o solicitud del usuario y que se denomina Arranque en Fro caso en el cual el
numeral cuatro no se lleva a efecto y la prioridad en los valores iniciales la
toman los puntos uno a tres con mayor prioridad en ste ltimo. Otro tipo de
arranque es el posterior a un paro por corte en potencia y el cual se denomina
Arranque en Caliente y donde el punto cuatro es el que tiene la mayor prioridad.
6.3.8. Tipos de Unidades de Organizacin de Programa
Existen tres formas diferentes de denir unidades de organizacin de pro-
gramas (POUs), las cuales son: Funciones, Bloques de Funciones y Programas.
Su nalidad es la creacin estructurada de proyectos en PLCs al permitir la
reutilizacin de software. Al igual que con los tipos de datos y nombres dados
a las variables, se requiere de un identicador para declararlas, accin que es
conocida como Instancia. Cuando se declaran varias variables del mismo tipo
de dato pero con diferentes nombres, se crea una copia (instancia) de cada una
en memoria, as mismo cuando lo declarado son POUs estas copias contiene
los valores de las variables locales, de entrada y de salida, lo cual signica que
la instancia guarda los valores de datos locales as como los parmetros de en-
trada y salida de cada una.
A continuacin se describir en ms detalla cada una de tres POUs denidas
por el estndar.
170 CAPTULO 6. ESTNDAR IEC 61131-3
6.3.8.1. Funciones
Son un elemento de software con una funcionalidad denida y que ante un
conjunto de parmetros particulares de entrada siempre entregan el mismo va-
lor 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 carac-
teriza por que ante un mismo valor en las entradas siempre se producir el mis-
mo 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
denidas por el estndar y para ello se requiere de los Bloques de Funciones los
cuales se vern en la seccin siguiente. En denitiva 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 denido 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 nal de la cual sigue el algoritmo que descri-
be 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 modicacin dentro de la funcin.
La norma permite, ms no exige, que una misma funcin provea la sobrecar-
ga 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 imple-
mentar la sobrecarga de las funciones, entonces el estndar especica 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
especco de la funcin. De lo anterior, si por ejemplo un fabricante implemen-
ta la sobrecarga de funciones entonces la funcin raiz cuadrada slo se debe
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 171
denominar SQRT, mientras que si no la implementa entonces debe existir una
funcin por cada tipo de dato, caso en el cual si el tipo de dato es REAL o LRE-
AL la funcin ahora se debe denominar entonces SQRT_REAL o SQRT_LREAL
respectivamente.
En ciertas ocasiones ser necesaria la conversin entre tipos de datos con el
n de poder realizar ciertas operaciones matemticas, de comparacin u otras,
ya que el mismo estndar exige vericacin estricta sobre los tipos de datos por
parte del compilador, quien debe asegurar su consistencia. El estndar dene
que las funciones para conversin entre tipos de datos deben tener la forma
<Tipo Entrada>_TO_<Tipo Salida>, as por ejemplo el nombre de la funcin
para convertir un entero a real debe ser INT_TO_REAL. La conversin de un
dato de punto otante a uno entero implica la prdida de la parte fraccional y el
redondeo debe estar en complacencia con el estndar IEC 559. La norma igual-
mente pide la deteccin de errores cuando la conversin produce un nmero
que desborda la capacidad de representacin de destino, lo cual puede ocurrir
cuando, por ejemplo, se convierte un dato de tipo UDINT a uno de tipo UINT
ya que el rango de representacin del segundo es menor que el del primero.
Ejemplo Se requiere implementar una funcin que evale el discriminante de
una ecuacin cuadrtica. En este caso las entradas sern las constantes A,
By C de la ecuacin cuadrtica, la cual tiene la forma Ax
2
+Bx+C = 0 y
la salida ser una variable booleana que indica con un valor de verdadero
si las races son reales o de lo contrario si son complejas: B
2
4AC 0.
FUNCTION DISCR
VAR_INPUT
A, B, C
END_VAR
VAR
EVALUAR
END_VAR
:BOOL:=FALSE
:LREAL;
:LREAL;
(
*
Se inicia en
Falso
*
)
(
*
Entradas tipo
LREAL
*
)
(
*
Variable tipo
LREAL
*
)
EVALUAR := B
*
-(4
*
A
*
C);
IF EVALUAR >= 0 THEN
DISCR := TRUE;
END_IF;
END_FUNCTION
Figura 6.11: Funcin que Evala Discriminante en Ecuacin Cuadrtica
En el ejemplo anterior la funcin posee tres parmetros de entrada, los cuales
cuando la funcin es invocada desde otra funcin, bloque de funcin o progra-
ma pueden ser asignados como valores provenientes desde literales, valores
o expresiones. El nombre de los parmetros para la funcin invocada se toma
desde los identicadores asignados a cada variable de entrada que se declar al
denir el tipo de funcin. Por ejemplo, a continuacin se muestran tres formas
172 CAPTULO 6. ESTNDAR IEC 61131-3
diferentes de asignar valores a los parmetros de la funcin DISCR cuando es
invocada:
DISCR1 := DISCR(A:=2, B:=3,
C:=1);
DISCR2 := DISCR(B:=4+1, A:=2,
C:=1);
DISCR3 := DISCR(B:=3, C:=1);
Figura 6.12: Ejemplo de Invocacin de Funcin
DISCR1 es evaluada mediante la funcin DISCR con parmetros dados to-
dos como literales, en DISCR2 se puede observar que los parmetros se pueden
ingresar en cualquier orden y en DISCR3 hace falta un parmetro, caso en el
cual a A le es asignado el valor por defecto para un dato de tipo LREAL (o
sea cero). Sin embargo la mayora de las funciones estandarizadas no poseen
nombres para los parmetros debido a que son evidentes y explicativos por si
mismos, por lo que estas funciones se invocan mediante una lista de parme-
tros, un ejemplo es nuevamente la funcin raz cuadrada donde es claro que el
valor entre parntesis, SQRT(x), es el que se desea evaluar.
Cuando las funciones son empleadas en los lenguajes grcos de progra-
macin del estndar LD (Diagrama Escalera) y FBD (Diagrama de Bloques de
Funciones) ellas poseen una entrada y una salida adicionales denominadas
respectivamente como EN y ENO. Estas dos variables son denidas de for-
ma implcita tanto para las funciones estandarizadas como cuando se dene
un nuevo tipo de funcin y por ende no requieren ser declaradas, sin embar-
go ellas pueden ser accedidas dentro del cuerpo de la funcin como parte de
su implementacin. La entrada EN (Enable) es una habilitacin de ejecucin
y debe tener un valor de TRUE para poderse ejecutar el conjunto de instruc-
ciones en el cuerpo de la funcin. La salida ENO (Enable Output) es puesta
automticamente en un valor de TRUE cuando la ejecucin de la funcin se
realiza exitosamente. Cuando EN tiene un valor de FALSE siempre la salida
ENO tomar un valor igual, sin embargo cuando EN tiene un valor de TRUE
inicialmente ENO toma un valor de TRUE pero programticamente dentro del
cuerpo de la funcin este valor puede ser cambiado, lo cual puede ocurrir si
durante la ejecucin ocurren errores, aunque el estndar exige que el compi-
lador ponga automticamente ENO en FALSE ante la ocurrencia de alguno de
los tipos de errores denidos por el mismo estndar. Para poder realizar la an-
terior implementacin, las palabras EN y ENO son reservadas en los lenguajes
descritos, y aunque una enmienda del estndar permiti la implementacin de
estas variables en texto estructurado, para poder permitir una posible conver-
sin de cdigo entre lenguajes tambin deben ser reservadas en IL y ST.
Con la ayuda de las variables EN y ENO de las funciones se puede realizar
una implementacin fcil de control de error al conectar la variable de salida
ENO de una funcin a la variable de entrada EN de otra, lo cual impedir la
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 173
ejecucin de funciones posteriores a la ocurrencia de errores o ante situaciones
programadas.
Ejemplo Se plantea la necesidad de sumar dos nmeros reales y posterior-
mente obtener la raz cuadrada de dicha suma. Si la suma efectuada es
negativa la raz cuadrada no es un nmero real y por tanto no se podra
efectuar, entonces un posible cdigo de control para esta situacin en ST
se muestra a continuacin.
SUMA := ADD(A, B, ENO=>OkSuma);
IF OkSuma THEN
IF SUMA >= 0 THEN
POSITIVO := TRUE;
END_IF;
RAIZ := SQRT(SUMA, EN:=POSITIVO,
ENO=>OkRaiz);
END_IF;
Figura 6.13: Uso de las Variables EN y ENO de una Funcin
Del ejemplo anterior es importante resaltar como se ha empleado la salida ENO
de cada una de las funciones para ir controlando la ejecucin. Se puede obser-
var adems que el delimitador =>se emplea para asignar el valor de ENO en
otra variable y que para realizar la suma se ha empleado la funcin ADD la
cual es idntica al operador de texto estructurado +. Igual analoga ocurre
con las funciones y operadores de resta (SUB y -), multiplicacin (MUL y *),
divisin (DIV y / ), mdulo (MOD y MOD), exponencial (EXPT y **) y de asig-
nacin (MOVE y :=). Los operadores de suma y multiplicacin se denominan
extensibles ya que el nmero de parmetros de entrada puede variar, mientras
que los dems no presentan esta caracterstica.
En la Figura 6.13 tambin es de resaltar el empleo de la funcin de com-
paracin mayor o igual que. Todas las funciones de comparacin siempre
retornarn un tipo de dato BOOL y se pueden emplear con todos los tipos de
datos, adems tambin poseen un operador en texto estructurado para cada
una as: mayor que (GT y >), mayor o igual que (GE y >=), igual (EQ y =),
menor que (LT y <), menor o igual que (LE y <=) y desigualdad (NE y <>).
Con frecuencia, la evaluacin de una condicin se compone de varias ope-
raciones lgicas (en la Figura 6.13 del ejemplo anterior la condicin de cada uno
de los dos IF es directamente una variable booleana). En general estas opera-
ciones pueden ser realizadas sobre datos de tipo Bit String con la operacin
lgica efectuada sobre bits en la misma posicin, pero cuando el tipo de da-
to es BOOL entonces se tendr una operacin lgica binaria. Las funciones
booleanas denidas por el estndar son las siguientes: AND, OR, XOR y NOT
con las cuales se puede fcilmente obtener cualquier otra funcin o realizar im-
plementaciones de operaciones ms complejas. En los lenguajes grcos LD y
FBD las funciones OR y XOR poseen representacin grca para cada una de
ellas, mientras que las funciones AND y NOT aunque poseen representacin
grca tambin se pueden emplear de forma textual.
174 CAPTULO 6. ESTNDAR IEC 61131-3
6.3.8.2. Bloques de Funciones
Permiten la evaluacin de un algoritmo o acciones a partir de un conjunto
de datos, los cuales pueden ser las variables de entrada, las variables internas
y las mismas variables de salida, creando as un nuevo conjunto de valores
para las variables de salida y para las variables internas. Los bloques de fun-
ciones permiten sostener valores de datos entre ejecuciones los cuales a su vez
se pueden emplear como medio para recordar estados anteriores.
La denicin de un tipo de bloque de funcin se realiza iniciando con la pa-
labra reservada FUNCTION_BLOCKy terminando con la palabra END_FUNC-
TION_BLOCK, y dentro de las cuales se especica la estructura de datos y el
algoritmo. Para el uso del bloque de funcin se debe especicar una instancia
del mismo, mediante la cual se determina un conjunto especco de datos con
estructura igual a la denida en el tipo de bloque de funcin asociado. Esta
instancia se puede invocar ya sea como un bloque grco de una red o por un
llamado en los lenguajes textuales y adems se puede emplear en otras deni-
ciones de tipo de programas o bloques de funciones.
La declaracin de un tipo de bloque de funcin se compone de dos partes
principales, de las cuales la primera contiene la declaracin del listado de va-
riables de entrada, salida e internas y una segunda parte con el algoritmo o des-
cripcin funcional y que se puede realizar en cualquiera de los cinco lenguajes
del estndar.
A continuacin se muestra la creacin de un bloque de funcin denominado
CONTADOR.
Ejemplo Crear un bloque de funcin que implemente la funcionalidad de con-
teo ascendente y descendente de acuerdo con lo solicitado por una entra-
da de control denominada MODO, la cual adems debe permitir reiniciar
y sostener el valor de la variable de conteo.
Para este bloque de funcin se emplea una variable de entrada que se
denomina MODO y la cual permite una de entre cuatro posible opera-
ciones diferentes: RESET, ASC, DES y RET. Cuando el valor de MODO
sea RESET el valor de la salida ser siempre cero, cuando sea ASC o DES
se debe efectuar el conteo ascendente o descendente respectivamente y
nalmente para el valor de RET se debe retener el ltimo valor de la sali-
da. Dadas las anteriores consideraciones es claro que la nica variable de
entrada es MODO, y puede ser de tipo enumerado, y la nica variable
de salida es el valor de la cuenta que se denomina CUENTA y que es
un nmero entero con signo, por ejemplo de tipo INT. La declaracin del
bloque de funcin debe asumir que con antelacin ya existe una deni-
cin para el tipo enumerado, como se muestra en la Figura 6.14.
Se puede notar como el tipo de dato derivado TipoMODO fue inicializa-
do en el valor RET, pero la variable de entrada MODO denida como de
TipoMODO fue inicializada en el valor RESET. Adems en el algoritmo
se dene un caso especco para la retencin, pero si se desea ste no se
requiere explcitamente.
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 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
Figura 6.14: Denicin de Bloque de Funcin
Como se puede observar en la Figura 6.14, la variable de salida depende del
valor de la variable de entrada y de la misma variable de salida, lo cual hace la
diferencia fundamental entre una funcin y un bloque de funcin. Para poder
emplear el bloque de funcin CONTADOR en otra POU se debe declarar una
instancia del mismo y adems los valores presentes de las entradas y parme-
tros del bloque de funcin se pueden acceder en los lenguajes textuales colo-
cando el nombre de la instancia seguido de un punto y a continuacin el nom-
bre del parmetro. En la Figura 6.15 se muestra un ejemplo de como emplear
una instancia y como asignar sus salidas.
Ejemplo Emplear una instancia del bloque de funcin CONTADOR, denido
en el ejemplo anterior, dentro de un programa que realice una cuenta
cclica de 1 hasta 100.
En este ejemplo, el programa denotado como CUENTA_CICLICA per-
mite realizar una cuenta ascendente de 1 hasta 100 dependiendo de si la
entrada CONTROL_CUENTA tiene un valor de TRUE, caso en el cual
se congura el contador CONT1, de tipo CONTADOR, en modo ascen-
dente y se verica si se ha alcanzado el lmite mximo para congurar
nalmente un reset al contador.
176 CAPTULO 6. ESTNDAR IEC 61131-3
PROGRAM CUENTA_CICLICA
VAR INPUT
CONTROL_CUENTA :
BOOL:=FALSE;
END_VAR
VAR_OUTPUT
VALOR_CUENTA : INT:=0;
END_VAR
VAR
CONT1 : CONTADOR;
END_VAR
IF CONTROL_CUENTA THEN
CONT1(MODO := ASC);
VALOR_CUENTA :=
CONT1.CUENTA;
IF CONT1.CUENTA = 100 THEN
CONT1(MODO := RESET);
END_IF;
END_IF;
END_PROGRAM
Figura 6.15: Denicin de un Bloque de Funcin
El estndar IEC-61131-3 dene unos bloques funcionales estndares los cuales
abarcan las siguientes operaciones:
Biestables: Se incluye el Biestable RS. Se debe recordar, de la Tabla 3.23, que
para los ip-ops RS existe restriccin para el caso cuando ambas en-
tradas son 1, por este motivo se implementan dos tipos diferentes de ip-
op por el estndar, el RS donde la entrada R es dominante y por tanto
para el caso de la restriccin la salida valdr 0 lgico y el SR donde S es el
dominante y por tanto en caso de entradas con valor igual a la restriccin
la salida tomar un valor de 1 lgico.
Semforo: Es un bloque de funcin que permite controlar la ejecucin de ta-
reas que comparten un mismo recurso. El bloque de funcin se denomina
SEMA y posee dos entradas, una llamada CLAIM, la cual ja una soli-
citud cuando toma un valor de TRUE y otra RELEASE empleada para
liberar el recurso cuando recibe igualmente un valor de TRUE. La nica
salida de este bloque de funcin es BUSY, de tipo BOOL, y toma un valor
de TRUE desde el instante en el cual se solicita el recurso hasta cuando
se libere.
Deteccin de Flancos: Son bloques de funciones que permiten la deteccin de
cambio de estado en una variable de tipo BOOL. El primero de ellos es
R_TRIG, el cual detecta el anco de subida de una seal, y el segundo
es F_TRIG que detecta el anco de bajada. La salida de ambos bloques
de funciones es Q y cambia de estado cuando se detecta el cambio co-
rrespondiente al tipo de anco. Existe un tercer bloque de funcin de
este tipo, denominado EDGE_CHECK, el cual detecta simultneamente
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 177
ambos ancos y cuya salida cambia igualmente cuando ocurre cualquiera
de las detecciones; para su implementacin requiere de dos entradas, una
para los ancos de subida, CLK1, y otra para los ancos de bajada, CLK2.
Contadores: Son tres bloques de funciones que implementan las operaciones
ms comunes usadas con los contadores. El primero de ellos es el conta-
dor ascendente, CTU, el cual realiza la cuenta de ancos de subida en su
entrada CU, hasta que alcance un mximo de cuenta denido en la entra-
da PV de tipo de dato INT. Las salidas de este bloque de funcin son: CV,
de tipo INT, la cual se incrementa (mientras no se alcance la cuanta m-
xima) en uno cada vez que llega un nuevo anco de subida y Q, de tipo
BOOL, la cual toma un valor de TRUE cuando se llega a la cuenta m-
xima. La entrada de tipo BOOL denominada R se emplea para reiniciar
el contador. El segundo tipo de contador, CTD, realiza la cuenta en for-
ma descendente desde un valor prejado mediante la entrada PV, de tipo
INT, actualizando el valor actual de cuenta en la salida CV cada vez que
llega un anco de subida a la seal de entrada CD. Anlogamente al con-
tador CTU, el contador CTD pone en TRUE la salida Q cuando la cuanta
alcanza cero y entonces no realiza ms cuentas hasta que se reinicie el
contador mediante la entrada LD. El tercer tipo de contador es CTUD e
implementa la funcionalidad combinada de los otros dos contadores, por
tanto posee dos entradas para detectar los ancos de subida para cuen-
ta ascendente (CU) y para cuenta descendente (CD), dos entradas para
reiniciar el contador dependiente de si se logr la cuenta mxima (R) o si
se alcanz cero (LD) y una ltima entrada para indicar el mximo valor
de cuenta. Posee una salida para el valor actual de cuenta (CV) y dos sa-
lidas para indicar si se alcanz la cuenta mxima (QU) o cero (QD) casos
estos en los cuales no se vuelve a realizar la operacin de cuenta hasta
que se efecte un reinicio del contador.
Temporizadores: El estndar dene cuatro tipos diferentes de funciones de
temporizacin, relacionadas directamente con operaciones anlogas en
lgica cableada. Debido a la naturaleza y gran utilidad de estas funciones
se dedicar a continuacin tiempo para ver cada una de ellas por separa-
do.
1. Temporizador de Pulso (TP): Es un bloque de funcin que imple-
menta la funcionalidad de generador de pulsos con una duracin
ja de tiempo. Cuando llega un anco de subida a la entrada IN de
tipo BOOL la salida Q, tambin de tipo BOOL, se pone en TRUE du-
rante un tiempo que es especicado en la entrada PT (Pulse Time)
de tipo TIME. La salida ET (Elapsed Time), de tipo TIME, indica el
tiempo transcurrido desde que la salida Q toma un valor de TRUE
y permanece constante luego de terminado el pulso y slo es reini-
ciada con la deteccin de cambio en IN. La operacin de este tipo
de temporizador se muestra en la Figura 6.16, donde se puede ob-
servar que la principal caracterstica de este temporizador es la de
178 CAPTULO 6. ESTNDAR IEC 61131-3
no refrescar las ordenes de conteo, es decir, la duracin de un pulso
siempre ser la indicada en la entrada PT.
TP
IN
PT
Q
ET
BOOL BOOL
TIME TIME
IN
Q
ET
t
PT PT PT
Figura 6.16: Caracterstica de Tiempo del Temporizador TP
2. Temporizador de Retraso ON (TON): La funcionalidad de ese bloque
consiste en poner en TRUE la salida Q un tiempo despus, dado en
la entrada PT, de la activacin de la entrada IN (valor TRUE en IN).
La salida Q permanece activa hasta que se presente un cambio de es-
tado en la entrada IN, adems si esta entrada permanece activa por
menos tiempo del especicado en PT la salida Q no se activa. En
la salida ET, de tipo TIME, se puede consultar el tiempo transcurri-
do del retraso, tiempo que permanecer constante mientras la salida
Q este activa. En la Figura 6.17, se puede observar la caracterstica
distintiva de este temporizador. En los lenguajes del estndar LD y
FBD este temporizador se puede representar de forma alterna como
T0.
IN
Q
ET
t
PT PT PT
TON
IN
PT
Q
ET
BOOL BOOL
TIME TIME
Figura 6.17: Caracterstica de Tiempo del Temporizador TON
3. Temporizador de Retraso OFF (TOF): Este bloque de funcin realiza
la operacin inversa del temporizador TON, ya que el tiempo de re-
traso especicado en la entrada PT determina la desactivacin de Q.
Cuando la entrada IN se activa, tambin lo hace Q y permanece as
hasta un tiempo PT despus de la desactivacin de la entrada IN. La
salida ET nuevamente es el tiempo transcurrido del retraso contado
6.3. ELEMENTOS COMUNES A LOS LENGUAJES DEL ESTNDAR 179
desde la desactivacin de IN hasta transcurrido PT, permaneciendo
constante mientras Q este activo. La Figura 6.18 muestra la carac-
terstica de tiempo de este temporizador. En los lenguajes del es-
tndar LD y FBD se puede representar este temporizador de forma
alternativa como 0T.
TOF
IN
PT
Q
ET
BOOL BOOL
TIME TIME
IN
Q
ET
PT PT
t
Figura 6.18: Caracterstica de Tiempo del Temporizador TOF
4. Reloj de Tiempo Real: Cuando un anco de subida llega a la entrada
IN del reloj de tiempo real (RTC), se ja el tiempo en la fecha y hora
especicadas en la entrada PDT (Preset Data and Time). Luego en
los llamados subsecuentes de este bloque de funcin la entrada IN
debe permanecer en TRUE, con lo cual la entrada PDT es ignorada
y la salida CDT (Current Data and Time) se actualiza mostrando la
fecha y tiempo actual. En algunos PLCs slo se permite una instan-
cia de este bloque de funcin, por lo que es comn emplearlo como
una variable global. Si la entrada IN no recibe un anco de subida,
la salida CDT es de tipo indenida. Actualmente este bloque de
funcin no es obligatorio por parte del estndar.
RTC
IN
PDT
Q
CDT
BOOL BOOL
DATE_AND_TIME DATE_AND_TIME
Figura 6.19: Reloj de Tiempo Real
6.3.8.3. Programas
En analoga con los lenguajes tradicionales de programacin, las funciones
y bloques de funciones constituyen lo que se denomina subrutinas y la POU de
tipo programa viene siendo el programa principal o unidad mayor en jerarqua
dentro de la reutilizacin de cdigo. En los PLCs con capacidades de multitarea
se pueden tener varios programas en ejecucin simultnea, cada uno asociado
a una conguracin.
180 CAPTULO 6. ESTNDAR IEC 61131-3
En general, un programa es similar en estructura a un bloque de funcin,
aunque posee unas diferencias que se expresarn a continuacin. Dentro de
las funciones y bloques de funcin no se acostumbra el empleo de las varia-
bles de representacin directa, dado que limitarn la reutilizacin, pero en los
programas ellas si son ampliamente usadas. Los programas pueden contener
declaraciones de variables globales con el n de compartir datos entre dife-
rentes elementos internos al programa. Un programa puede declarar variables
tipo VAR_ACCESSpara permitir la comunicacin con otros dispositivos remo-
tos. Dentro de un programa no se puede declarar instancias de otros progra-
mas, stas son exclusivamente reservadas para los recursos. Una caractersti-
ca muy especial, y discutida previamente, se relaciona con el hecho que cada
bloque de funcin dentro de un programa puede ser relacionado con una tarea
diferente. En general un programa puede actuar como unidad mayor de con-
trol sin necesidad de una Conguracin controlando la asignacin de tareas y
de las entradas y salidas fsicas de un PLC, aunque para proyectos extensos se
recomienda mejor usar la Conguracin.
La declaracin de este tipo de POU se realiza empezando con la palabra
reservada PROGRAM y terminando con END_PROGRAM. Su declaracin se
inicia con los listados de variables de entrada, salida, internas, variables de re-
presentacin directa, variables simblicas, instancias de bloques de funciones,
instancias de variables internas e instancias de variables externas y termina
con el algoritmo que describe la funcionalidad propuesta y el cual puede ser
implementado usando cualesquiera de los cinco lenguajes de programacin
denidos por el estndar. La Figura 6.15 es un ejemplo de programa.
Ejemplo Haciendo uso de la funcin DISCR, implementar un programa que
evale las races de una ecuacin cuadrtica.
PROGRAM RAICES
VAR_INPUT
a, b, c : LREAL:=0;
END_VAR
VAR
R1, R2 : LREAL:=0;
Discriminante : BOOL;
Mensaje : STRING(25);
Tmp : LREAL:=0;
END_VAR
Discriminante := DISCR(A:=a, B:=b, C:=c);
IF Discriminante THEN
Mensaje := Las raices son reales;
Tmp := SQRT(b
*
b - (4
*
a
*
c));
R1 := (-b + Tmp) / (2
*
a);
R2 := (-b - Tmp) / (2
*
a);
ELSE
Mensaje := Las raices son complejas;
END_IF;
END_PROGRAM
Figura 6.20: Programa que Evala las Raices de la Ecuacin Cuadrtica
6.4. TEXTO ESTRUCTURADO (ST) 181
En la Figura 6.20 se puede observar la forma de invocar una funcin den-
tro 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. Texto Estructurado (ST)
Luego de ver los elementos que conforman cada una de las unidades de
organizacin de programa (POU) dentro del estndar IEC 61131-3, se inicia la
presentacin individual de cada uno de los cinco lenguajes descritos dentro de
la misma norma. El primero que se ver es el Texto Estructurado o ST, el cual se
puede emplear para desarrollar los algoritmos dentro de las funciones, bloques
de funciones y programas.
ST es un lenguaje de alto nivel desarrollado puntualmente para aplica-
ciones de control industrial, pero con una sintaxis muy similar a los lenguajes
tradicionales basados en texto, constituido por un extenso conjunto de cons-
tructores con nalidades particulares [1, 8, 9].
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 sen-
tencias condicionales y crear estructuras de control de ujo.
6.4.2. Asignaciones, Operandos y Operadores
La sentencia ms simple es la asignacin, donde el valor de una variable
se actualiza mediante el uso de la siguiente sintaxis: Val1 := Val2; donde a la
variable Val1 le es asignando el valor que posee la variable Val2. Otro ejemplo
de asignacin podra ser el siguiente:
Val3 := Val4 (
*
Error
*
)
*
Val5 (
*
Amplitud
*
) / 5.0 (
*
Constante
*
);
Donde a la variable Val3 le es asignado el valor producto de evaluar la
expresin al lado derecho del delimitador := y el cual puede ser de cualquiera
de los tipos elementales de datos o un tipo derivado de dato. Se debe prestar
atencin a la forma en la cual se puede insertar libremente los comentarios,
182 CAPTULO 6. ESTNDAR IEC 61131-3
indicando en este caso por ejemplo el signicado 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: agru-
pacin, matemticos y lgicos. Para poder evaluar una expresin que incluye
varios operadores se denen reglas de precedencia, o jerarqua, entre los mis-
mos operadores; a continuacin se enumera cada uno de los operadores dispo-
nibles 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.
Salida := Dato1
*
Dato2
*
(Dato1 + Dato 3) +
ADD(4.3, 2.2) + 3 MOD 2;
Ya que los bloques de funciones no se pueden emplear como operandos
de una expresin, entonces la forma adecuada es usarlos directamente como
sentencias, tal como se puede observar en el programa CUENTA_CICLICA
mostrado en la Figura 6.15.
6.4.3. Sentencias para Control de Flujo
Este tipo particular de sentencias permiten controlar la forma en la cual
se realiza la evaluacin de las diversas sentencias individuales que componen
un algoritmo. Se dividen en dos grupos principales, las condicionales y las de
iteracin.
Las sentencias condicionales permiten la ejecucin de slo un conjunto par-
ticular de sentencias dependiendo de la evaluacin de una expresin. En este
tipo de sentencias condicionales se encuentran dos: la sentencia IF ... THEN ...
ELSE (Si .... Entonces ... De lo contrario) y la sentencia CASE (Caso).
La sentencia IF ... THEN ... ELSE puede ser implementada de varias for-
mas, dependiendo de los requerimientos particulares de cada algoritmo y se
distingue de la sentencia CASE por el hecho que en ella las expresiones de
evaluacin son de tipo booleanas. A continuacin, en la Figura 6.21, se mues-
tra varias formas de implementacin.
6.4. TEXTO ESTRUCTURADO (ST) 183
IF <expr bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSE
<sentencia 1>;
.
.
.
<sentencia n>;
END_IF;
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;
IF <expr1 bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSIF <expr2
bool>THEN
<sentencia 1>;
.
.
.
<sentencia n>;
ELSE
<sentencia 1>;
.
.
.
<sentencia n>;
END_IF;
Forma 1 Forma 2 Forma 3
Figura 6.21: Formas de Sintaxis para la Sentencia IF ... THEN ... ELSE
La forma 1 es la tradicional y en ella se puede omitir, a conveniencia, 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 te-
ner 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 for-
mas, 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 de-
pendiendo 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.
CASE <expresin con valor
entero>OF
<Valor entero 1>:
<Sentencias>;
.
.
.
<Valor entero n>:
<Sentencias>;
ELSE
<Sentencias>;
END_CASE;
Figura 6.22: Sintaxis para la Sentencia CASE
184 CAPTULO 6. ESTNDAR IEC 61131-3
El valor entero de seleccin para sentencias puede ser dado en cuatro for-
mas diferentes, a saber: como un nico valor entero (3 : <sentencias>;), como
conjunto de valores (1,3,7 : <sentencias>;), como un rango de valores (2..6 :
<sentencias>;) y como un valor de una variable enumerada. Para el caso de
una variable enumerada, si por ejemplo se tiene una variable llamada OPCION
con tres posibles valores (OPCION : (Opc1, Opc2, Opc3)) entonces cada uno se
puede emplear como un caso de la sentencia CASE, como se puede observar
en la Figura 6.23.
CASE OPCION OF
Opc1 :
<Sentencias>;
Opc2 :
<Sentencias>;
Opc3 :
<Sentencias>;
ELSE
<Sentencias>;
END_CASE;
Figura 6.23: Sentencia CASE con Variable Enumerada
Igualmente en las sentencias CASE no es requerimiento incluir la seccin
del ELSE, pero sta se recomienda con el n de evitar omitir posibles situa-
ciones sin evaluacin.
En el grupo de sentencias de iteracin se encuentran tres, a saber: la sen-
tencia FOR ... DO, la sentencia WHILE ... DO y la sentencia REPEAT ... UNTIL.
La funcionalidad de este grupo es permitir el control de ejecucin para un con-
junto de sentencias que se debe repetir cierto nmero de veces y donde por su
misma naturaleza se debe tener especial cuidado en no crear ciclos innitos.
La sentencia FOR ... DO est diseada para permitir la ejecucin repetida
de un conjunto de sentencias de acuerdo con el valor tomado por una variable
que determina el nmero de iteraciones a realizar. Dada la naturaleza de la
anterior variable, slo se permite que sta sea del tipo INT o DINT. La sentencia
se puede congurar para realizar la cuenta de iteraciones en forma ascendente
o descendente y en pasos, o incrementos, denidos por el usuario. Si no se
especica un paso para el incremento de la variable de iteracin, por defecto
tendr un valor unitario. En la Figura 6.24 se muestra la forma general de la
sintaxis para esta sentencia.
En la sintaxis de la sentencia FOR ... DO se debe tener especial cuidado en
denir un valor de paso o incremento negativo cuando se realiza una cuenta
descendente, ya que de no denirse un valor de paso o denirse uno positivo,
se generar un ciclo innito debido a que en lugar de obtener un descenso en
la cuenta se tendr un incremento.
6.4. TEXTO ESTRUCTURADO (ST) 185
FOR <asignacin valor inicial a variable de
iteracin>
TO <expresin para valor final de iteracin>
BY <expresin para valor de paso de
iteracin>
DO
<Sentencias>;
.
.
.
<Sentencias>;
END_FOR;
Figura 6.24: Sintaxis para la Sentencia FOR ... DO
La sentencia WHILE ... DO permite la ejecucin continua de un conjunto
de sentencias mientras cierta expresin booleana permanezca verdadera. Esta
sentencia se caracteriza por el hecho de vericar la expresin booleana antes
de un ciclo, con lo cual si esta expresin es falsa desde un inicio la sentencia
no se ejecuta ni siquiera la primera vez. La sintaxis general de esta sentencia se
muestra a continuacin en la Figura 6.25.
WHILE <expresin
booleana>DO
<Sentencias>;
.
.
.
<Sentencias>;
END_WHILE;
Figura 6.25: Sintaxis para la Sentencia WHILE ... DO
La sentencia REPEAT ... UNTIL tiene un comportamiento similar a la sen-
tencia WHILE ... DO pero con la diferencia de evaluar al nal, y no al inicio,
la expresin booleana que determina la ejecucin continua. El hecho anterior
ocasiona que esta sentencia siempre se ejecute como mnimo una vez. La forma
de la sintaxis para la sentencia REPEAT ... UNTIL se muestra en la Figura 6.26.
REPEAT
<Sentencias>;
.
.
.
<Sentencias>;
UNTIL <expresin
booleana>
END_REPEAT;
Figura 6.26: Sintaxis para la Sentencia REPEAT ... UNTIL
186 CAPTULO 6. ESTNDAR IEC 61131-3
Adicional a las sentencias anteriores, existen otras dos con la nalidad de
permitir terminar de forma anticipada la ejecucin de sentencias de iteracin o
POUs.
La sentencia EXIT se emplea dentro de las sentencias de iteracin y no est
limitada en el nmero de veces que puede aparecer. Cuando durante la ejecu-
cin de una sentencia de iteracin se alcanza un EXIT, la ejecucin del resto
del cdigo se realiza exactamente a continuacin de la palabra reservada que
dene el n de la sentencia (por ejemplo: END_FOR para la sentencia FOR
... DO). Aunque esta sentencia no tiene sentido emplearla exclusivamente en
sentencias condicionales, si se emplea junto con ellas dentro de sentencias de
iteracin con el n de denir en que casos interrumpir la ejecucin de itera-
ciones. Una forma para la sintaxis de esta sentencia con el n de controlar la
interrupcin de un FOR ... DO se muestra en la Figura 6.27.
WHILE <... >DO
<Sentencias>;
.
.
.
FOR <... >TO <... >BY <...
>DO
<Sentencias>;
.
.
.
IF <... >THEN EXIT;
END_IF;
<Sentencias>;
.
.
.
END_FOR;
<Sentencias>;
.
.
.
END_WHILE;
Figura 6.27: Sintaxis para la Sentencia EXIT
En la gura anterior, una vez alcanzado el EXIT la ejecucin contina justa-
mente debajo del END_FOR. Tngase en cuenta que en los casos de secuencias
anidadas la nalidad del EXIT es interrumpir la ejecucin de la sentencia de
iteracin ms interna en la cual el se encuentra.
La sentencia RETURN se usa con el n de abandonar la ejecucin de una
POU de forma anticipada. Al igual que la sentencia EXIT, sta se debe emplear
junto con una sentencia condicional con el n de denir la condicin bajo la
cual la interrupcin se lleva a cabo. Cuando la sentencia RETURN se emplea
dentro de una funcin, se debe realizar una asignacin previa del valor que
debe tomar la funcin, en el caso de los bloques de funciones si los valores
de las variables de salida no son asignados antes de un RETURN entonces las
variables tomarn sus valores iniciales o por defecto correspondientes. Si a una
variable de salida le fue asignado un valor intermedio antes de un RETURN
dentro de un bloque de funcin, la variable mantendr el ltimo valor que le
6.5. LISTADO DE INSTRUCCIONES (IL) 187
fue asignado. En resumen, un RETURN ocasiona que una POU sea interrumpi-
da justo en el lugar de dicha sentencia y que la ejecucin prosiga exactamente
en el cdigo siguiente.
6.5. Listado de Instrucciones (IL)
Este lenguaje es de bajo nivel y es muy similar a los lenguajes de ensam-
blador. Con frecuencia se emplea con el n de implementar soluciones sencillas
que se caracterizan primordialmente por poseer un ujo secuencial en la eje-
cucin. Como se ver ms adelante, este programa es frecuentemente tomado
como un lenguaje de referencia al cual todos los dems lenguajes del estndar
pueden ser transcritos, aunque lo anterior puede no ser tan fcil de realizar
cuando se habla de programas complejos [1, 8, 9]. Su aplicacin principal ra-
dica en la implementacin de partes crticas de cdigo que requieren una opti-
mizacin mxima en desempeo [8, 9].
6.5.1. Estructura Bsica del Listado de Instrucciones
En este lenguaje una instruccin debe abarcar exactamente una solo lnea. A
su vez, una instruccin se compone secuencialmente de una etiqueta, un ope-
rador o una funcin, uno o ms operandos y un comentario. La etiqueta y el
operador se deben separar mediante el delimitador :, aunque la etiqueta es
opcional, y por ende si no se usa no se hace necesario tampoco el delimitador.
La insercin de un comentario al nal de la instruccin tambin es opcional por
parte del programador o usuario. La funcin de las etiquetas es la de habilitar
los saltos condicionales desde cualquier posicin en el cuerpo de instrucciones
y aunque la ubicacin de una etiqueta al inicio de una lnea en blanco no est
concebida por el estndar, muchos sistemas modernos la permiten con nes de
claridad [8]. Los operandos son los parmetros requeridos para la evaluacin
de una funcin u operador. Para los casos en los cuales un operador o funcin
requiere de ms de un operando, estos ltimos se deben separar mediante co-
mas, espacios en blanco o tabulaciones. Los comentarios deben tener la misma
sintaxis denida en la Seccin 6.3.4. La Figura 6.28 muestra los componentes y
disposicin general para una lnea de instruccin dentro de listado de instruc-
ciones.
Etiqueta: Operador/Funcin Lista de Operandos (
*
Comentarios
*
)
Figura 6.28: Sintaxis para Listado de Instrucciones
En la sintaxis es necesario tener en cuenta que se requiere como mnimo
un delimitador de espacio en blanco entre el operador o funcin y la lista de
operandos asociados.
188 CAPTULO 6. ESTNDAR IEC 61131-3
6.5.2. El Acumulador Universal
Al igual que en los lenguajes tradicionales tipo ensamblador, el listado de
instrucciones posee un acumulador el cual se conoce como CR (Current Result:
Resultado Actual). El compilador del lenguaje listado de instrucciones actua-
liza de forma constante el nmero de bits necesarios para el tipo de dato del
operando que se ejecute, por lo que en la prctica este acumulador es en rea-
lidad un acumulador virtual y no de implementacin fsica en el hardware.
Adems el tipo de dato asociado actualmente con el acumulador tambin cam-
bia para coincidir con el tipo de dato del operando ms reciente. Cuando se
realiza la evaluacin de una operacin de comparacin, el resultado genera-
do se guarda en el acumulador como un 0 (FALSE) o un 1 (TRUE), por lo que
en este caso el listado de instrucciones se aparta de los lenguajes tradicionales
de ensamblador donde existen bits de estado, lo anterior da origen a la de-
nominacin de Acumulador Universal. En general el CR puede tomar uno de los
siguientes tipos de datos: tipo de dato elemental, tipo de dato derivado o tipo
de dato de bloque de funcin. Sin embargo, se debe tener en cuenta que dos
instrucciones consecutivas que desarrollan operaciones relacionadas deben ser
compatibles, y por ende el tipo de dato del CR debe ser del mismo tipo de dato
de la subsiguiente instruccin.
6.5.3. Los Operadores
Los operadores pueden ser afectados en su signicado por medio de mo-
dicadores. Existen tres modicadores bsicos, a saber: el modicador de ne-
gacin N el cual niega al operando relacionado, el modicador de anidacin
( ... ) que permite la creacin de niveles anidados de operadores y nalmente
el modicador condicional C que permite la ejecucin condicional de un de-
terminado operador. Estos modicadores siempre van inmediatamente a con-
tinuacin del operador asociado y entre ellos no media ningn tipo de delimi-
tador. El modicador de anidacin tiene la accin de diferir el resultado de una
instruccin produciendo resultados intermedios que no afectan al acumulador.
Los operadores disponibles dependen a su vez del tipo de dato sobre el cual
operan, o de si ellos estn destinados a la implementacin de saltos y llamados.
Para los datos de tipo Booleano los operadores disponibles son los siguien-
tes: LD, AND, OR, XOR, ST, S y R. A los anteriores operadores se les puede
aplicar los modicadores de negacin y anidacin. Todos estos operadores ac-
tan sobre el CR de la siguiente forma: LD carga un operando en CR, las fun-
ciones lgicas implementan la funcin correspondiente entre un operando y
CR, ST almacena el valor de CR en un operando y los operadores S y R jan
a su operando en 1 (TRUE) y 0 (FALSE) respectivamente si CR tiene un valor
de 1 (TRUE). De lo anterior se desprende entonces que el operador modica-
do STN almacenara el valor negado de CR en un operando. A continuacin
se muestra en la Figura 6.29 la forma de implementar la siguiente funcin de
conmutacin: F = (A (B (C D))).
6.5. LISTADO DE INSTRUCCIONES (IL) 189
LD A (
*
Se carga A en el acumulador CR
*
)
OR( B (
*
Difiere la operacin OR y carga B
*
)
AND( C (
*
Difiere la operacin AND y carga C
*
)
OR D (
*
Se realiza operacin OR entre D y C
*
)
) (
*
Se realiza operacin AND diferida
*
)
) (
*
Se realiza operacin OR difereida
*
)
STN F (
*
Almacena valor negado de CR en F
*
)
Figura 6.29: Operadores Booleanos en IL
Para los datos de tipo ANY los operadores disponibles son los siguientes:
LD, ST, ADD, SUB, MUL, DIV, GT, GE, EQ, NE, LE y LT. El signicado de estos
operadores, que a excepcin de LD y ST son aritmticos y de comparacin,
es igual al dado en la Seccin 6.3.8.1, donde la funcin relacionada se realiza
entre CR y el operando asociado y el resultado es asignado nuevamente al
acumulador. A estos operadores para tipos de datos ANY nicamente se les
puede aplicar el modicador de anidacin. Ahora se mostrar un ejemplo de
la forma como se pueden emplear los operadores aritmticos; ms adelante se
mostrar un ejemplo de como utilizar los de comparacin. La ecuacin y =
w
2
(x + z) se puede representar en listado de instrucciones de la siguiente
forma:
LD w (
*
Se carga w en el acumulador CR
*
)
MUL w (
*
Se carga w
2
en el acumulador CR
*
)
SUB( x (
*
Difiere resta de CR con parntesis
*
)
ADD z (
*
Realiza la suma de x con z
*
)
) (
*
Se realiza operacin SUB diferida
*
)
ST y (
*
Almacena el valor de CR en y
*
)
Figura 6.30: Operadores ANYen IL
En la Figura 6.30 se puede observar que el valor de la operacin entre parn-
tesis (x + z) se realiza pero no se carga en el acumulador, para estos casos de
operaciones diferidas se emplea un arreglo de registros que permiten ir alma-
cenando valores intermedios necesarios. Lo mismo ocurre en el ejemplo de la
Figura 6.29.
Finalmente los operadores para realizar saltos o llamados a POUs son los
siguientes: una etiqueta, el nombre de una funcin, JMP, CAL y RET. A es-
tos ltimos tres operadores se les puede aplicar los modicadores de negacin
y condicional, adems se puede usar los dos modicadores simultneamente
de ser necesario. El operador JMP realiza un salto a una etiqueta, pero si est
acompaado del modicador condicional entonces el salto estar condiciona-
do al valor booleano del acumulador, caso en el cual si la condicin no es TRUE
entonces el salto no se realiza y la ejecucin contina de forma secuencial. El
operador CAL realiza el llamado de una POU e igualmente si est acompaa-
do del modicador condicional este llamado est supeditado al valor booleano
del acumulador. Finalmente el operador RET implementa un retorno desde
190 CAPTULO 6. ESTNDAR IEC 61131-3
una funcin, en forma similar a la sentencia RETURN vista en la Seccin 6.4.3;
adicionalmente tambin se le puede aplicar los modicadores de condicin y
negacin con el mismo comportamiento descrito para los operadores JMP y
CAL.
Como ejemplo que muestra el uso de los operadores de saltos y los opera-
dores de comparacin se utiliza el mismo ejemplo visto en la Figura 6.11 donde
se cre la funcin DISCR que tiene por objeto evaluar el discriminante para una
ecuacin cuadrtica. El algoritmo que describe la funcin en lenguaje listado
de instrucciones es el siguiente.
FUNCTION
DISCR
VAR_INPUT
A, B, C
END_VAR
VAR
EVALUAR
END_VAR
:BOOL:=FALSE
:L_REAL;
:L_REAL;
LD
MUL
SUB(
MUL
MUL
)
ST
GT
JMPCN
ST
B
B
4
A
C
EVALUAR
0
SALIR
DISCR
SALIR:
RET
END_FUNCTION
Figura 6.31: Operadores de Salto y Comparacin en IL
En la Figura 6.31 se debe notar que ciertos tipos de operadores no afectan
el valor presente del acumulador, este es el caso por ejemplo de los operadores
de salto y ST. Se observa que en este caso el salto se realiza, hacia la etiqueta
denominada SALIR, condicionado a un valor de FALSE en el acumulador.
6.5.4. Llamados a POUs
Cuando se realiza el llamado de una funcin que requiere nicamente de un
parmetro de entrada, este parmetro ser automticamente consultado desde
el acumulador. Si la funcin invocada posee ms de un parmetro de entra-
da, igualmente el primero de ellos ser consultado desde el CR, el segundo
parmetro ser el primer operando para la funcin, el tercer parmetro ser
el segundo operando y as sucesivamente. Adems como toda funcin regresa
6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 191
nicamente un valor, este es asignado al acumulador, el cual se ajusta automti-
camente 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
LD Var1
DISCR Var2,
Var3
ST Resultado
Mtodo 1 Mtodo 2 Mtodo 3
Figura 6.32: Llamado a Funcin en IL
En la Figura 6.32 se puede observar que adicionalmente se puede ingresar
de forma explcita el valor de cada uno de los parmetros, tal como se indica
en el Mtodo 1.
Los llamados a un bloque de funcin se pueden realizar igualmente de tres
formas, siempre haciendo uso del operador de llamado CAL para los bloques
de funciones estndares o denidos por el usuario, o sin necesidad de CAL
nicamente para los bloques de funciones estndares. La asignacin de salidas
del bloque de funcin es igual en todos los mtodos, tal como se puede ob-
servar en la Figura 6.33, donde se ha supuesto un bloque de funcin estndar
denominado FB1 con dos entradas (EN1 y EN2) y dos salidas (SL1 y SL2).
CAL FB1(EN1:=Var1, EN2:=Var
2)
LD FB1.SL1
ST Resultado1
LD FB1.SL2
ST Resultado2
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 1 Mtodo 2 Mtodo 3
Figura 6.33: Llamado a Bloque de Funcin en IL
6.6. Diagrama de Bloques de Funciones (FBD)
Lenguaje empleado para describir la funcionalidad de cualquier POU me-
diante un conjunto de bloques interconectados de forma adecuada. Su fun-
192 CAPTULO 6. ESTNDAR IEC 61131-3
cionamiento tiene fundamento en el ujo de las seales entre los diversos ele-
mentos que componen un circuito de procesamiento [8, 9].
6.6.1. Elementos Grcos de una Red FBD
El estndar dene dos formas diferentes de realizar los grcos. Una forma
semi-grca donde las lneas, conexiones, bloques y conectores son representa-
dos mediante los caracteres _ y | . La segunda forma es una representacin
grca completa la cual, por su funcionalidad ha sido adoptada por la mayora
de los proveedores [8, 9]. En la Figura 6.34 se puede observar las dos formas
disponibles para los elementos grcos ms usados. El estndar no dene la
representacin grca completa para el formato de lneas que se cruzan sin
conexin o que se interconectan, todo ello depende de las disponibilidades en
resolucin de cada sistema.
__ __ __ __ __ __
|
|
|
|
|
|
|
|
|
__ __ __ __
+ +
__ __ __ __
+ +
|
|
|
|
|
|
|
|
|
|
__ __
__ __
__ __
__ __
__ __ __ __ __ __ __ __
|
|
|
|
__ __ __ __ __ __ __ __
+
|
|
|
|
|
|
ELEMENTO GRFICO FORMA SEMI-GRFICA GRFICO COMPLETO
>CABLE1>
>CABLE1>
__ __ __
__ __ __
>CABLE1>
>CABLE1>
LINEAS
HORIZONTALES Y
VERTICALES
LINEAS
QUE SE
INTERCONECTAN
LINEAS
QUE NO SE
CONECTAN
FORMAS
DE LOS
BLOQUES
CONECTORES
|
|
Figura 6.34: Elementos Grcos de una Red FBD
6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 193
En la Figura 6.34, el elemento denominado Conector es empleado para la
elaboracin de grandes redes. Este elemento no se considera como un elemen-
to para el control de ujo, su signicado debe ser entendido como una prolon-
gacin de una lnea y simplemente ayuda en la continuidad del mismo ujo. A
un conector se le asocia un nombre o etiqueta el cual es considerado como un
identicador local en la POU respectiva. En un sistema donde la pantalla est
limitada en ancho o largo, esta herramienta es de mucha utilidad, ms sin em-
bargo en los sistemas que no limitan la pantalla, o que poseen un gran ancho,
esta herramienta es opcional de ser implementada.
La funcionalidad descrita dentro de una POU se puede realizar empleando
una o ms redes, por tanto a cada red se le debe asignar un nombre y en la
mayora de los sistemas se acostumbra a realizar una enumeracin consecutiva
de stas. Este nombre se asocia con la etiqueta necesaria para realizar saltos en
el lenguaje ST, ver Figura 6.31 y el estndar slo la dene con ese propsito y
la trata adems como un identicador local dentro de la POU.
6.6.2. Elementos para Control de Flujo
Son elementos grcos adicionales que tienen inuencia sobre el control
de ejecucin. Permiten el abandono prematuro de la ejecucin o el salto hacia
o desde una red. En ambos casos estas acciones se pueden realizar de forma
condicional o incondicional. Estos elementos se muestran en la Figura 6.35.
RETURN cond cond
Figura 6.35: Elementos Grcos Para Control de Flujo en FBD
En la grca 6.35 el objeto de la derecha es el elemento para abandono
prematuro y el objeto de la izquierda el elemento para salto. En ambos casos
cond representa la condicin sobre la cual se evala la accin, si esta condi-
cin se ja en 1 (TRUE) las acciones se realizarn de forma incondicional.
6.6.3. Reglas de la Evolucin en una Red FBD
Una red FBD se compone en general de elementos en forma de caja rec-
tangular que representan funciones o bloques de funciones, los cuales se in-
terconectan empleando conexiones y conectores, y donde adems el ujo de
la informacin puede ser direccionado empleando elementos para control de
ujo. Una funcin en general puede tener varias entradas, las cuales se dibujan
al lazo izquierdo de la caja que la representa y una nica salida que se dibuja
al lado derecho, un bloque de funcin slo se diferencia de una funcin en el
hecho que puede tener varias salidas todas dibujadas al lado derecho. El nom-
bre para el tipo de bloque de funcin al igual que el nombre de una funcin va
dentro de la caja rectangular en la parte superior, en el caso de los bloques de
194 CAPTULO 6. ESTNDAR IEC 61131-3
funciones el nombre de la instancia va ubicado sobre la caja. Los nombres de
las variables de entrada y salida para una funcin o bloque de funcin dado
van dentro de su caja al nivel del respectivo puerto de dato que representan.
Una red esquematizada con base en la anterior descripcin, siempre debe
seguir los siguientes criterios con el n de determinar la forma de evolucin
del ujo de datos a travs de las redes [8, 9]:
1. La secuencia de ejecucin de varias redes se realiza una a una de arri-
ba hacia abajo. Esta secuencia de ejecucin se puede alterar empleando
saltos.
2. La evaluacin de un elemento cualesquiera en la red requiere para su
inicio que todas sus entradas estn disponibles, lo cual equivale a que sus
entradas hayan sido evaluadas y entregadas desde elementos anteriores.
3. La evaluacin de un elemento de la red no se da por terminada hasta que
se disponga de la evaluacin de todas sus salidas.
4. En el mismo sentido del punto 2, cuando una primera red transere datos
a una segunda se necesita que la primera tenga disponibles todos los
datos requeridos en la segunda para que sta ltima pueda iniciar su eje-
cucin. Esto tambin se aplica en conjuntos de bloques de funciones que
se ejecutan bajo el control de diferentes tareas que poseen conguracin
de ejecucin en tiempos diferentes.
Ejemplo: Una red FBD que implementa la siguiente funcin de conmutacin
se muestra en la Figura 6.36:
F = (A (B (C 1)))
F
C
1
B
A
tmp
tmp
001:
OR
OR
AND
Figura 6.36: Ejemplo de Evolucin en Red FBD
6.6. DIAGRAMA DE BLOQUES DE FUNCIONES (FBD) 195
En la Figura 6.36 se puede observar como la salida, que representa a la funcin
F, posee una negacin al nal de la expresin la cual se pudo haber implemen-
tado usando la funcin estndar NOT indistintamente. Adems se debe notar
como los datos de entrada pueden ser variables o constantes. En esta misma
gura se ha empleado un conector denominado tmp el cual sirve para darle
continuidad a una lnea dentro del diagrama.
Ejemplo: Si la funcin F del ejemplo anterior se emplea como condicin nece-
saria para permitir la ejecucin de una segunda red, la cual implementa
la evaluacin de la funcin S = (S 0,05) + N2, la representacin es-
quemtica para esta nueva red FBes la mostrada en la Figura 6.37.
C
1
B
A
tmp
tmp
001 Red1:
Red2
002 Red2:
0.05
N2
S
OR
AND
OR
AND
MUL
Figura 6.37: Ejemplo Red FBD con Realimentacin y Salto
En la Figura 6.37, es de aclarar que se permite la realimentacin de valores,
pero para poder cumplir con la reglas de evolucin listadas en la Seccin 6.6.3
es necesario que la primera vez que se avala la red el valor de la entrada
realimentada sea tomado desde el valor inicial por defecto denido para el
tipo de dato asociado.
Es de resaltar adems que se cuenta con los parmetros EN y ENO en las
funciones, con los cuales se puede incidir explcitamente sobre el ujo de la
informacin en una red, de la forma ya descrita en la Seccin 6.3.8.1.
196 CAPTULO 6. ESTNDAR IEC 61131-3
6.7. Diagrama Escalera (LD)
Este lenguaje se fundamenta en los diagramas de la lgica cableada clsica y
sus componentes grcos representan elementos encontrados en estos mismos
diagramas, tal como se estudi en el Captulo 4.
Un diagrama escalera se compone de dos lneas verticales, las cuales entre-
gan la alimentacin para los restantes elementos del diagrama que se sitan en
lneas horizontales, o escalones, y donde por convencin se asume que la in-
formacin (ujo de potencia) va desde la lnea vertical de la izquierda a la lnea
de la derecha. Como el diagrama se base en el uso de contactores, los contac-
tos indican el estado actual de variables booleanas, con lo cual constituyen un
mtodo de slo lectura de la variable que representan, mientras que las bobinas
proveen un mtodo de solo escritura para la variable asociada [1, 8, 9].
6.7.1. Elementos Grcos de una Red LD
Al igual que para una red FBD el estndar dene dos mtodos de realizar
los grcos, un mtodo semi-grco y un mtodo grco completo. Los ele-
mentos bsicos de la red compuestos por lneas, conexiones, bloques y conec-
tores son representados exactamente igual a como se deni en la Seccin 6.6.1
correspondiente a una red FBD.
Adicional a los elementos bsicos anteriores, una red LD posee adems ele-
mentos grcos para representar contactos y bobinas, ambos representados en
cualesquiera de los dos mtodos grcos, por simplicidad se muestra a conti-
nuacin nicamente las representaciones grcas completas.
? ?
Figura 6.38: Representacin de Bobina y Contacto en LD
En la Figura 6.38 la incgnita dentro de cada elemento representa un smbo-
lo de un conjunto posible ya sea para un contacto o para una bobina. A conti-
nuacin se listan los smbolos para cada elemento y se da una breve descripcin
de su signicado:
Contactos:
Caracter espacio en blanco: Representa un contacto normalmente
abierto
/ Caracter slash: Representa un contacto normalmente cerrado
P: Representa un contacto sensible a transicin positiva, o sea que se
activa con anco de subida
6.7. DIAGRAMA ESCALERA (LD) 197
N: Representa un contacto sensible a transicin negativa, o sea que
se activa con anco de bajada
Bobinas:
Caracter espacio en blanco: Bobina que toma el valor de estado
lgico evaluado por los elementos a su izquierda
/ Caracter slash: Bobina negada; toma el valor negado de estado
lgico evaluado por los elementos a su izquierda
S: Set de Bobina; la bobina se ja en el estado ON cuando el valor
lgico evaluado por los elementos a su izquierda es 1. La bobina
permanece en este estado hasta que se emplee un reset de bobina.
R: Reset de Bobina; la bobina se ja en el estado OFF cuando el valor
lgico evaluado por los elementos a su izquierda es 1. La bobina
permanece en este estado hasta que se dena un estado contrario.
M: Bobina de Retencin; opera de forma igual a una bobina normal,
con excepcin que su estado se retiene en la memoria del PLC ante
fallos en el suministro de potencia.
SM: Bobina de Retencin Set; opera de forma igual a un set de bobi-
na, con excepcin que su estado se retiene en la memoria del PLC
ante fallos en el suministro de potencia.
RM: Bobina de Retencin Reset; opera de forma igual a un reset de
bobina, con excepcin que su estado se retiene en la memoria del
PLC ante fallos en el suministro de potencia.
P: Bobina Sensible a Transicin Positiva; la bobina pasa al estado ON
con un anco de subida.
N: Bobina Sensible a Transicin Negativa; la bobina pasa al estado
ON con un anco de bajada.
6.7.2. Elementos Para Control de Flujo
Son elementos grcos adicionales que tienen inuencia sobre el control de
ejecucin. Permiten el abandono prematuro de la ejecucin o el salto hacia o
desde una red LD. En ambos casos estas acciones se pueden realizar de forma
condicional o incondicional y su representacin es idntica a la denida en la
Figura 6.35 con operacin igual a la ya vista en la Seccin 6.6.2 para el lenguaje
FBD.
6.7.3. Llamados a Funciones y Bloques de Funciones
Al igual que en el lenguaje FBD, las funciones y bloques de funciones son
representados mediante cajas rectangulares, donde las entradas van al lado iz-
quierdo y las salidas (en el caso de las funciones una sola salida) van al lado
derecho. El nombre formal de cada variable de entrada y salida va dentro de
198 CAPTULO 6. ESTNDAR IEC 61131-3
la caja al nivel del respectivo puerto de dato que representan. El nombre de un
tipo de bloque de funcin y el nombre de una funcin van dentro de la caja
en la parte superior, mientras que el nombre de la instancia de un bloque de
funcin va ubicado sobre la caja.
Los parmetros de entrada y salida en un bloque de funcin pueden ser de
cualquier tipo de dato, pero el estndar exige que como mnimo una entrada
y una salida deben ser de tipo booleano y deben tener conexin directa o indi-
recta a las lneas verticales del diagrama escalera. En las funciones las entradas
EN y ENO sirven como elementos para controlar el ujo y adems proveen un
medio de cumplir con el requerimiento de tener como mnimo una entrada y
una salida booleana con conexin directa o indirecta a las lneas verticales de
la red LD.
6.7.4. Reglas de la Evolucin en una Red LD
La secuencia de evaluacin siempre debe seguir los siguientes criterios con
el n de determinar la forma de evolucin del ujo de datos a travs de las
redes [8, 9]:
1. La secuencia de ejecucin de varias redes se realiza una a una de arri-
ba hacia abajo. Esta secuencia de ejecucin se puede alterar empleando
saltos. Igualmente los escalones de una red son ejecutados en secuencia
de arriba hacia abajo.
2. La evaluacin de un elemento cualesquiera en la red requiere para su
inicio que todas sus entradas estn disponibles, lo cual equivale a que en
un escaln o una POU sus entradas hayan sido evaluadas y entregadas
desde elementos anteriores.
3. La evaluacin de un elemento de la red no se da por terminada hasta que
se disponga de la evaluacin de todas sus salidas.
4. En el mismo sentido del punto 2, cuando una red transere datos a otra
se requiere que la primera tenga disponibles todos los datos requeridos
en la segunda para poder iniciar su ejecucin.
La funcin de conmutacin de la Figura 6.36 se toma a manera de ejemplo
para la implementacin de una red en lenguaje LD, la cual se muestra en la
Figura en la pgina siguiente. De la anterior red es claro como este lenguaje
posee una naturaleza anloga a los circuitos digitales, ya que en ella fcilmente
se pueden implementar funciones de conmutacin, adems desde el mismo
diagrama se puede deducir simplicaciones que en muchos casos requieren de
tcnicas de minimizacin. Sin embargo una de las grandes desventajas de la
programacin en este lenguaje, fuera de las ya expuestas en la Seccin 6.1.1, es
la dicultad para programar ciclos iterativos o para tratar con tipos de datos
derivados [2, 8, 9].
6.7. DIAGRAMA ESCALERA (LD) 199
/
F
A
B C
1
Figura 6.39: Ejemplo de Evolucin en Red LD
En el lenguaje LD tambin es posible realizar la realimentacin de varia-
bles, lo cual sucede cuando en un mismo escaln se emplean contactos y en-
tradas a funciones o bloques de funciones que se relacionan con variables (co-
mo bobinas o salidas de funciones o bloques de funciones) que se actualizan
en el mismo escaln. A diferencia de lo que ocurre con la realimentacin en
el lenguaje FBD, en LD la realimentacin slo se realiza mediante conexiones
implcitas, con lo cual aquellas conexiones que inician a la derecha y terminan
en la izquierda, ver Figura 6.37, no son permitidas en LD.
Un tema de especial cuidado, que se puede presentar con mayor frecuencia
en lenguaje LD en comparacin con FBD, es el problema de determinacin de
secuencia en la ejecucin, que en algunos lenguajes grcos de programacin
se denomina como condiciones de ejecucin. Para entender este punto se mues-
tra la Figura 6.40.
FunAB
FunAB1
S1
S2
E1
Var2
Var1 Var2 Var3
Figura 6.40: Determinacin de Secuencia en Ejecucin
Se puede observar como al momento de ejecutar la red de la Figura 6.40
no es claro en que instante ser actualizado el dato de la variable denominada
Var2, por tanto tampoco es claro si al instante de su evaluacin sta poseer un
valor que viene desde la evaluacin previa o si por el contrario estar actuali-
zado con el valor que entregue la salida 2 del bloque de funcin (FunAB1.S2)
durante la evaluacin presente. Por ende, este tipo de situaciones debe ser evi-
tada durante la realizacin de redes tipo FBD o LD.
200 CAPTULO 6. ESTNDAR IEC 61131-3
6.8. Diagrama Funcional Secuencial (SFC)
ste es el ltimo de los lenguajes del estndar IEC 61131-3, tiene su funda-
mento en las metodologas para la descripcin de sistemas secuenciales, princi-
palmente en Redes de Petri. Su naturaleza es grca y permite la estructuracin
de una implementacin mediante estados, o unidades, que se ejecutan paso a
paso. Cada uno de estos estados basa su ejecucin en condiciones denidas por
el operador y en condiciones dependientes de las entradas al sistema. Adems
cada unidad puede ser implementada en cualquiera de los otros cuatro lengua-
jes denidos en el estndar o mediante descripciones proporcionadas por el
mismo SFC [2, 1, 8, 9].
El diagrama funcional secuencial se puede utilizar para realizar la imple-
mentacin de POUs del tipo Bloque de Funciones o Programa, ms no para las
Funciones, lo anterior se debe a la misma naturaleza de este lenguaje, el cual
retiene informacin en los estados y por tanto va en contrava de la denicin
dada para Funcin, ver la Seccin 6.3.8.1.
6.8.1. Elementos Grcos y Descripcin de una Red SFC
Una red SFC se compone primariamente de dos elementos: las Etapas y las
Transiciones. Las etapas se representan mediante cajas rectangulares que van
interconectadas entre si mediante una lnea vertical, donde a su vez va ubicada
una lnea horizontal que representa la transicin. A cada etapa se le puede
asociar un conjunto de instrucciones, denominadas Acciones, las cuales se rea-
lizan dependiendo del estado actual en el cual se encuentre la etapa. Una etapa
puede estar en uno de dos estados posibles: Activoo Inactivo. Si el estado actual
es activo, entonces las acciones asociadas se repiten hasta que el estado de la
etapa sea el de inactivo.
El cambio de estado de una etapa est determinado por la transicin in-
mediatamente debajo de ella. A la transicin se le asigna una Condicin de Tran-
sicin la cual no es ms que una expresin booleana a ser vericada. Cuando
una etapa se encuentra activa se evala continuamente la condicin asociada a
la transicin debajo de ella, cuando esta condicin alcanza un valor verdadero
TRUE ocasiona que la etapa que actualmente se encuentra activa pase al
estado de inactiva y la etapa posterior a la transicin, que actualmente se en-
contraba inactiva, pasa a estar activa (dependiendo de la estructura de la red
se podra tener ms de una etapa posterior a la transicin).
Dentro de la red SFC existe una etapa especial, denominada Start, (Inicio).
Cuando la red SFC es invocada la etapa Start es activada de forma automtica
dando inicio as al ujo de datos a travs de la red. En los sistemas modernos
se acostumbra indicar las etapas que actualmente se encuentran en el estado
activo mediante una marca circular negra () que se denomina Token (moneda)
y que ayuda en el seguimiento grco del ujo secuencial a travs de la red.
En la Figura 6.41 se muestra una red SFC para una secuencia de encendido de
dos cargas.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 201
P=1
Espera
Start
P=1
A
P=0
B
P=0
Lnea con direccin
Etapa inicial
Transicin, su
condicin se valida
cuando P=1
Etapa
Transicin, su
condicin se valida
cuando P=0
Figura 6.41: Componentes Bsicos de una Red SFC
En la Figura 6.41, cuando se hace el llamado a la red se activa inicialmente
la etapa Start la cual permanece as hasta el instante en el cual la transicin
inmediatamente debajo verique la condicin asignada, en este caso se espera
por la pulsacin de P. Luego cuando se pulse P entonces se desactiva la eta-
pa inicial y se activa la etapa A donde se debe asignar el conjunto de acciones
necesarias para encender la primer carga (las acciones sern estudiadas ms
adelante). Esta carga permanece encendida hasta el instante cuando se libere
el pulsador P, que adems es la condicin de la transicin debajo de A, por lo
que al vericarse esta condicin, esto es P = 0, se desactiva la etapa A y se ac-
tiva la etapa Espera. En Espera el sistema no realiza ninguna accin asociada,
simplemente ahora es necesaria una nueva vericacin de pulsacin de P para
poder avanzar hacia la siguiente etapa. Cuando se pulse P entonces se desacti-
va Espera y se activa la etapa B, donde se realizan las acciones necesarias para
encender la carga Bhasta cuando se libere nuevamente el pulsador. Finalmente
con la liberacin de P se regresa al estado inicial y el ciclo puede reiniciar.
6.8.1.1. Las Etapas
Cada etapa dentro de una red SFC posee un identicador que debe ser ni-
co y que es tomado como una variable declarada automticamente y de tipo lo-
cal. El nombre de este identicador no debe ser asignado a ningn otro elemen-
to dentro de la POU implementada. Las etapas son de dos clases a saber: unas
denominadas simplemente como etapas las cuales se representan mediante
rectngulos y otras denominadas como etapas iniciales las cuales se presen-
tan mediante un rectngulo dentro de otro, ver Figura 6.41. Cuando se realiza
el llamado a una POU implementada en SFC, se activan de forma automtica
todas las etapas iniciales, las cuales no necesariamente deben ir al principio de
202 CAPTULO 6. ESTNDAR IEC 61131-3
la red. La activacin de una etapa se indica en la mayora de los sistemas me-
diante la presencia de una marca circular, o token, dentro del rectngulo de la
etapa.
Asociado a cada identicador de etapa existen dos variables declaradas im-
plcitamente. La primera de ellas es la Bandera de Etapa, que se puede acceder
mediante la notacin identicador.X, y es una variable de tipo BOOL que entre-
ga el valor actual de activacin de la etapa asociada, as si la etapa se encuentra
activa entonces identicador.X tendr un valor de TRUE y de lo contrario val-
dr FALSE. Esta primera variable implcita es de mucha utilidad para el control
de ujo 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 identicador.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 atri-
buto RETAIN, de la misma forma como se explic en la Seccin 6.3.7.2 y tal
como aparece en la Figura 6.10.
6.8.1.2. Las Transiciones
Una transicin es una especie de barrera que retiene activas las etapas pre-
vias a ella hasta cuando se verique una expresin booleana que se le asocia,
caso en el cual las etapas previas se desactivan y todas las etapas posteriores se
activan. Sin embargo la condicin de una transicin slo es evaluada cuando
todas las etapas previas a ella se encuentren en estado activo.
La expresin que describe la condicin de la transicin puede ser imple-
mentada en varias formas y en cualquiera de los otros cuatro lenguajes del
mismo estndar, aunque la forma empleada restringe los lenguajes a usar. Co-
mo ejemplo, las expresiones para las transiciones en la Figura 6.41 estn dadas
en ST.
A continuacin se describen las diversas formas en las cuales se puede rea-
lizar la descripcin de la condicin de transicin y en cada una se indica los
lenguajes del estndar que se pueden emplear.
La primera forma, denominada como de sintaxis inmediata, consiste en
escribir inmediatamente a continuacin de la transicin la expresin para la
condicin. En este caso escribir puede ser interpretado como la accin de es-
cribir una expresin booleana en lenguaje ST o por la conexin directa de una
red LD o FBD que entrega como resultado un dato de tipo BOOL. En esta
primera forma no se permite el uso de expresiones en lenguaje IL. A conti-
nuacin, en la Figura 6.42, se muestran los casos especcos mencionados.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 203
Representacin Descripcin
Etapa2
Etapa1
V1 & V2
Condicin de transicin evaluada mediante
cualquier expresin en lenguaje de texto estruc-
turado (ST) que entregue como resultado un dato
booleano.
Etapa2
Etapa1
V1 V2
Condicin de transicin evaluada directamente
desde un escaln de red LD. Por naturaleza, una
red LD evala mediante contactos expresiones
booleanas las cuales se emplean para evaluar la
transicin.
Etapa2
Etapa1
V1
V2
&
Condicin de transicin evaluada directamente
desde una salida de tipo booleana en una red FBD.
Se debe asegurar que la salida de la red FBD conec-
tada a la transicin sea de tipo booleana.
Figura 6.42: Transiciones con Sintaxis Inmediata
La segunda forma, denominada sintaxis de conector, consiste en emplear
conectores en los casos de redes LD y FBD en lugar de conexiones inmediatas.
El empleo de estos conectores se realiza de la misma forma en que se descri-
bieron en la Seccin 6.6.1. A continuacin, en la Figura 6.43, se muestra la forma
de ser empleados.
Representacin Descripcin
Etapa2
Etapa1
Conector
Se emplea un conector con conexin directa a la
transicin. El conector hace el enlace hacia una red
en LD o FBD que se encuentra en otro lugar del dia-
grama SFC
Figura 6.43: Transicin con Sintaxis de Conector
La tercer y ltima forma, denominada sintaxis de nombre de transicin, em-
plea un identicador como nombre para la transicin. De esta forma se puede
204 CAPTULO 6. ESTNDAR IEC 61131-3
emplear cualquiera de los otros cuatro lenguajes del estndar en los cuales se
describe programticamente, de acuerdo a la naturaleza de cada uno, la expre-
sin booleana para el identicador 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 Descripcin
Etapa2
Etapa1
Tran1
A la transicin se le asigna un identicador, o nom-
bre, el cual puede ser denido usando cualquiera
de los otros cuatro lenguajes del estndar.
Tran1
& V1
V2
TRANSITION Tran1:
END_TRANSITION
Denicin del identicador para la condicin de
transicin empleando una red FBD. La salida de la
red es el valor para la condicin.
V1 V2
Tran1
TRANSITION Tran1:
END_TRANSITION
Denicin del identicador para la condicin de
transicin empleando una red LD. A la bobina de
la red LD se le asigna el identicador.
TRANSITION Tran1:
LD V1
AND V2
END_TRANSITION
Denicin del identicador para la condicin de
transicin empleando el lenguaje IL. El resultado -
nal almacenado en el acumulador es el valor de la
condicin.
TRANSITION Tran1
:= V1 & V2;
END_TRANSITION
Denicin del identicador para la condicin de
transicin empleando el lenguaje ST. La asignacin
de la condicin se realizar usando el delimitador :=.
Figura 6.44: Transiciones con Sintaxis de Nombre de Transicin
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 deno-
mina secuencia, as si posterior a la activacin de una etapa es posible slo
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 205
la activacin de otra se dice que la conexin es en Secuencia nica, pero si es
posible la activacin de una etapa entre varias se dice que la conexin es en Se-
cuencia Divergente, mientras que si es posible la activacin de dos o ms etapas
a la vez la conexin es en Secuencias Simultneas. Como ejemplo, la red de la
Figura 6.41 se compone exclusivamente de secuencias nicas. A continuacin
se describe las secuencias divergentes y las simultneas.
6.8.2.1. Secuencias Divergentes
Cuando a una etapa le sigue ms de una transicin, se dice que la secuencia
es divergente. En este caso al estar la etapa activa se evaluarn todas las transi-
ciones posteriores a ella y la primera transicin en ser validada denir la ruta
a seguir. En caso de tener ms de una transicin validada simultneamente se
denen mtodos para determinar la prioridad entre ellas. En la Figura 6.45 se
muestran las tres posibles formas de denir la prioridad en la evaluacin.
Por Defecto Denida por Usuario Mutuamente Excluyente
*
Etapa1
Tran1 Tran2
Etapa2 Etapa3
*
Etapa1
Tran1 Tran2
Etapa2 Etapa3
1 2
Etapa1
Tran1 Tran2
Etapa2 Etapa3
La seleccin de una secuen-
cia se realiza evaluando las
transiciones de izquierda a
derecha. La primer transi-
cin en ser validada dene la
ruta a seguir. Un asterisco in-
dica que sta es la prioridad
en uso.
El usuario dene mediante
un nmero la prioridad de
la evaluacin, as cada ruta
es enumerada y la evalua-
cin se realiza en orden as-
cendente. Un asterisco y el
nmero asignado a cada ruta
indican que sta es la priori-
dad en uso.
Las transiciones son eva-
luadas sin ningn orden
denido. En este caso se
debe asegurar que las mis-
mas expresiones para las
condiciones de las transi-
ciones operen de forma mu-
tuamente excluyente, es de-
cir, slo sea posible la vali-
dacin de una entre varias.
Figura 6.45: Secuencias Divergentes y Prioridades
Luego de la seleccin de una secuencia divergente, es necesario volver a
unir los caminos hacia una sola ruta. En este caso a una etapa le antecede ms
de una transicin, una desde cada ruta. En la Figura 6.46 se muestra la forma
de realizar la convergencia de secuencias divergentes.
206 CAPTULO 6. ESTNDAR IEC 61131-3
Tran1 Tran2
Etapa1 Etapa2
Etapa n
Figura 6.46: Convergencia de Secuencias Divergentes
6.8.2.2. Secuencias Simultneas
Cuando una transicin debe dar lugar a la ejecucin simultnea de ms de
una etapa, se dice que las secuencias son simultneas. En este caso cuando una
transicin es validada, lo cual implica adems que la etapa previa a ella se en-
cuentre activa, se activa simultneamente ms de una etapa inmediatamente
posterior a la transicin. Igualmente ser necesario realizar la convergencia de
secuencias simultneas hacia una sola ruta, en este caso una transicin se va-
lida cuando todas las etapas conectadas a ella y que provienen de secuencias
simultneas se encuentren activas y adems se valide la condicin de la tran-
sicin, con lo cual se desactivarn todas las etapas previas a dicha transicin
y se activar la etapa siguiente. En la Figura 6.47 se muestra la representacin
grca de secuencias simultneas y su respectiva convergencia.
Tran
Etapa1 Etapa2
Etapa n
Etapa1
Etapa2 Etapa3
Tran
Figura 6.47: Secuencias Simultneas y su Convergencia
6.8.2.3. Redes Inseguras
Ya que SFC tiene su fundamento en las Redes de Petri, se debe prevenir
redes que no tengan un comportamiento seguro. El estndar IEC 61131-3 hace
nfasis en la necesidad de evitar redes con topologas Inseguras e Inalcanzables
[8, 9].
Una Topologa Insegura es aquella en la cual se puede presentar la activacin
incontrolada y sin coordinacin de etapas, esto sucede especialmente cuando
en secuencias simultneas se permite la activacin de etapas exteriores a ellas
sin asegurar que las acciones al interior se terminen completamente.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 207
Una TopologaInalcanzable es aquella en la cual algn elemento (etapa o tran-
sicin) 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
Etapa2 Etapa3
T1
Etapa5 Etapa4
T2 T3
T5
Etapa6
T4
T6
Etapa1
Etapa2 Etapa3
T1
Etapa5 Etapa4
T2 T3
T5
Etapa6
T4
Red Insegura: Si estando activas Etapa2 y
Etapa3 se valida T4 podra ocurrir tener acti-
vas simultneamente Etapa2 y Etapa4 debido
al retorno hacia Etapa1, adems el nmero de
marcas podra crecer sin control.
Red Inalcanzable: En esta red nunca se po-
dr vericar T5, ya que Etapa5 y Etapa6 for-
man una secuencia divergente ocasionando
que nunca T5 tenga sus tres etapas previas ac-
tivas.
Figura 6.48: Redes Inseguras
6.8.3. Acciones
Al describir una red mediante el lenguaje SFC se persigue como objetivo
que con cada etapa que se encuentre activa se realice la ejecucin de una ac-
cin, o un conjunto de acciones, que se asocia a dicha etapa con la nalidad de
implementar un comportamiento deseado. Estas instrucciones entonces son es-
critas dentro de una caja denominada Bloque de Acciones y la cual va unida a la
etapa asociada.
Las acciones tienen por nalidad denir 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 ujo.
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 CAPTULO 6. ESTNDAR IEC 61131-3
en cualquiera de los otros cuatro lenguajes denidos por el estndar e incluso
se puede emplear otra red SFC.
Tran1
N AccionEtapa2 Indicador
IF Presion THEN
Indicador := TRUE;
ELSE
Indicador := FALSE;
END_IF
Calificador
Nombre de
Accin
Indicador
Booleano
Descripcin de la accin
Tran2
Etapa2
Figura 6.49: Elementos de un Bloque de Accin
En general, un bloque de accin consta de los siguientes elementos: un Cali-
cador, el cual dene una condicin de ejecucin que controla ya sea el tiempo,
o instante, de ejecucin de las instrucciones asociadas o el valor que se debe
asignar a una variable booleana. El Nombre de Accin es un identicador que
debe ser nico dentro de la POU implementada. El Indicador Booleano es una
variable opcional a ser implementada dentro del bloque de accin con propsi-
to de permitir su actualizacin de forma manual dentro del cuerpo de instruc-
ciones con el n de ser indicativa del estado actual de la ejecucin. Por ltimo
la seccin de Descripcin de la Accin puede ser implementada en cualquiera
de los lenguajes del estndar, incluyendo otra red SFC, es ms, debido a la
complejidad que podra alcanzar la descripcin de un comportamiento dado
se permite que esta seccin sea implementada en un diagrama aparte o incluso
en otra pgina, caso en el cual el lenguaje IL no se puede usar.
Cuando se emplea un diagrama o pgina independiente para la implemen-
tacin de la descripcin de la accin, el nombre de la accin se emplea como
identicador que enlaza la accin con la descripcin.
En general, una etapa puede constar de cualquier nmero de acciones aso-
ciadas. Adems una misma accin puede ser relacionada con ms de una etapa.
Ms an, si se desea, una etapa puede no tener ninguna accin asociada, con
lo cual simplemente se espera a la validacin de la condicin de transicin.
La ejecucin de las acciones se rige mediante las siguientes dos reglas:
1. Cada etapa junto con sus acciones asociadas se ejecuta al menos una vez
luego de su activacin. En este estado la bandera Etapa.X se ja y per-
manece en TRUE.
2. Posterior a la desactivacin de una etapa, sta y todas sus acciones asocia-
das son invocadas una vez ms con el propsito de asegurar una adecua-
da nalizacin de variables y estados. Durante esta parte de la ejecucin
y durante todo el tiempo que la etapa est inactiva la bandera Etapa.X
permanece en FALSE.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 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
Salida
& V1
V2
N Accin I1
Bloque de Accin en LD Bloque de Accin en FBD
Figura 6.50: Bloques de Acciones en los Lenguajes LD y FBD
En la Figura 6.50 la lnea a la izquierda del bloque de accin se encarga de
dar la activacin, en FBD cuando se entrega un valor booleano de TRUE y en
LD cuando hay paso en el ujo de potencia de izquierda a derecha. Igualmente
se puede emplear de forma opcional el indicador booleano con propsitos de
seguimiento al desarrollo de las acciones implementadas, caso en el cual se
asigna su valor a una variable.
6.8.3.2. Calicadores de las Acciones
Ya se ha visto que uno de los elementos constitutivos de una accin es su
calicador, ver Figura 6.49. Hasta el momento siempre se ha empleado el cali-
cador N con el cual toda accin se ejecuta continuamente mientras su etapa
asociada se encuentre activa. Sin embargo, el estndar dene un amplio rango
de calicadores adicionales con los cuales se puede controlar de forma exac-
ta el momento justo en el cual una accin se debe ejecutar en relacin con la
activacin de su etapa asociada.
De lo anterior es claro que la ejecucin de una accin ser dependiente
de la activacin de la etapa asociada y del tipo de calicador asignado. En la
Tabla 6.5 se muestra el listado de los calicadores disponibles.
Aunque estos calicadores son de inmensa ayuda en la descripcin de fun-
cionalidades, igualmente pueden ocasionar mayores inconvenientes en el man-
tenimiento, depuracin y seguimiento a redes que los contienen, especialmente
en aquellos casos donde se emplea calicadores que extienden acciones ms
all de la desactivacin de una etapa, como es el caso de SD. Con el propsito
de claricar la forma de operar de estos calicadores, a continuacin se mues-
tran las posibles situaciones de cada uno de ellos en un diagrama de tiempos.
210 CAPTULO 6. ESTNDAR IEC 61131-3
Calicador Nombre Descripcin
No Memorizada Se ejecuta mientras la etapa sea activa
N No Memorizada Igual a la anterior
R Reset Reset memorizado de una accin
S Set Set memorizado de una accin
L Limitada Accin que se ejecuta slo por un tiempo dado
o hasta que la etapa est inactiva, lo que suceda
primero
D Retarda Accin que inicia su ejecucin luego de un tiempo
de retardo dado y que termina cuando la etapa est
inactiva. Si la etapa es inactiva antes del retardo la
accin nunca se ejecuta
P Impulsiva Accin que se ejeucta slo una vez al inicio de la
activacin de la etapa
SD Memorizada y
Retardada
Set memorizado de una accin luego de un tiempo
dado. El set ocurrir independiente de la desacti-
vacin de la etapa.
DS Retardada y
Memorizada
Igual a la anterior, pero en este caso si se produce la
desactivacin de la etapa antes de terminar el retar-
do no se realiza la memorizacin
SL Memorizada y
Limitada
Set memorizado por un tiempo dado. El set ocurri-
r independiente de la desactivacin de la etapa
Tabla 6.5: Calicadores de Acciones
El calicador tipo N ejecuta la accin de forma continua mientras la eta-
pa asociada est igualmente activa. Esto es, la accin se realizar mientras la
bandera Etapa.Xtenga un valor de TRUE. En la Figura 6.51 se observa el com-
portamiento de la accin en el tiempo.
T1
N
T2
AccinE1 E1
E1.X
AccinE1
T2
Figura 6.51: Accin con Calicador N
El calicador tipo S ejecuta la accin de forma continua desde el momento
en el cual la etapa asociada est activa y dicha accin permanece (se memoriza)
aunque la etapa pase al estado inactivo. Para detener la ejecucin de la accin
es necesario que en otra etapa se haga referencia a la misma accin pero usando
el calicador R, con lo cual en el momento de la activacin de esta segunda
etapa se ejecutar una vez ms la accin y se realizar enseguida el reset. En la
Figura 6.52 se muestra la forma como operan estos calicadores.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 211
T1
S
T2
Accin E1
Tn-1
R
Tn
Accin En
E1.X
Accin
Tn-1
T2
Figura 6.52: Accin con Calicadores S y R
El calicador L ejecuta la accin desde la activacin de la etapa asociada,
pero la realiza slo por un periodo determinado de tiempo. En caso que la
etapa se desactive antes de culminar la ejecucin de la accin, sta ltima no se
contina ejecutando. Es claro entonces que la accin se realizar hasta cuando
suceda una de las siguientes situaciones: hasta que transcurra el tiempo pro-
puesto o hasta que se desactive la etapa asociada, estas situaciones se muestran
en la Figura 6.53.
T1
LT#2s
T2
Accin E1
E1.X
Accin
T2
2s 2s
Figura 6.53: Accin con Calicador L
El calicador D ejecuta la accin un tiempo despus de la activacin de la
etapa asociada. Esta ejecucin dura hasta cuando se produzca la desactivacin
de la correspondiente etapa, en caso que el tiempo no se cumpla antes de la
desactivacin de la etapa entonces la accin nunca se lleva a cabo. Este com-
portamiento se observa en la Figura 6.54.
T1
DT#2s
T2
Accin E1
E1.X
Accin
T2
2s 2s
Figura 6.54: Accn con Calicador D
212 CAPTULO 6. ESTNDAR IEC 61131-3
El calicador P ejecuta la accin una nica vez con la activacin de la eta-
pa asociada. A este calicador tambin se le denomina como impulsivo. En la
Figura 6.55 se muestra su comportamiento.
T1
P
T2
Accin E1
E1.X
Accin
T2
Figura 6.55: Accin con Calicador P
El calicador SD ejecuta la accin un tiempo despus de la activacin de
la etapa asociada, este inicio de ejecucin se realiza independientemente del
estado futuro de la etapa. La ejecucin se detiene slo cuando en otra etapa se
haga referencia a la misma accin empleando el calicador R. En las anteriores
condiciones es de aclarar que en caso que el calicador R se realice sobre la
accin antes de que se cumpla el tiempo de retardo la accin nunca se lleva a
cabo. En la Figura 6.56 se muestran estos comportamientos para el calicador
SD.
T1
SD T#2s
T2
Accin E1
Tn-1
R
Tn
Accin En
E1.X
Accin
Tn-1
2s
T2
2s
Figura 6.56: Accin con Calicador SD
El calicador DS ejecuta la accin un tiempo despus de la activacin de
la etapa asociada, este inicio se realiza siempre y cuando una vez cumplido el
retardo la etapa an est activa. Al igual que en el caso anterior, se requiere
hacer referencia en otra etapa a la misma accin usando el calicador R para
detener su ejecucin. La Figura 6.57 muestra el comportamiento descrito para
este calicador.
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 213
T1
DS T#2s
T2
Accin E1
Tn-1
R
Tn
Accin En
E1.X
Accin
Tn-1
2s
T2
2s
Figura 6.57: Accin con Calicador DS
Por ltimo, el calicador SL ejecuta la accin desde la activacin de la eta-
pa asociada y memoriza esta accin por un tiempo determinado. La duracin
de la ejecucin de la accin no depende en este caso del estado futuro de la
etapa asociada, sin embargo si en una etapa posterior se hace referencia a la
misma accin usando el calicador R, la accin se detendr an en el caso
que no se haya cumplido la duracin jada para la ejecucin. En la Figura 6.58
se muestran los comportamientos descritos para este calicador.
T1
LS T#2s
T2
Accin E1
Tn-1
R
Tn
Accin En
E1.X
Accin
Tn-1
2s
T2
2s
Figura 6.58: Accin con Calicador LS
6.8.3.3. Control de Accin
Ya que se puede hacer referencia a una accin en particular desde diferen-
tes bloques de acciones en varias etapas y como estas etapas pueden estar, o
no, activas simultneamente, dependiendo incluso de los tipos de calicadores
empleados, una accin en particular puede recibir simultneamente llamados
desde diferentes lugares los cuales inuenciarn su tiempo de ejecucin. Para
poder controlar la programacin de una accin especca se emplea un Control
de Accin, el cual en general es un bloque de funcin propio del sistema opera-
tivo y que se encarga de evaluar y determinar las condiciones bajo las cuales
se debe dar inicio y paro a la ejecucin de una accin [8]. En la Figura 6.59 se
muestra la representacin de este bloque de funcin.
214 CAPTULO 6. ESTNDAR IEC 61131-3
E1.X
En.X
Ei.X
1
&
Control de Accin
R
N
L
S
D
P
SD
DS
SL
Q
Figura 6.59: Control de Accin
El control de accin est implementado con base en una funcin OR la cual
recibe como entradas las evaluaciones de cada uno de los diferentes tipos de
calicadores (representados en la Figura 6.59 mediante un rectngulo) a excep-
cin de R. Una funcin AND se encarga de proveer el nivel mayor de prio-
ridad al calicador R. Desde las diferentes etapas que contengan bloques de
acciones con la accin a evaluar se conecta la bandera Etapa.Xa la entrada res-
pectiva y la salida Q se encarga de activar directamente la accin o de permitir
la ejecucin cclica de instrucciones en las secciones asociadas de descripcin
de accin.
De acuerdo con las reglas para la ejecucin de acciones, se debe tener siem-
pre presente que posterior a la desactivacin de una etapa se realiza una ltima
invocacin de todas las acciones con el propsito de asegurar el estado nal de
las variables.
6.8.4. Reglas de la Evaluacin en una Red SFC
En los lenguajes de texto como IL o ST las instrucciones se ejecutan en se-
cuencia una a continuacin de la otra en el mismo orden que son escritas y esta
secuencia nicamente es alterada por el uso de sentencias para control de ujo
u operadores para saltos. En una red SFC el mtodo que determina la secuencia
de ejecucin es diferente.
En las redes SFC cada POU se asocia con una tarea, la cual es responsable
de la ejecucin de los elementos en su interior. As una red SFC dentro de una
POU es evaluada cada vez que la POU lo haga y una red SFC dentro de un
bloque de accin es evaluada cada vez que la etapa asociada sea activa.
En general las reglas para la evaluacin de redes SFC son las siguientes
[8, 9]:
1. Todos las etapas iniciales son activadas por defecto cuando se realiza la
inicializacin del sistema, por ende se ejecutan las acciones asociadas a
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 215
las etapas iniciales.
2. Con el inicio de una nueva evaluacin se determina el conjunto de todas
las etapas activas y se permite la evaluacin de todas las transiciones
asociadas con ellas.
3. Para cada accin se realiza la vericacin de la salida de su control de
accin respectivo. Las acciones que terminan su ejecucin desde la eva-
luacin anterior (transicin TRUE a FALSE de la salida del control de
accin) son ejecutadas una vez ms.
4. Se ejecutan todas las acciones con salida TRUE en su control de accin.
5. A medida que las instrucciones en acciones se terminen, se realiza la lec-
tura y escritura de valores de variables hacia o desde los canales fsicos
de entrada.
6. Las etapas activas con transiciones asociadas que tienen condicin de
transicin TRUE (que son validadas) son desactivadas y se activan las
etapas siguientes a las transiciones validadas. En este punto se itera des-
de el paso 2.
El comportamiento descrito para la evaluacin se implementa de forma fsica
mediante lo denominado Mdulo Secuenciador de Etapa. ste se interpreta como
un elemento tecnolgico funcional capaz de realizar la conexin entre etapas
anteriores y posteriores. Su diseo se realiza mediante un biestable donde a
la entrada SET se conectan mediante una funcin AND dos seales con el n
de implementar las dos condiciones necesarias para la activacin de la etapa,
a saber: que la etapa anterior est activa y que se produzca la validacin de
la transicin previa a ella. En la entrada RESET se conecta una seal desde la
etapa siguiente, esta entrada implementa la condicin de ejecucin de acciones
una vez ms luego de la desactivacin de la etapa. Finalmente la nica salida
del mdulo es el estado actual de activacin que se emplea como seal para las
etapas siguientes, seal de desactivacin de las etapas previas y como seal de
la bandera Etapa.X. En la Figura 6.60 se muestra un mdulo secuenciador y la
forma de conexin para la implementacin de varias etapas.
1
&
En
En.X
Etapa y
Transicin
Previas
&
En
En.X
&
En+1
En+1.X
Ti Ti+1
En-1
En+2
1 1
Etapa
Siguiente
Figura 6.60: Mdulo Secuenciador de Etapa
216 CAPTULO 6. ESTNDAR IEC 61131-3
6.8.5. Reglas de la Evolucin en una Red SFC
Las siguientes reglas de evolucin aseguran el correcto ujo de la informa-
cin y el comportamiento adecuado de una red SFC [8, 9].
1. Nunca se podr unir de forma directa dos etapas o dos transiciones, la
conexin siempre debe incluir de forma alternada etapas y transiciones.
2. Si una transicin se une hacia dos o ms etapas en secuencia simultnea,
las secuencias que inician en cada nueva etapa se ejecutan de forma si-
multnea e independiente.
3. El tiempo durante el cual se realiza la validacin de una transicin, la
desactivacin de las etapas previas a ella y la activacin de sus etapas
siguientes se puede considerar como instantneo.
4. No se hace necesario considerar efectos de retardo entre transiciones que
se validan de forma simultnea.
5. La condicin de transicin para una etapa no se evala hasta que el efecto
resultante de la activacin de la etapa sea comunicado a travs de toda la
POU.
6.8.6. Otras Caractersticas No Denidas en el Estndar
Debido a la gran popularidad en implementacin de automatismos con
base en SFC muchos sistemas integran en forma general algunas caractersticas
adicionales no denidas dentro del estndar IEC 61131-3. El propsito de esta
seccin es el de describir brevemente algunas de las caractersticas adicionales
ms relevantes que se implementan [3, 9].
Dentro del conjunto de los calicadores se dene uno adicional denomina-
do Condicional y representado por C. Este calicador ocasiona que una accin
en particular requiera del cumplimiento de una condicin para ser ejecutada,
esta condicin es adicional a la activacin de la etapa. La forma general para
este calicador se muestra en la Figura 6.61, donde la condicin booleana es
una expresin en sintaxis ST igual a las expresiones descritas para las transi-
ciones y que dene la condicin bajo la cual se puede realizar la accin. La
accin se ejecutar slo si la etapa asociada est activa y la expresin booleana
para la condicin toma un valor TRUE.
T1
C
T2
AccinEtapaE1 E1
Condicin Booleana
Figura 6.61: Accin con Calicador C
6.8. DIAGRAMA FUNCIONAL SECUENCIAL (SFC) 217
Otro concepto importante no denido dentro del estndar es el de Macro-
Etapa. Una macro-etapa es una representacin grca que permite agrupar co-
mo 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 en-
marcan 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 ac-
tivacin de la etapa de salida ser entonces una de las condiciones necesarias,
ms no suciente, 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.
Start
D
C
Etapa2
A
ME1
Etapa3
B
E12
F
S10
G
Macro-Etapa
H
Etapa Inicial
Etapa Final
E10
E11
Figura 6.62: Partes de una Macro-Etapa
Cuando se realiza un diseo jerrquico frecuentemente se tendrn varias
redes SFC que describen de forma separada funcionalidades particulares del
sistema implementado. Esta situacin requiere entonces de acciones de control
que permitan la interaccin controlada y sincronizada de las diferentes redes
mediante la denicin de condiciones de dependencia entre ellas lo cual conlle-
va a establecer jerarquas entre las mismas redes. Para facilitar esta labor varios
sistemas de implementacin adicionan acciones denominadas rdenes deForza-
do, las cuales permiten controlar la ejecucin de un diagrama jerrquicamente
inferior desde otro de orden superior. Este control se lleva a efecto mediante la
modicacin del conjunto de etapas activas en la red inferior en funcin de las
variables que intervienen en la activacin de las transiciones de la red de orden
superior.
218 CAPTULO 6. ESTNDAR IEC 61131-3
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 jaron tal situacin
se sigan vericando.
La sintaxis general para una orden de forzado es: F/ Identicador 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 identicada 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 nalmente lo deseado es cam-
biar las etapas de la red que deben estar actualmente activas, por ejemplo a las
etapas 3 y 8, entonces la sintaxis es F/ G01:{3,8}. En muchas ocasiones se desea
que estas rdenes de forzado duren solo un instante, caso en el cual se puede
emplear el calicador impulsivo para esta accin adicionando una echa orien-
tada a continuacin de la letra F as: F/ G01:{3,8}.
6.9. Portabilidad entre los Diferentes Lenguajes
La portabilidad es la posibilidad de representar una POU descrita en un
lenguaje en otro dado. Aunque debera ser posible realizar en forma general la
traduccin entre lenguajes del estndar, esto no siempre es prctico, ya que una
de la principales caractersticas del mismo estndar es proveer el conjunto de
lenguajes de entre los cuales se debe escoger de acuerdo a la aplicacin puntual
o diseo particular de POU el que mejor se acomode [1, 8, 9].
Durante el desarrollo de cada una de las secciones concernientes a los len-
guajes del estndar se han presentado ejemplos de como realizar ciertas ope-
raciones o funcionalidades en cada uno de los lenguajes, a su vez, de la com-
paracin entre estas formas se puede ir esbozando mtodos generalizados para
realizar la traduccin, aunque est no siempre se puede realizar de forma di-
recta como en el caso de sentencias para el control de ujo en ST hacia FBD,
donde se debe recurrir a toda la experiencia y algo de ingenio para lograr de
forma correcta la traduccin.
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
Se implementa un sistema de control para un tanque de aguas lluvias, el
cual posee tres motobombas (denominadas respectivamente M1, M2 y M3) y
tres sensores de nivel, S1 para indicar nivel bajo, S2 para nivel medio y S3 para
nivel alto. El control permite la activacin alternada de motobombas cada vez
que el nivel ascienda a S1. Si estando una motobomba activa el nivel llega a S2
se debe activar la siguiente motobomba en la secuencia. Si estando dos moto-
bombas activas el nivel llega a S3 se debe activar la ltima de las motobombas.
Cuando el nivel baje nuevamente de S1 se deben apagar todas las motobombas
activas. La siguiente ocasin que el nivel suba de S1, debe encender la moto-
bomba que sigue en la secuencia individual.
Figura 6.63: Ejemplo en Texto Estructurado
220 CAPTULO 6. ESTNDAR IEC 61131-3
Figura 6.64: Ejemplo en Listado de Instrucciones
6.10. EJEMPLO 221
Figura 6.65: Ejemplo en Diagrama de Bloques de Funciones
222 CAPTULO 6. ESTNDAR IEC 61131-3
Figura 6.66: Ejemplo en Diagrama Escalera
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
Figura 6.67: Ejemplo en Diagrama Funcional Secuencial
224 CAPTULO 6. ESTNDAR IEC 61131-3
6.11. Ejercicios Propuestos
Para cada uno de los siguientes problemas propuestos, realice su imple-
mentacin en los cinco lenguajes del estndar IEC 61131-3. La implementacin
en cada lenguaje se debe desarrollar de forma independiente, es decir, no trate
de hacer una implementacin por analoga con otra.
1. Se desea controlar el encendido de una carga desde un nico pulsador
monoestable normalmente abierto. Cada vez que se presione y libere el
pulsador la carga debe cambiar de estado, es decir cuando el pulsador
regrese a su estado de reposo la carga debe pasar de encendida a apagada
o viceversa, segn como se encuentre. Al inicio, cuando se presiona el
pulsador, la carga est apagada.
2. La Figura 6.68, muestra el esquema de un proceso para mezclas de reac-
tivos. En el depsito de mezcla se vierte inicialmente el reactivo que se
alimenta mediante la vlvula V1 hasta el nivel N2, luego se vierte el reac-
tivo alimentado por la vlvula V2 hasta el nivel N3. Esta mezcla se lleva
al Depsito A mediante la accin de la vlvula V4 y hasta que el nivel N1
indique tanque vaco. Posteriormente se prepara otra mezcla vertiendo
inicialmente el reactivo alimentado por la vlvula V3 hasta el nivel N2 y
seguidamente el reactivo alimentado por V2 hasta el nivel N3. Esta mez-
cla se lleva al Depsito Bmediante la accin de la vlvula V5 y hasta que
se vace nuevamente el depsito de mezcla. Mientras se vierta el reacti-
vo alimentado por V2 se debe tener encendido un mezclador, M, el cual
debe permanecer as hasta que el nivel baje a N2 cuando el tanque se es-
t vaciando. Cuando los depsitos A y Bestn llenos con sus respectivas
mezclas se procede a abrir las vlvulas VA y VBque los vacan. Ya que las
mezclas son diferentes no se garantiza el vaciado simultneo, por lo que
cada vez que se vaca el depsito A (nivel en Na) o el depsito B (nivel
en Nb) se debe cerrar la respectiva vlvula de ese depsito (VA o VB). El
ciclo reinicia slo con los depsitos A y B vacos. Se cuenta con un inte-
rruptor monoestable para dar arranque al sistema. Adems, el arranque
est condicionado a que todos los depsitos deben estar vacos, para lo
cual primero se debe garantizar vaciar los depsitos inferiores, y luego
si el depsito de mezcla tiene residuo, se abren todas las vlvulas para
permitir su vaciado rpido.
6.11. EJERCICIOS PROPUESTOS 225
V1 V2 V3
V4 V5
VA VB
M
N1
N2
N3
Depsito de Mezcla
Depsito
A
Depsito
B
Nb Na
Figura 6.68: Ejercicio Propuesto 2
3. En muchos sistemas automatizados se dispone de un nico botn de
mando desde el cual se selecciona una operacin deseada de entre un
conjunto de posibles. De desea implementar el control de operacin para
una impresora, la cual dispone nicamente de un botn monoestable
para determinar la operacin a realizar, as: si el botn se presiona por
menos de tres segundos la impresora enciende de forma normal, si el
botn se presiona entre 5 y 8 segundos la impresora entrega la pgina de
prueba, pero si el botn se presiona entre 8 y 10 segundos se entra en el
modo de conguracin. Adems, como ayuda para el usuario se dispone
de un led que opera de la siguiente forma: Inicialmente se encuentra
apagado, cuando se inicia la pulsacin del botn ste led enciende de
forma permanente hasta los tres segundos, entre 3 hasta 5 segundos se
paga nuevamente para indicar que este intervalo no produce ninguna
operacin del sistema, entre 5 hasta 8 segundos hace una intermitencia
(encendido y apagado) con perodo de 1s, luego entre 8 hasta 10 segun-
dos la intermitencia es con un periodo de 0.5s, nalmente luego de los
10 segundos el led permanece apagado. Este diseo nicamente controla
el tipo de encendido, se asume que cada uno de los sistemas que imple-
mentan cada accin de la impresora ya estn disponibles y slo requieren
ser activados adecuadamente de acuerdo a la solicitud de encendido. Si
el botn se libera en alguno de los intervalos que no producen ninguna
accin, el sistema debe permitir nuevamente el reinicio de pulsacin.
4. Un sistema de mezcla y carga posee un total de tres carros de transporte
(CarroA, CarroBy CarroC), cada uno de los cuales circula por su propia
va, con sensores en los extremos as: al lado izquierdo los sensores son de
tipo nal de carrera y se denominan Ai, Bi y Ci respectivamente; al lado
derecho los sensores son de tipo inductivo y calibrados para detectar los
carros justo en su centro y denominados Ad, Bd y Cd. Cada carro posee
en el fondo una compuerta manejada por un pistn de efecto simple (con
una seal de cero lgico cierra y con una seal de 1 lgico abre) que per-
mite el vaciado de cada carro, estos pistones se denominan Pa, Pb y Pc
226 CAPTULO 6. ESTNDAR IEC 61131-3
respectivamente, adems existen motores que permiten el desplazamien-
to a izquierda o derecha de cada uno de los carros, as: para el CarroA son
Cai y Cad, para el CarroBson Cbi y Cbd y para el CarroC son Cci y Ccd.
Existen dos tolvas T1 y T2, donde la primera contiene cierto material y
la segunda agua. Al inicio los tres carros se encuentran a la izquierda y
el arranque es simultneo mediante un pulsador monoestable A. Los tres
inician su desplazamiento a derecha de forma independiente hasta el sen-
sor que los ubica debajo de la tolva T1 (At1 para el CarroA, Bt1 para el
CarroB y Ct1 para el CarroC). Esta tolva se puede desplazar a izquierda
o derecha con los motores T1i y T1d respectivamente (Ver vista lateral en
la Figura 6.69) e inicia en la posicin central. La tolva debe atender los
carros en el mismo orden de llegada depositando en cada uno material
durante 10s para lo cual debe activar el pistn Pt1. Cuando un carro ha
sido cargado por la tolva T1 puede iniciar su recorrido hacia la tolva T2,
para lo cual existe un sensor que lo ubica en posicin (At2 para el CarroA,
Bt2 para el CarroB y Ct2 para el CarroC). La tolva T2, inicialmente en la
posicin central, igualmente se puede desplazar a izquierda o derecha
con los motores T2i y T2d (no mostrados en la Figura 6.69) y debe de-
positar agua en el mismo orden de llegada en cada uno de los carros por
un tiempo de 5s, para lo cual dispone del pistn Pt2. Cuando un carro
tiene completa su carga de agua, debe continuar su recorrido a derecha
hasta los sensores Ad, Bd o Cd, segn el caso. En el extremo derecho,
cada carro puede vaciar su contenido dentro del Carro de Carga para lo
cual debe abrir su pistn de vaciado. En este punto, no importa que ms
de un carro vace de forma simultnea su contenido. Una vez vaco, un
carro puede regresar a cargar en la tolva 1 sin ir hasta el extremo izquier-
do. El Carro de Carga se debe llenar con un total de 10 viajes de los carros
de transporte de tal forma que al nal no quede ningn carro cargado, es
decir, el carro que realiza la octava descarga debe ir hasta la izquierda y
no trabajar ms, luego el que realiza la novena y nalmente el que hace
la dcima descarga. Todo el proceso en general debe ser realizado en el
menor tiempo posible, por lo que no est permitido que ningn carro
espere a otro en ninguna posicin.
6.11. EJERCICIOS PROPUESTOS 227
CarroA CarroB CarroC
CarroA CarroB CarroC
T1 T2
T1
Carro de Carga
Pa Pb Pc
Pb Pc Pa
T1a T1b T1c
At1,Bt1,Ct1 At2,Bt2,Ct2
Ad,
Bd,
Cd
Ai,Bi
Ci
Pt1 Pt2
Cai Cad Cbi Cbd Cci Ccd
Vista lateral
Vista frontal
T1i T1d
Figura 6.69: Ejercicio Propuesto 4
228 CAPTULO 6. ESTNDAR IEC 61131-3
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
[10] Parr, E.A.
Programmable Controllers, An enginners guide, Third Edition.
Newness. 2003. ISBN 0-7506-5757-X.

You might also like