Automat As
Automat As
Automat As
SUPERIORES DE MONTERREY
CAMPUS MONTERREY
TESIS
POR:
M A E S T R O E N CIENCIAS C O N
ESPECIALIDAD E N AUTOMATIZACIÓN
Comité de tesis:
SÍNTESIS E IMPLEMENTACIÓN DE SUPERVISORES DISCRETOS,
EN EL MARCO DE RAMADGE-WONHAM, EN UNA APLICACIÓN
INDUSTRIAL Y EN TEORÍA DE JUEGOS
POR:
JOSÉ ERNESTO PÉREZ ROBLES
TESIS
MAYO 2010
Agradecimientos
A Dios
Por darme la oportunidad de vivir, llegar hasta aquí y por iluminarme en los
momentos difíciles de mi vida.
A mis padres
José Luis y Celia, por el inmenso amor que me tienen y todo el apoyo
incondicional que me han dado, porque gracias a ustedes he podido lograr una
meta más en mi vida. Gracias a ti reinita por todas tus oraciones y consejos y a ti
papi por confiar en mí y motivarme a lograr metas altas. Los amo mucho, son el
regalo más grande que Dios me dio.
A mi hermana
Gaby, por empujarme siempre hacia arriba, mi Pinka espero que te guste esta
nueva meta que alcanzamos y que sigas orgullosa de tu hermano así como el está
orgulloso de ti, te quiero muchísimo.
A mi demás familia
Tías, tíos, abuelitas y demás familiares, por su apoyo incondicional sin el cual no
hubiera sido posible está nueva meta los quiero muchísimo.
Por aligerarme la carga que nos toca soportar cada día y ayudarme cuando los
necesité, gracias por estar siempre ahí.
i
Al Departamento de Mecatrónica y al Departamento de Ingeniería Industrial
Al Dr. Francisco Palomera, a la M.C. Aline Drivet y al M.C. Luis Carlos Félix
ii
Resumen
iii
Contenido
iv
Lista de Figuras por Capítulo
Capítulo 2
Figura 2. 1 Raíces de los sistemas de eventos discretos (SED). ............................................. 7
Figura 2. 2 Trayectoria de un SED a través del tiempo. .......................................................... 12
Figura 2. 3 Diagrama de transición de estados del autómata del ejemplo. .......................... 18
Figura 2. 4 Autómata con bloqueos: El estado 5 es un “deadlock” y los estados 3 y 4 están
envueltos en un “livelock”, cabe mencionar que el estado 2 representa un estado
marcado. .......................................................................................................................................... 22
Figura 2. 5 (a) CoAC(G) y (b)Trim(G) ......................................................................................... 24
Figura 2. 6 Operación producto y operación de composición paralela.................................. 25
Figura 2. 7 (a) representa G1 y (b) a G2. ................................................................................... 26
Figura 2. 8 Producto de G1 y G2 (MEET en el TCT)................................................................ 26
Figura 2. 9 Composición paralela de G1 y G2 (SYNC en el TCT). ........................................ 27
Figura 2. 10 Lazo de retroalimentación del control supervisorio. ........................................... 30
Figura 2. 11 Autómata de dos estados que forza la alternancia de eventos a y b. ............. 35
Figura 2. 12 Control modular con dos supervisores ................................................................. 42
Capítulo 3
Figura 3. 1 Modelo de la máquina 1. ........................................................................................... 46
Figura 3. 2 Pantalla de inicio del TCT ......................................................................................... 46
Figura 3. 3 Menú principal del TCT ............................................................................................. 47
Figura 3. 4 Menú de procedimientos TCT. ................................................................................. 47
Figura 3. 5 Primer paso en la creación de un autómata con TCT. ......................................... 48
Figura 3. 6 Pantalla de establecimiento del nombre del autómata. ....................................... 48
Figura 3. 7 Pantalla para seleccionar el número de estados del autómata. ......................... 49
Figura 3. 8 Pantalla para ingresar los estados marcados del autómata. .............................. 49
Figura 3. 9 Pantalla para ingresar los estados vocales ............................................................ 50
Figura 3. 10 Pantalla para ingresar la función f o lista de transiciones. ................................ 50
Figura 3. 11 Ejemplo de donde se presentan las transiciones declaradas para el autómata
maquina1. ........................................................................................................................................ 51
Figura 3. 12 Pantalla final de la creación del autómata que verifica si es o no
determinístico. ................................................................................................................................. 51
Figura 3. 13 Autómata generado de la máquina 1. ................................................................... 52
Figura 3. 14 Modelo del autómata máquina 2. .......................................................................... 52
Figura 3. 15 Autómata de la máquina 2. ..................................................................................... 52
Figura 3. 16 Sincronizando “MAQUINA1” Y “MAQUINA2”. ..................................................... 53
Figura 3. 17 Mostrando mediante TCT el autómata MAQUINA12. ........................................ 54
Figura 3. 18 Panta a controlar (sincronización de MAQUINA1 con MAQUINA2). ............... 54
v
Figura 3. 19 Especificación preliminar. ....................................................................................... 55
Figura 3. 20 Autómata All. ............................................................................................................. 56
Figura 3. 21 Autómata “Especificación Final”. ........................................................................... 56
Figura 3. 22 Autómata del controlador: “SUPERVISOR”. ........................................................ 57
Figura 3. 23 Planta bajo control ................................................................................................... 57
Figura 3. 24 Generando los datos de control del sistema. ...................................................... 58
Figura 3. 25 Datos de control generados mediante la opción CONDAT. .............................. 58
Figura 3. 26 Autómatas de la maquina 1, maquina 2 y el robot. ............................................ 60
Figura 3. 27. Estadísticas de la planta creada ........................................................................... 61
Figura 3. 28 Planta generada mediante las dos máquinas y el robot. ................................... 62
Figura 3. 29 Especificación 1 para el supervisor 1. .................................................................. 63
Figura 3. 30 Supervisor de la especificación 1. ......................................................................... 64
Figura 3. 31 Supervisor de la especificación 2. ......................................................................... 65
Figura 3. 32 Supervisor general. .................................................................................................. 66
Figura 3. 33 Equipo neumático simulado en Automation Studio. ........................................... 71
Figura 3. 34 Modelos de las máquinas ....................................................................................... 72
Figura 3. 35 Todos los posibles estados que genera la planta sin control. .......................... 72
Figura 3. 36 Especificación para controlar los cilindros neumáticos ...................................... 73
Figura 3. 37 Planta bajo la acción del supervisor ...................................................................... 73
Figura 3. 38 GRAFCETS de las máquinas en AS. ................................................................... 74
Figura 3. 39 Especificación implementada ................................................................................. 75
Figura 3. 40 Planta con la acción de control implementada. ................................................... 76
Figura 3. 41 Funcionamiento de la planta bajo control. ........................................................... 77
Capítulo 4
Figura 4. 1 Autómata de la máquina. .......................................................................................... 82
Figura 4. 2 Especificación del robot ............................................................................................ 83
Figura 4. 3 Especificación del robot para la planta de tres máquinas. .................................. 85
Figura 4. 4 Autómatas de las tres máquinas que forman la planta. ....................................... 85
Figura 4. 5 Validación de la controlabilidad del sistema mediante Supremica..................... 86
Figura 4. 6 Validación del no bloqueo del sistema mediante Supremica. ............................. 86
Figura 4. 7 Validación de la total inclusión del lenguaje del sistema mediante Supremica.
........................................................................................................................................................... 86
Figura 4. 8 Estadísticas de control mediante Supremica. ........................................................ 87
Figura 4. 9 PLC a programar. ....................................................................................................... 90
Figura 4. 10 Estación de control lógico del ITESM. .................................................................. 91
Figura 4. 11 Conexiones de las entradas al PLC. ..................................................................... 94
Figura 4. 12 Conexiones de las salidas del PLC....................................................................... 94
Figura 4. 13 Conexiones de las salidas del PLC....................................................................... 95
Figura 4. 14 Segunda parte de la etapa preliminar ................................................................... 95
vi
Figura 4. 15 Implementación de las tres máquinas en el PLC ................................................ 96
Figura 4. 16 Especificación del robot, primera parte. ............................................................... 97
Figura 4. 17 Supervisor Segunda parte ...................................................................................... 97
Figura 4. 18 Acciones de la máquina 1 ....................................................................................... 98
Figura 4. 19 Robot en reposo ....................................................................................................... 98
Figura 4. 20 Acción del robot al atender la máquina 1. ............................................................ 99
Figura 4. 21 Personas que necesitan cruzar el río. ................................................................ 101
Figura 4. 22 Autómata que representa al hijo 1. ..................................................................... 104
Figura 4. 23 Autómata que representa al padre. ..................................................................... 104
Figura 4. 24 Autómata que representa al ladrón. .................................................................... 105
Figura 4. 25 Autómata que representa la balsa. ..................................................................... 105
Figura 4. 26 Especificación 1...................................................................................................... 107
Figura 4. 27 Especificación 2. .................................................................................................... 107
Figura 4. 28 Especificación 3. .................................................................................................... 107
Figura 4. 29 Especificación general. ......................................................................................... 108
Figura 4. 30 Resultados del sistema con el supervisor monolítico. ..................................... 109
Figura 4. 31 Especificación óptima. ........................................................................................... 112
Figura 4. 32 Supervisor óptimo .................................................................................................. 113
Lista de tablas
Tabla 1 Estados y eventos con su interpretación...................................................................... 60
Tabla 2 Elementos de programación en GRAFCET. ................................................................ 70
Tabla 3 Eventos y su interpretación de acuerdo al sistema. ................................................... 87
Tabla 4 Conexiones asignadas .................................................................................................... 93
Tabla 5 Alfabeto del problema de cruzar el rio ........................................................................ 103
Tabla 6 Resultados de los supervisores ................................................................................... 108
vii
Figura 4. 15 Implementación de las tres máquinas en el PLC ................................................ 96
Figura 4. 16 Especificación del robot, primera parte. ............................................................... 97
Figura 4. 17 Supervisor Segunda parte ...................................................................................... 97
Figura 4. 18 Acciones de la máquina 1 ....................................................................................... 98
Figura 4. 19 Robot en reposo ....................................................................................................... 98
Figura 4. 20 Acción del robot al atender la máquina 1. ............................................................ 99
Figura 4. 21 Personas que necesitan cruzar el río. ................................................................ 101
Figura 4. 22 Autómata que representa al hijo 1. ..................................................................... 104
Figura 4. 23 Autómata que representa al padre. ..................................................................... 104
Figura 4. 24 Autómata que representa al ladrón. .................................................................... 105
Figura 4. 25 Autómata que representa la balsa. ..................................................................... 105
Figura 4. 26 Especificación 1...................................................................................................... 107
Figura 4. 27 Especificación 2. .................................................................................................... 107
Figura 4. 28 Especificación 3. .................................................................................................... 107
Figura 4. 29 Especificación general. ......................................................................................... 108
Figura 4. 30 Resultados del sistema con el supervisor monolítico. ..................................... 109
Figura 4. 31 Especificación óptima. ........................................................................................... 112
Figura 4. 32 Supervisor óptimo .................................................................................................. 113
Lista de tablas
Tabla 1 Estados y eventos con su interpretación...................................................................... 60
Tabla 2 Elementos de programación en GRAFCET. ................................................................ 70
Tabla 3 Eventos y su interpretación de acuerdo al sistema. ................................................... 87
Tabla 4 Conexiones asignadas .................................................................................................... 93
Tabla 5 Alfabeto del problema de cruzar el rio ........................................................................ 103
Tabla 6 Resultados de los supervisores ................................................................................... 108
vii
CAPÍTULO 1. INTRODUCCIÓN
1.1 Antecedentes
2
CAPÍTULO 1. INTRODUCCIÓN José Ernesto Pérez Robles
1.2 Motivación
1.3 Objetivos
3
CAPÍTULO 1. INTRODUCCIÓN José Ernesto Pérez Robles
1.4 Alcance
4
CAPÍTULO 1. INTRODUCCIÓN José Ernesto Pérez Robles
Supremica y sobre todo los videos que muestren el correcto desempeño de las
soluciones propuestas.
5
CAPÍTULO 2. REVISIÓN DE LA LITERATURA
En la Figura 2.1 se muestran las áreas de conocimiento que se unieron para dar
lugar a la teoría de SED y la principal aportación que le dio cada una de ellas a la
misma
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Concepto de sistema
7
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Concepto de evento
8
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Un evento puede ser identificado como una acción específica (por ejemplo cuando
alguien presiona algún botón). También puede ser visto como una ocurrencia
espontánea dictada por naturaleza (por ejemplo una computadora se apaga por
cualquier razón que es complicado de investigar).O también puede ser el resultado
de varias condiciones, las cuales de repente se juntan (como el hecho de que el
nivel de fluido de un tanque exceda del valor definido).
9
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
10
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
En contraste con los SDCV, los Sistemas Dinámicos de Eventos Discretos (SEDD)
o más brevemente, Sistemas de Eventos Discretos (SED), satisfacen las
siguientes dos propiedades:
A continuación se presenta una primera definición informal para los SED basada
en estas dos propiedades.
11
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Por simplicidad, algunas veces resulta más cómodo escribir las secuencias
temporizadas de eventos para representar los SED, una forma de hacerlo es:
e1 , t1 , e2 , t 2 , e3 , t 3 , e4 , t 4 , e5 , t 5 , e6 , t 6 , e6 , t 6 e7 , t 7
12
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
13
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Una de las maneras formales que existen para el estudio de los SED y su
comportamiento lógico se basa en la teoría de lenguajes y autómatas. El punto de
partida es el hecho de que cualquier SED contiene un conjunto de eventos E
asociados con él. Este conjunto es pensado como el “alfabeto” del lenguaje y las
secuencias de eventos son pensadas como “palabras” en este lenguaje.
L1 = {ε, a, abb}
14
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
L3 = Todas las posibles palabras de longitud finita que comiencen con el evento a
Se denotará mediante E ∗ el conjunto de todas las palabras finitas formadas por los
elementos de E, incluyendo la palabra vacía ε; la operación * es llamada Kleene-
Closure o (en español) la operación de cerradura de Kleene. Es importante
observar que el conjunto de E ∗ es contablemente infinito puesto que contiene
palabras de longitud arbitraria. Por ejemplo, si E = a, b, c , entonces:
E ∗ = {ε, a, b, c, aa, ab, ac, ba, bb, bc, ca, cb, cc, aaa, … }
t es llamado prefijo de s
u es llamada sub-palabra de s, y
v es llamado sufijo de s.
15
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Concatenación: si 𝐿𝑎 , 𝐿𝑏 ⊆ 𝐸 ∗ , entonces
𝐿𝑎 𝐿𝑏 ≔ {𝑠 ∈ 𝐸 ∗ : 𝑠 = 𝑠𝑎 𝑠𝑏 𝑎𝑛𝑑 𝑠𝑎 ∈ 𝐿𝑎 𝑎𝑛𝑑 𝑠𝑏 ∈ 𝐿𝑏 }
Esto es, una palabra esta dentro de 𝐿𝑎 𝐿𝑏 si puede ser escrita como la
concatenación de una palabra que está en 𝐿𝑎 con una palabra en 𝐿𝑏 .
16
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
2.3 Autómatas
17
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
18
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
G = (X, E, f, Γ, x0 , Xm )
Donde:
X es el conjunto de estados
x0 es el estado inicial
19
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
ℒm G ≔ {s ∈ ℒ G : f(x0 , s) ∈ Xm }
El lenguaje ℒ(G) representa todas las trayectorias que pueden ser seguidas a lo
largo del diagrama de transición de estados, comenzando con el estado inicial.
20
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Bloqueos
Definición. (Blocking)
Lm (G) ⊂ ℒ(G)
Lm (G) = ℒ(G)
21
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Operaciones unitarias
22
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Formalmente:
Xac = x ∈ X: ∃s ∈ E ∗ f x0 , s = x
Xac ,m = Xm ∩ Xac
La notación fac = f Xac × E → Xac significa que f esta restringida al dominio más
pequeño de estados accesibles Xac .
Formalmente:
Xcoac = x ∈ X: ∃s ∈ E ∗ f x, s ∈ Xm
x0 Si x0 ∈ Xcoac
X0,coac =
Indefinido cualquier otro
La operación CoAc reduce ℒ G , debido a que puede eliminar estados que son
accesibles desde x0 . Sin embargo, la operación CoAc no afecta ℒm G , debido a
que los estados borrados no pueden estar sobre la trayectoria desde x0 a Xm . Si
G = CoAc (G) entonces G se dice que es coaccesible; en este caso G = ℒm (G).
23
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Cabe mencionar que existen otras operaciones unitarias como lo son: proyección,
proyección Inversa, complemento, entre otras, que no se incluyen en este estudio
porque no serán utilizadas en nuestra síntesis de supervisores.
24
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Operaciones de composición
En esta sección se definirán solamente dos operaciones que se realizan sobre los
autómatas, la operación producto. Definida por × y la operación “composición
parallela” definida por ∥.
Donde
ℒ G1 × G2 = ℒ(G1 ) ∩ ℒ(G2 )
ℒm G1 × G2 = ℒm (G1 ) ∩ ℒm (G2 )
25
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
El producto es conmutativo.
El producto es asociativo y se define
G1 × G2 × G3 ≔ G1 × G2 × G3 = G1 × G2 × G3
donde
26
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Propiedades de seguridad
Las propiedades de seguridad son aquellas que tienen que ver con la
alcanzabilidad de ciertos estados indeseables, ya sea desde el estado inicial o de
cualquier otro estado dentro del autómata. La presencia de ciertas palabras o sub-
palabras indeseables en el lenguaje generado por el autómata, son las que se
tratan de evitar para generar un autómata seguro, nótese que esto ocurre
27
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Propiedades de bloqueo
Las propiedades de bloqueo son aquellas propiedades que tienen que ver con la
coaccesibilidad de estados al conjunto de estados marcados. La característica
más común de bloqueo es determinar si:
28
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
G = (X, E, f, Γ, x0 , Xm )
L G = L y Lm G = Lm
E = Ec ∪ Enc
29
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
donde:
Hay varias razones por las que un evento puede ser modelado como un evento no
controlable. Por ejemplo, puede ser alguna falla en el sistema, lo cual es algo que
no se puede prohibir o deshabilitar. De manera similar, existen muchos eventos
que pueden ser modelados como eventos controlables como lo es un botón de
inicio de un proceso, la reparación de una falla, etc.
Asumamos que todos los eventos de E ejecutados por G son observados por el
supervisor S. Por lo tanto en la Figura 2.9, s es la palabra formada por todos los
eventos ejecutados por G y s es totalmente observado por S. Existe otra
configuración de control, como lo es el control con eventos parcialmente
observados pero esa no se tratará en el desarrollo de esta tesis.
S: ℒ G → 2E
30
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
S s ∩ Γ f x0 , s
Enc ∩ Γ f x0 , s ⊆ S(s)
1. ε ∈ ℒ(S/G)
2. [(s ∈ ℒ(S/G)) y (sσ ∈ ℒ G ) y (σ ∈ S s )] ⇔ [(sσ ∈ ℒ S/G )].
31
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
ℒ(S/G) ≠ ℒm (S/G)
ℒ(S/G) = ℒm (S/G)
ℒ(S/G) ⊆ La
32
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
ℒm (S/G) ⊆ Lam
ℒ(Ha ) = La
33
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Estados ilegales
Si una especificación identifica ciertos estados como ilegales, entonces eso basta
para borrar esos estados de G, esto es, eliminar estos estados y todas aquellas
transiciones adjuntas a ellos, entonces se realiza la operación Ac para obtener Ha
tal que ℒ Ha = La . Si la especificación también requiere un comportamiento de
no-bloqueo después de que los estados ilegales han sido removidos, entonces le
realizamos la operación “Trim” en vez de la operación Ac y obtenemos Ha tal que
ℒm Ha = Lma y ℒ Ha = L_ma.
Eventos alternantes
34
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
autómata de dos estados Hesp que capture esta alternancia. Hesp se muestra en
Figura 2.11, su conjunto de eventos es {a, b}. El autómata deseado Ha es entonces
definido como:
Ha ∶= Hesp ∥ G
Teorema de la controlabilidad
35
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
KEnc ∩ ℒ G ⊆ K
Comprobación
S s = Enc ∩ Γ f x0 , s ∪ {σ ∈ Ec : sσ ∈ K}
36
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Definición. (Controlabilidad)
KEnc ∩ M ⊆ K
Realización de supervisores
S s = Enc ∩ Γ f x0 , s ∪ {σ ∈ Ec : sσ ∈ K}
Resulta en
ℒ(S/G) = K
37
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
R ≔ Y, E, g, ΓR , Y0 , Y
Donde R es “trim” y
ℒm R = ℒ R = K
ℒ R ∥ G = ℒ(R) ∩ ℒ(G)
= K ∩ ℒ(G)
= K = ℒ(S/G)
ℒm R ∥ G = ℒm R ∩ ℒm G
= K ∩ Lm G
= ℒ(S/G) ∩ Lm G = Lm S/G
38
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
S s = Enc ∩ Γ f x0 , s ∪ {σ ∈ Ec : sσ ∈ K}
= ΓR g y0 , s
= ΓR∥G g ∥ f y0 , s , s
39
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
K1 ∩ K 2 = (K1 ∩ K 2 )
ℒm (S/G) = ℒ(S/G)
40
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
ℒm (S/G) = K y ℒ(S/G) = K
Controlabilidad: 𝐾 𝐸𝑛𝑐 ∩ ℒ 𝐺 ⊆ 𝐾
ℒ𝑚 𝐺 − 𝑐𝑒𝑟𝑟𝑎𝑑𝑢𝑟𝑎:𝐾 = 𝐾 ∩ ℒ𝑚 𝐺
41
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Asumamos que un SED dado necesita ser controlado para que cumpla ciertas
especificaciones que se encargan de la seguridad del sistema. Consideremos
ahora que dicha especificación de define mediante el lenguaje La (la a se refiere a
admisible), la cual puede ser descompuesta o está dada como la intersección de
dos lenguajes de prefijo cerrado
La = La1 ∩ La2
Smod 12 s ≔ S1 (s) ∩ S2
42
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Esto significa que un evento es habilitado por Smod 12 si y sólo si este es habilitado
por S1 y S2 , en otras palabras, es suficiente con que un solo supervisor deshabilite
un evento, para que éste sea deshabilitado por el supervisor Smod 12 , en esta
arquitectura de control modular. De una manera sencilla se puede verificar que el
comportamiento del sistema en lazo-cerrado se encuentra bajo control si
43
CAPÍTULO 2. Revisión de la literatura José Ernesto Pérez Robles
Por otra parte, el objetivo de [21] es especificar las condiciones y los algoritmos
que permiten la identificación del modelo adecuado en un número finito de
transiciones.
44
CAPÍTULO 3. EJEMPLOS BÁSICOS DE AUTÓMATAS Y CONTROL
SUPERVISORIO MEDIANTE TCT, SUPREMICA Y GRAFCET
(IMPLEMENTACIÓN).
Una vez que se tiene la pantalla mostrada anteriormente, el primer paso será
presionar la tecla enter y en la pantalla que se presentará continuación oprimir la
tecla T para elegir la opción los procedimientos de TCT. Esto se muestra en la
figura 3.3.
46
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
En la figura 3.5 se elige la opción 1 para crear un archivo .DES del autómata, esta
extensión se refiera al un archivo tipo SED.
47
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Nota: es importante leer las notas que proporciona la aplicación TCT en el proceso
en cuestión. Por ejemplo, tomar en cuenta que el estado inicial será el estado “0”.
48
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
49
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Lo que sigue es declarar los estados y las transiciones entre ellos de acuerdo con
la sintaxis que se va solicitando en la aplicación, es un procedimiento sencillo pero
es importante ir leyendo lo que se pide para evitar cometer errores. En caso de
que se cometa algún error, es recomendable apuntar dicho error y seguir
declarando las transiciones del autómata que se desea, y al final regresar al menú
principal para que mediante un menú de edición del autómata, se corrija el error
cometido.
50
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
51
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Una vez que ya se tiene toda la información para crear el autómata de la máquina
dos, se procede a crear éste de la misma manera como se creó el autómata de la
máquina 1. Finalmente queda:
52
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Hasta este momento se han generado los dos autómatas que integrarán la planta
que se requiere controlar, para generar la planta es necesario recordar en qué
cosiste la operación “composición paralela” descrita anteriormente, si se efectúa
esta operación entre los dos autómatas generados, obtendremos la planta
deseada. En TCT a dicha operación se le denomina SYNC que viene de la palabra
sincronización en inglés.
En la figura 3.3 se muestra el menú principal del programa TCT dónde se deberá
elegir la opción 3 (SYNC) para sincronizar los autómatas “MAQUINA1” y
“MAQUINA2” previamente creados. El autómata resultante lleva por nombre
MAQUINA12, como se muestra en la figura 3.16. Para visualizar cualquier SED
creado mediante el TCT se selecciona teclea la opción SE en el menú principal y
el nombre del autómata deseado, en este caso MAQUINA12 se muestra en la
figura 3.17.
53
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
La planta generada hasta este momento representa todas las posibles evoluciones
de estados y eventos que se pueden presentar al juntar las dos máquinas (sin
control). Sin embargo, cuando se desea que la planta se comporte de acuerdo a
ciertas especificaciones dadas, es necesario, agregar un controlador, la manera
de realizar esto se presenta a continuación.
54
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
55
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
56
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
57
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
58
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Hasta este punto es importante notar que las especificaciones no tienen que ser
“literalmente” un subconjunto exacto del autómata de la planta, esto quiere decir
que las especificaciones no son necesariamente un recorte exacto de diagrama de
transición de la planta, si no que tienen una interpretación propia. Por último, es
necesario recordar que de acuerdo a la teoría presentada en el capítulo dos, lo
realizado anteriormente se refiere a un controlador monolítico, sin embargo la
creación de controladores modulares en el TCT es muy parecida a la realizada
hasta ahora, al grado que se vuelve intuitiva, por tal motivo no se presentará en
este texto.
Una planta está formada por dos máquinas independientes “M1” y M2” las cuales
son cargadas y descargadas por un “Robot”, los autómatas que modelan estas
máquinas y el robot se presentan en la figura. 3.26
59
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
60
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
61
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
62
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
63
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
64
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
65
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
66
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
67
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
En GRAFCET, una etapa está definida por su estado interno y el estado de sus
salidas. Es decir, en cada etapa del GRAFCET se pueden ejecutar o detener
acciones (salidas), o cuestiones internas como memorias, temporizadores, entre
otros. Las condiciones o eventos representan la información que define el
comportamiento del controlador lógico. Es decir, los eventos son la condición
necesaria que se deberá cumplir para que el GRAFCET evolucione de una etapa
a otra. El estado de un SED siempre puede ser definido por valores booleanos, es
decir los eventos continuos pueden ser discretizados usando variables discretas.
68
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Elementos de programación
Para el caso de estudio de esta tesis con los elementos mostrados en la tabla 5
bastará para la implementación de la solución presentada, como se podrá
observar estos elementos de programación generan diagramas muy similares a
los generados anteriormente en la modelación de nuestros autómatas, por lo tanto
gráficamente también los modelos tendrán un parecido con los programas
implementados y eso servirá como herramienta de validación en la
implementación.
69
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
70
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Implementación de los modelos de autómatas en un PLC
Como se mencionó al inicio de este trabajo, uno de los objetivos de esta tesis es
disminuir la distancia que hay entre la academia y la industria, y para lograr esto
se presentará de manera detallada como es el paso de la modelación de nuestros
autómatas a un programa en GRAFCET.
Una vez que ya hemos visto como se modelan los autómatas, sus fundamentos
teóricos y que elementos forman parte de la programación en GRAFCET, se
procederá a realizar un ejemplo básico de implementación para lograr una
completa transparencia desde la modelación hasta la implementación.
Consideremos en primer lugar dos pistones neumáticos de los cuales nos interesa
modelar sus estados de “ocio” y “trabajo”. Además, nos interesa que mediante un
programa de control estos pistones trabajen alternadamente, es decir primero el
primer pistón (máquina 1) y después el segundo pistón (máquina dos) y así
sucesivamente.
71
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Los modelos de las máquinas presentados en la figura 3.34 son los que se deben
implementar en el PLC una vez probado el sistema media Supremica. La primera
prueba que se hace es sincronizar estos autómatas para ver cuáles son las
posibles combinaciones de estados que existen y ver si alguna cumple con los
requerimientos solicitados. En la figura 3.35 se muestra la sincronización de los
autómatas M1 y M2.
Figura 3. 35 Todos los posibles estados que genera la planta sin control.
72
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Como se puede apreciar un la figura 3.35, existes “caminos” o palabras que se
pueden ejecutar que violan lo que se había solicitado anteriormente. Es decir, la
planta sin control permite que cualquiera de los cilindros trabaje en el orden que
sea y pueden trabajar en forma consecutiva. Por lo tanto, la especificación que se
va a modelar para probarla en el modelo y después implementarla en el PLC es la
que se presenta en la figura 3.36, es decir debe trabajar primero la máquina uno y
estas se deben de ir alternando.
73
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
En la figura 3,37 se puede observar la planta bajo la acción del supervisor, la cual
cumple con las especificaciones establecidas. Al ser el autómata de la figura 3.37
relativamente pequeño, el correcto funcionamiento del sistema se puede verificar
de manera manual al seguir las diferentes trayectorias del grafo, aunque también
se pueden usar las herramientas de Supremica para verificar la controlabilidad del
sistema.
74
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
Hablemos ahora de los eventos en los autómatas de la figura 3.38. Los eventos
“Start1” y “Start2” son representados por el botón de arranque de cada cilindro (en
este ejercicio por simplicidad se usa un solo botón y dejará accionado para el
trabajo de las máquinas en automático) y el sensor que indica que cada uno de
ellos está en reposo antes de iniciar su trabajo. Como se puede observar al ser un
botón éstos eventos son controlables, sin embargo los siguientes eventos no los
son, debido a que simplemente son sensores de inicio y fin de carrera de cada
cilindro sobre los cuales no se tienen ningún control. En el caso de la figura 3.33
los sensores s1 y s3 que indican que el cilindro uno y el cilindro dos han llegado su
posición de reposo, respectivamente. Por lo tanto, estos sensores representan los
eventos !End1 y !End2 respectivamente.
75
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
76
CAPÍTULO 3 Ejemplos básicos de autómatas y control supervisorio José Ernesto Pérez Robles
77
CAPÍTULO 4. SÍNTESIS DE SUPERVISORES Y SU IMPLEMENTACIÓN
Ahora bien, existen ejemplos resueltos como los presentados en los primeros
capítulos y otros más cuyo buen funcionamiento se ha reportado en artículos de
distintos autores: [5], [9], [6], [4], [18], [10], [11], [19], [20], [21] y [22], entre otros.
En esos ejemplos se puede observar que el uso de la teoría de control
supervisorio mejoró ampliamente el desempeño de varios sistemas. Sin embargo,
una de las principales desventajas que se presentan en la teoría de SED, en
cuanto a la complejidad se refiere, es precisamente que los autómatas generados
crecen exponencialmente con el incremento de estados y transiciones en los
autómatas modelados. Debido a que muchas veces los autómatas modelados
necesitan ser un poco elaborados y no verse tan limitados en el uso de estados y
eventos, algunos autores han propuesto el uso de supervisores modulares y
modulares locales en [4], [25], [24], [11] y [33] como métodos que ayudan a
disminuir la complejidad de los mismos. Por otro lado, cuando se requiere el uso
de contadores o memorias, los autómatas crecen inevitablemente, por ejemplo en
los casos donde se trabaja con buffers de capacidad uno, y solo se modelan
estados de vacío y ocupado, se vuelve un autómata muy simple de dos estados,
pero conforme aumenta la capacidad del buffer y se precisa el conocimiento total
del mismo, los autómatas aumentan estados, es decir, un autómata con capacidad
dos aumentará a tres estados, uno de capacidad tres, aumentará a cuatro
estados, y así sucesivamente, lo mismo ocurre con el uso de memorias. Esto
provoca, que los grafos resultantes sean intratables en la mayoría de los casos.
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Lo complejo del sistema es que todas las máquinas trabajan en paralelo y en que
en caso de que una falle el sistema deberá funcionar con las máquinas que
quedan trabajando, (aunque fallen varias máquinas, el sistema deberá funcionar si
al menos una máquina está trabajando). Todo este sistema ya se encuentra
funcionando y lo hace en la mayoría de los casos correctamente, sin embargo el
hecho es que lo ideal sería que cada robot atendiera a cada máquina en el orden
en que éstas están listas, para evitar problemas. Hasta el momento sólo se les da
un orden de atención prioritario.
79
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Ejemplo: (se habla de un robot debido a que es el mismo caso para los tres
robots)
80
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Los estados de cada autómata son: Ii, Wi, Di y Ri de i=1,2. Donde cada uno de
esos estados representa el estado de reposo (IDLE), el estado de trabajo
(WORKING), el estado de falla (DOWN) y el estado en el cuál la máquina esta
lista (READY), en este último estado la máquina ya terminó su proceso y esta lista
para ser atendida por el robot y comenzar de nuevo su ciclo.
81
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Los eventos controlables del sistema son: (la negrita solo es para diferenciar las i
de la numeración con la i de la palabra “repair”).
Starti, endi y Repairi de i=1,2. Donde el significado de los eventos es: comienza a
trabajar la máquinai, termina la máquinai (incluyendo la operación del robot) y se
repara la falla de la máquinai, El evento endi aparece como controlable ya que no
es posible que ocurra otro endi antes de terminar la acción actual.
breaki, Readyi i=1,2. Donde el significado de los eventos es: ocurre la falla de la
máquinai y por último esta máquina está lista para que el robot la haga su trabajo
en ella.
En la figura 4.1 se puede observar cómo se modeló cada máquina del sistema.
Cabe mencionar que al modelar las máquinas de esta manera, se está haciendo
uso de la teoría de supervisores en sus modalidades “local y modular” [4], esto es
porque realmente cada máquina posee varios READY. Es decir, esta lista la para
operación de cada uno de los robots, sin embargo a cada robot, el cual tendrá su
propio supervisor (haciendo uso de la propiedad de modularidad), solo le interesa
su propio evento READY, por lo tanto, solamente ve la parte que le interesa de la
totalidad de la planta a controlar (aplicando aquí la teoría de supervisores
modulares locales [4]). Resultando en autómatas más simples y fáciles de
entender e implementar.
82
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Una vez que se tienen los autómatas de las plantas, se definirá la especificación
del robot la cuál es, en palabras:
83
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
84
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
85
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Para validar que el sistema sea controlable, que no exista bloqueo y que se esté
trabajando de manera completa con el lenguaje del mismo, se hace uso de las
herramientas de Supremica que lo verifican y los resultados se presentan en las
figuras 4.5, 4.6 y 4.7.
Figura 4. 7 Validación de la total inclusión del lenguaje del sistema mediante Supremica.
86
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
87
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Caso 1:
Por lo tanto ejemplo de strings válidos son: (las flechas se añaden para separar
claramente los eventos.)
Caso 2:
Probará que aunque las tres máquinas terminen en diferente orden y estén
esperando ser atendidas las tres, el supervisor indicará el orden correcto.
Orden normal 1, 2, 3:
En desorden:
88
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Caso 3
En estos casos las máquinas arrancan en un orden y se alistan para ser atendidas
en otro. Y el robot las atenderá conforme estén listas, NO conforme al orden de
arranque.
Caso 4
Caso 5
Aquí se presentará un ejemplo de caso cíclico, es decir cuando son atendidas las
máquinas y vuelven a arrancar y estar de nuevo listas para ser atendidas.
89
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Implementación
90
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
91
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
De manera didáctica, cada uno de los pistones de doble efecto simulará una
máquina, cuando éste esté extendido significará que la máquina está trabajando,
para simular el tiempo de proceso de cada máquina se implementará un
temporizador para cada una, de manera que al llegar al tiempo deseado indicará
que la máquina ha terminado su proceso y está lista para ser descargada. En
cuanto al robot se refiere, éste se simulará mediante el pistón de simple efecto.
Además mediante las luces indicadoras: verde, amarilla y roja se dará a conocer la
máquina a la que el robot está atendiendo, en este caso se encenderá la luz
verde, amarilla o roja si se está atendiendo la primera, segunda o tercera máquina,
respectivamente. También se simulará el botonazo de arranque de cada máquina,
el cual es dado por el operario, esto mediante el botón pulsador verde, el switch
selector B y el switch selector C, localizados debajo el PLC de la estación, de tal
manera que éstos serán el arranque de la primera, segunda y tercera máquina
respectivamente. De manera adicional se simulará falla en cada una de las
máquinas de la misma forma como se simularon los arranques pero con los
botones da la parte central de la estación, es decir, el botón pulsador verde, el
selector B y el selector C representarán las fallas en cada una de las máquinas en
el orden dado anteriormente, cabe mencionar que esta falla estará presente
mientras el botón o los selectores estén activos, al deshabilitar éstos significará
que se reparó la falla, es decir, ocurrió un evento de reparación. Las fallas del
robot no se simulan debido a que en el sistema real cualquier falla, en cualquiera
de los tres robots, provoca el paro total del sistema para su reparación.
92
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Entradas Salidas
I1.0 Paro de emergencia Q2.0
I1.1 Cilindro 1 en reposo Q2.1 Avanza cilindro 1
I1.2 Cilindro 1 extendido Q2.2 Retrocede cilindro 2
I1.3 Cilindro 2 en reposo Q2.3 Avanza cilindro 2
I1.4 Cilindro 2 extendido Q2.4 Retrocede cilindro 2
I1.5 Cilindro 3 en reposo Q2.5 Avanza cilindro 3
I1.6 Cilindro 3 en extendido Q2.6 Retrocede cilindro 3
I1.7 Cilindro 4 en reposo Q2.7 Avanza cilindro 4
I1.8 Cilindro 4 extendido
I1.9 Falla cilindro 1 Q2.9 Atendiendo cilindro 1
I1.10 Falla cilindro 2 Q2.10 Atendiendo cilindro 2
I1.11 Falla cilindro 3 Q2.11 Atendiendo cilindro 3
I1.12 Arranca cilindro 1
I1.13 Arranca cilindro 2
I1.14 Arranca cilindro 3
93
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
94
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
También en esta etapa nos aseguramos de que al ocurrir algún arranque en frio,
en caliente o algún paro se apaguen las memorias que se ocupan en el programa,
dándole con esto un grado mayor de robustez y seguridad al sistema. Cabe
mencionar que las memorias que se usan guardan el valor de un bit.
95
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Como se puede observar al comparar las figuras 4.4 y 4.15, estas son muy
similares y eso es un buen indicador, ya que es prueba de la transparencia que
debe de haber entre la modelación y la implementación. En esta implementación
fue posible representar los autómatas en forma casi idéntica debido a la
simplicidad del problema. Es decir, las acciones de los estados consisten solo el
extender o retraer un cilindro, sin embargo hablando del problema industrial se
podrían usar macro etapas para representar los autómatas de una forma similar.
Otra opción es que los grafcet de las máquinas funcionen como observadores de
los diagramas de escalera ya implementados en la industria y que estos
interactúen con el supervisor para lograr el control de todo el sistema.
96
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
97
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
98
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
En la figura 4.20 se muestra la acción del robot al atender la máquina uno, en este
caso es representada por la memoria M1 y un indicador de luz, en este caso la luz
verde. Para la atención de las demás máquinas se hará lo mismo, obviamente
cada una con una memoria luz indicadora propia. Al final de esta sección posterior
se le asigna la acción de extender el cilindro que representa al robot para indicar
que éste está trabajando.
99
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
En esta sección se aplicará la TCS sobre los SED que modelen el comportamiento
de cada uno de los componentes del sistema. El sistema, en este caso, se refiere
al conjunto de elementos que forman parte del rompecabezas, puntualmente: la
mamá, el papá, los dos hijos, las dos hijas, el ladrón, el policía y la balsa. Se
modelaran también las especificaciones que representen las restricciones del
rompecabezas para sintetizar los primeros supervisores, los cuales nos llevaran a
establecer una especificación óptima final, que nos muestre todas las opciones
para que todos los elementos pasen el río en el menor tiempo posible. A
continuación se presenta formalmente el enunciado de ésta famosa prueba de
inteligencia.
100
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
101
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
102
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Para el caso de los dos hijos, y las dos hijas, los autómatas son muy similares,
debido a que son básicamente los mismos grafos pero con eventos propios de
cada personaje, por lo cual se mostrará solo uno de ellos de manera gráfica. Con
el alfabeto mostrado en la tabla 5 será más fácil su compresión.
103
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
En la figura 4.22 se muestra el modelo del autómata del hijo uno, como se podrá
observar, son solamente dos estados, los cuales representan que el hijo uno se
encuentra del lado izquierdo o del lado derecho del río, y esto es válido para todos
los autómatas de los personajes.
Para el caso de los autómatas del padre, la madre y del policía, de nuevo tenemos
autómatas semejantes. Simplemente que cada uno posee los eventos propios del
personaje, es decir, eventos similares pero que precisan la presencia del
personaje en cuestión. Estos son semejantes debido a que son los únicos, que
según las especificaciones del problema, pueden manejar la balsa para cruzar el
río. En la figura 4.23 se muestra el autómata que representa al padre.
104
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Para terminar con los autómatas de los personajes se presentará el autómata del
ladrón que es relativamente diferente a los demás. Éste se muestra en la figura
4.24. Hasta este punto hemos definido casi todos los autómatas que al
sincronizarse formarán nuestra planta, solo queda por definir el autómata que
representará la balsa el cual es importante para que funcione bien el sistema.
105
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
106
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Figura 4. 26 Especificación 1
Figura 4. 27 Especificación 2.
Figura 4. 28 Especificación 3.
Por otra parte, para la síntesis del supervisor monolítico, se verifica que no exista
conflicto entre las especificaciones y como en este caso no lo hay debido a que ni
siquiera se repiten los alfabetos de las especificaciones entre sí. Debido a la
simplicidad de la especificación monolítica que resultaría, se usará un supervisor
monolítico. Aun así se presentaran resultados de los supervisores modulares.
107
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Síntesis de supervisores
Supervisores Modulares
Especificación 𝑸 𝜮 →
Especificación 1 256 62 1648
Especificación 2 256 62 1648
Especificación 3 226 62 1244
108
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Donde:
Q : número de estados.
Σ : alfabeto.
→ : número de transiciones.
De nuevo es válido comentar que anexo a esta tesis se encuentran los archivos de
Supremica implementados para la solución de este problema, para que el lector
comprenda de una mejor manera lo dicho hasta este momento. El archivo lleva
por nombre cruzar el rio.wmod
Supervisor Monolítico
109
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
Para la obtención del supervisor óptimo que nos defina la ruta más corta para
llegar del estado inicial al estado marcado, se utilizó la herramienta de Supremica
110
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
En la figura 4.31 se puede observar que hay dos ramificaciones principales, una
donde primero se cruza a los hijos al otro lado, y otra donde se cruzan a las hijas
primero. A su vez, en cada ramificación, existen algunas transiciones que poseen
dos eventos, ya que puede pasarse a cualquiera de los/las hijos(as) en cualquier
orden, esto comprueba la simetría del problema e indica el correcto diseño de la
especificación.
111
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
112
CHAPTER 4.SÍntesis de supervisores y su implementación José Ernesto Pérez Robles
113
CAPÍTULO 5. CONCLUSIONES Y TRABAJOS FUTUROS
Otro resultado importante que se obtuvo fue el uso intrínseco de la teoría de colas,
donde se iban moviendo los eventos en forma de una red de memorias para no
perder el orden en que las máquinas deben de ser atendidas. También es
importante notar la robustez del supervisor en el hecho de que si todas las
máquinas se le juntan a un robot para ser atendidas, no importando el orden en
que éstas se hayan presentado, el robot siempre sabrá el orden que debe seguir.
Además, bajo las condiciones de pruebas aquí realizadas, este tipo de modelación
del sistema mostró una tolerancia a las fallas en las máquinas. Por lo tanto, el
sistema podría seguir trabajando a pesar de que las máquinas fallen, siempre y
cuando al menos una máquina este funcionando.
CHAPTER 5.Conclusiones y trabajos futuros José Ernesto Pérez Robles
Otro resultado importante fue que se obtuvo un modelo viable de solución para
lograr una mejora los procesos industriales. Es decir, no se necesita implementar
un nuevo hardware para la solución propuesta, los cambios en los programas que
se tendrían que hacer son relativamente simples debido a que si ya se tienen los
programas en diagrama de escalera los autómatas aquí generados podrían
funcionar como meros observadores, con la única finalidad de lograr el buen
desempeño del supervisor y por último este cambio se puede diseñar y realizar
fuera de línea y solo parar el proceso para cargar los nuevos programas. Con esto
se cumple hasta cierto punto el objetivo planteado inicialmente de ir disminuyendo
el espacio tan grande que existe entre la academia y la industria.
Desde mi punto de vista fue muy divertido trabajar en mi tesis con este tipo de
problemas ya que es uno de los pasatiempos que más disfruto. Creo también, que
es posible, con estos acertijos amenos, llamar la atención a jóvenes y amantes de
los rompecabezas a involucrarse en el camino de la ciencia.
115
CHAPTER 5.Conclusiones y trabajos futuros José Ernesto Pérez Robles
116
Bibliografía
1. Efficient Analysis of Large Discrete-Event Systems with Binary Decision Diagrams. Arash Vahidi,
Bengt Lennartson, Martin Fabian. Seville, Spain : IEEE, 2005. Proceedings of the 44th IEEE
Conference on Decision and Control, and the European Control Conference.
3. W.M., Wonham. Supervisory Control Of Discrete Event Systems. Toronto : s.n., 2008.
5. Steering of Discrete Event Systems: Control Theory Approach. Arvind Easwaran, Sampath
Kannan, Oleg Sokolsky. Philadelphia, USA : Elsevier B.V., 2006. Electronic NotesIn Theoretical
ComputerScience.
6. Synthesis and Implementation of a Local Modular Supervisory Control for a Manufacturing Cell.
Cury, Max H. Queiroz and J.E.R.
7. Supervisory control of modular systems with global specification languages. J. Komendaa, J.H.
van Schuppen, B. Gaudin, H. Marchand. s.l. : Elsevier Ltd., 2008. Automatica.
9. The Control of Discrete Event Systems. Ramadge, P y Wonham, W. 1989, Proceedings of the
IEEE, Vol. 77, No. 1.
13. Supervisor Control of a Flexible Manufacturing System Used in Spinning Mills. Dan Ungureanu-
Anghel, Dan Lucian Mihaescu. 2004.
15. Control of discrete-event systems with modular or distributed structure. Jan Komendaa, Jan H.
van Schuppen. s.l. : Elsevier B.V., 2007. Theoretical Computer Science.
16. Dealing with Blocking in Supervisory Control. Lafortune, Enke Chen and Stéphane. Tampa,
Florida : s.n., Diciembre, 1989.
17. Robust and adaptive supervisory control of discrete event systems. Lin, F. s.l. : IEEE, 1993.
Bibliografía José Ernesto Pérez Robles
18. Model uncertainty in discrete event systems. Garg, S. Young and V. K. 1995.
20. Supervisory control of nondeterministic systems with driven events via prioritized
synchronization and trajectory models. Kumar, M. A. Shayman and R. 1995.
22. Robust and Nonblocking Supervisor for Discrete-Event Systems with Model Uncertainty under
Partial Observation. Seong-Jin Park, Jong-Tae Lim. 2000. IEEE TRANSACTIONS ON AUTOMATIC
CONTROL.
24. Control Supervisorio Modular Y Multitarea De Sistemas Compuestos. Queiroz, Max Hering de.
Florianópolis : s.n., 2004.
25. TCT: A Computation Tool for Supervisory Control Synthesis. Lei Feng, W.M. Wonham.
Michigan, USA : s.n., 2006. Proceedings of the 8th International.
26. Supremica in a Nutshell – Draft. Knut Akesson, Martin Fabian, Hugo Flordal. 2007.
27. Supremica – A Tool for Verification and Synthesis of Discrete Event Supervisors. Knut A kesson,
Martin Fabian, Hugo Flordal, Arash Vahidi. Chalmers : s.n.
28. Structured Design of Reconfigurable Logic Control Functions through Sequential Functional
Charts. E. Carpanzano, A. Cataldo, D. Tilbury. s.l. : IEEE, 2004.
29. Synchronised Execution of Discrete Event Models Using Sequential Function Charts. Anders
Hellgren, Martin Fabian, Bengt Lennartson. 2000.
30. On the Execution of Sequential Function Charts. Anders Hellgren, Martin Fabian, Bengt
Lennartson. 2002.
31. Modular Implementation of Discrete Event Systems as Sequential Function Charts Applied to an
Assembly Cell. Anders Hellgren, Martin Fabian, Bengt Lennartson. 2001.
32. Incremental System Verification and Synthesis of Minimally Restrictive Behaviours. B. Brandin
and R. Malik, P. Dietrich. s.l. : AACC, 2000. Proceedings of the American Control Conference.
33. Modeling, Simulation and Control of Flexible Manufacturing Systems a Petri Nets Approach.
Meng Chu Zhou, Kurapati Venkatesh. 1999.
118
Bibliografía José Ernesto Pérez Robles
36. Implementarion Of Local Modular Supervisory Control For A Pneumatic System Using PLC.
Tolga Hasdemir, Salman Kurtulan, Leyla Gören. 2004.
37. MODULAR CONTROL OF COMPOSED SYSTEMS. Max H. de Queiroz, Jose E. R. Cury. Chicago,
Illinois : AACC, 2000. Proceedings of the American Control Conference.
41. Hierarchical Interface-Based Supervisory Control—Part I: Serial Case. Ryan J. Leduc, Bertil A.
Brandin, Mark Lawford, W. M. Wonham. s.l. : IEEE, 2005. TRANSACTIONS ON AUTOMATIC
CONTROL.
42. Modeling of Discrete Event Systems using Finite Automata With Variables. Markus Sköldstam,
Knut Akesson, Martin Fabian. New Orleans, LA, USA : IEEE, 2007. Proceedings of the 46th IEEE
Conference on Decision and Control.
43. Implementing supervisory control maps with PLC. Mohammad Moniruzzaman, Peyman
Gohari. New York City, USA : IEEE, 2007. Proceedings of the 2007 American Control Conference.
119
Anexos José Ernesto Pérez Robles
ANEXOS
120
Anexos José Ernesto Pérez Robles
121
Anexos José Ernesto Pérez Robles
122
Anexos José Ernesto Pérez Robles
Una vez que se ha creado el autómata independientemente del tipo que sea, es
decir planta, especificación, etc. Se procede a crear los nodos o estados del
mismo con la herramienta que se muestra señalada en la ilustración 6, cabe
mencionar que en caso de querer generar más de un estado por vez se puede
usar el icono que se encuentra inmediatamente a la derecha del mostrado.
123
Anexos José Ernesto Pérez Robles
Una vez que se tienen los estados en la cuadrícula, hace falta unir estos estados
mediante la declaración de eventos, para esto se selecciona la herramienta que se
muestra en la ilustración 8, se da un click izquierdo sobre el estado de salida del
evento y se mantiene oprimido mientras se arrastra el ratón hasta llegar al estado
de llegada del evento. Si se desea curvear las flechas basta con dar un click
izquierdo sobre la flecha que se desee y arrastrar la flecha hasta que quede de la
forma deseada.
124
Anexos José Ernesto Pérez Robles
Una vez creadas las flechas es necesario relacionarlas con eventos, para esto con
la misma herramienta que se muestra en la ilustración 8, se coloca sobre la flecha
deseada y se le da un click derecho para elegir la opción de crear un nuevo
evento, esto se muestra la ilustración 9.
125
Anexos José Ernesto Pérez Robles
Ilustración 11. Pantalla principal dentro de la opción de componentes del menú editor.
126
Anexos José Ernesto Pérez Robles
Una vez que se lleva acabo alguna de las operaciones mencionadas se muestra el
autómata resultante y en la parte de debajo de la pantalla alguna información
relevante de la operación, un ejemplo de sincronización se muestra en la siguiente
ilustración.
127
Anexos José Ernesto Pérez Robles
Cabe mencionar que existen algunos otros menús dentro de Supremica que son
fáciles de entender una vez que se ha seguido este manual y se tiene
conocimiento de la teoría se sistemas de eventos discretos. Debido a que se
extendería mucho este manual si se documentaran todos los menús y sus
submenús, y a la facilidad con la que los presenta Supremica, no se incluirán
todas las opciones de Supremica en este manual.
“Éxito”
128
Anexos José Ernesto Pérez Robles
Ubicación del
archivo a convertir
Nota 1: en caso de que haya un error el mismo programa le indicará qué está mal.
Una vez que se haya realizado la conversión del archivo de la extensión .DES a la
extensión .do, entonces se procede a convertir dicho archivo a la extensión .jpeg
para lo cual es necesario usar el programa, GRAPHVIZ, a continuación se dará la
descripción breve de cómo realizar la operación de conversión.
129
Anexos José Ernesto Pérez Robles
Una vez que hubo iniciado el programa Graphviz seleccionar la opción Fileopen
y abrir el archivo “.do” generado mediante tct2any.
130
Anexos José Ernesto Pérez Robles
131
Anexos José Ernesto Pérez Robles
Seleccionar la opción de run, que se puede hacer dando click en el dibujo de una
silueta humana corriendo, el cual está señalado con la flecha en la figura anterior.
Ilustración 18 Configuraciones.
Y al darle ok.
132
Anexos José Ernesto Pérez Robles
LISTA DE ENTREGABLES
Documento de Tesis
Instalador del TCT.
Instalador del Graphviz
Manual básico de Supremica.
Ejecutable del TCT2ANY
Manual básico del TCT.
Manual básico del Graphiz.
Programa en Grafcet para el PLC.
Video del funcionamiento del programa en el PLC.
Video de la solución del rompecabezas.
Archivo en Supremica del modelo del problema industrial.
Archivo en Supremica del modelo del rompecabezas.
133