Beruflich Dokumente
Kultur Dokumente
LÓGICOS PROGRAMABLES
Profesor Asociado
SEDE MEDELLÍN
FACULTAD DE MINAS
2007
AGRADECIMIENTOS
Este texto es el resultado del trabajo docente e investigativo de los últimos seis años.
Muchos de mis estudiantes han realizado contribuciones importantes. Resalto el primer
trabajo de grado realizado sobre el tema por parte de Medina & González, quienes
posteriormente me acompañaron en algunos proyectos de investigación relacionados.
También destaco las contribuciones de Omar Roa, Luis F, Rubén Vásquez, Esteban
Rodas, Felipe Betancur, Alfonso López, Andrea Angel, así como el aporte de los
estudiantes de los cursos de Automatización.
Este esfuerzo lo dedico a las dos personas que me desvelan por el inmenso amor que
me manifiestan y que son el aliciente para el trabajo que hago a diario para construir un
futuro para ellos: Juan José y Eliana.
INTRODUCCIÓN.........................................................................................................1
CAPITULO 1. ..............................................................................................................4
CAPITULO 2. ............................................................................................................12
1.1 N-Tupla..................................................................................................................12
2.10.2 Bifurcación………………….……………………………………………..….50
2.10.8 Colas…………………….….……………………………………………..…..54
2.13 Ejercicios……………………..……………….……………………………..…..82
EJEMPLOS ………………....…………………………………………………..….117
Pág.
Tabla 3. Funciones…………………………………………………..…………....215
Pág.
……………..………………………………………………………………………..…23
Figura 25. Marcaje de una red obtenido por el disparo de una transición
sensibilizada……………………………….………..………………………………….33
estado……………………………..………………………....…………………………38
estado…………………………………………………………………………………..63
Figura 50. Modelamiento de las condiciones para producir y depositar objeto en el
almacén...........................................................................................................................64
almacén………………………………………………………………….………...……64
Figura 69.………………………………………………….…………………………..82
Figura 70........................................................................................................................83
Figura 80.......................................................................................................................100
Figura 81.……..……………………………………………………….………...……100
impulso……………………………………………………………………………..…180
contactos……………………………………………………………………………....184
PN…………………………………………………………………………………….203
ciclo……………..…….218
botellas……………………….……234
241
INTRODUCCION
Aunque la programación industrial de PLCs ha sido una disciplina muy intuitiva a lo largo
del tiempo, ella será cada vez más y más soportada por métodos formales.
El texto que se presenta pretende dar las directrices para formalizar el diseño de sistemas de
control para sistemas industriales secuenciales, mediante el uso de un formalismo
matemático y la implementación con lenguajes de programación normalizados.
2
El segundo capítulo aborda los conceptos y definiciones matemáticas que serán utilizadas
durante el desarrollo de la metodología.
3
CAPITULO 1
4
• La demanda de soluciones de alta calidad.
• La aplicación de PLC’s en procesos con seguridad crítica que hace necesaria la
aplicación de procesos de validación y verificación.
• La necesidad de probar las propiedades dinámicas de los programas como ausencia de
bloqueos, estabilidad, ambigüedad o tiempos de respuesta.
En Litz y Frey (Litz y Frey, 1998: 274-277) y Zhou y Twiss (Zhou y Twiss, 1998: 137-150)
también se referencian los problemas de la no aplicación de métodos formales, entre las que
se mencionan:
El presente trabajo está orientado hacia el diseño de sistemas de control para sistemas
dinámicos a eventos discretos (DES). Por ello, es de importancia definir un marco de
referencia de este tipo de sistemas.
Definición 1
Los sistemas a eventos discretos son sistemas que dependen de variables que cambian sólo
en un número finito (contable) de puntos en el tiempo (Discreto) y cuyas variables cambian
continuamente con respecto al tiempo (Dinámica). La evolución del estado depende de la
ocurrencia de eventos asincrónicos.
5
sistema se puede describir mediante su estado “high” o “low” aunque posea un
comportamiento continuo en el tiempo, y que su dinámica discreta depende de la ocurrencia
de eventos tales como x1 y x2.
x2
x1
high
low
6
En Nakamura, Fujii y Sekiguchi (Nakamura, Fujii y Sekiguchi,1999) se presenta la
integración de todas las fases de diseño de un controlador lógico programable para un DES.
Las principales etapas de diseño e implementación presentadas allí son:
a) Modelamiento de DES.
b) Captura (modelamiento) del comportamiento requerido o especificación del DES.
c) Diseño de un controlador para el DES.
d) Traducción e implementación del controlador dentro de un PLC.
• Redes de Petri.
• Grafcet
• Statecharts.
• Grafos de eventos.
• Máquinas de estados finitos
• Algebra.
Las PN fueron inventadas por el alemán Karl Adam Petri en 1962. En su tesis doctoral
"kommunikation mit automaten" (Comunicación con autómatas), establece los
fundamentos para el desarrollo teórico de los conceptos básicos de las PN.
Las PN tienen una base matemática y una representación gráfica que asocia los estados del
sistema discreto y los eventos con los elementos estructurales de las mismas, que se
denominan lugares, transiciones y arcos. La dinámica del sistema es representada mediante
la evolución de un marcaje.
Como se menciona en Litz y Frey (Litz y Frey, 1998a: 274-277), Litz y Frey (Litz y
Frey,1998b), Feldman, Colombo, Schnur y Stöckel (Feldman, Colombo, Schnur y Stöckel
1999: 651- 655), Park, Tilbury y Khargonekar (Park, Tilbury y Khargonekar, 1999), Frey
(Frey,1998a) y Schettler y Frey (Schettler y Frey, 1998) la modelación con herramientas
matemáticas, como las PN, además de formalizar el diseño y la especificación de los
objetivos de control, ha permitido la aplicación de métodos, también formales, para el
análisis del desempeño de los controladores. Para el caso de un automatismo secuencial, el
controlador debe cumplir con unas propiedades que garantizan la robustez de su
comportamiento: limitación (acotamiento), vivacidad (ausencia de bloqueos),
alcanzabilidad, seguridad y reversibilidad. Una vez especificado un controlador, diseñado y
analizado mediante el formalismo empleado, la validación dinámica del diseño se puede
realizar vía simulación, a través de la cual se pretende que el método de diseño plantee unas
directrices para la conversión del modelo al lenguaje de programación del PLC. Los
esfuerzos de la comunidad investigativa están orientados a la generación automática de
código de PLC a partir de los modelos en PN.
En Desrochers (Desrochers, 1995) y Zhou (Zhou, 1996) Se destaca que las PN tienen gran
potencial para modelar sistemas secuenciales, asíncronos, de eventos concurrentes muy
comunes en los procesos industriales, de ahí que sean utilizados para controlar dichos
procesos. En Zhou y Twiss (Zhou y Twiss, 1998: 137-150) Zhou presenta una bibliografía
muy completa sobre métodos de diseño y demostraciones de laboratorio, así como
herramientas computacionales para aplicación industrial que facilitan el diseño asistido
(CAD). Ese trabajo muestra una estrategia de control que usa un modelo en PN que
captura las dinámicas de eventos discretos del proceso controlado, lo que resulta en un
diseño fácil de entender, reparar, modificar y evaluar.
En la actualidad se han generado una gran variedad de extensiones de las PN, con el
objetivo de una especificación más acorde del proceso que se desea modelar y dependiendo
de las necesidades del diseñador y de la complejidad del sistema a modelar y controlar.
8
Figura 3. Extensiones de PN
9
Figura 4. Modelo de un DES con PN
10
En Antoniadis y Leupoulos (Antoniadis y Leupoulos, 1999) con objeto de proceder a un
diseño más sistemático de aplicaciones de automatización, y debido a los problemas
resultantes por la complejidad del proceso y los procesos inadecuados de verificación, se
proponen las PN para describir el comportamiento físico del DES que se va a automatizar.
• Un formalismo matemático, con una sintaxis y una semántica bien definidas para
expresar la parte estructural del modelo y el comportamiento dinámico sin
ambigüedades. Debe tener la capacidad de representar las especificidades de un PLC y
las nuevas características de software y hardware disponibles. Debe ser tan flexible que
facilite la integración de nuevas funciones, acordes con los desarrollos tecnológicos. El
formalismo, además, debe servir como plataforma para la especificación formal del
controlador.
• Una herramienta formal para realizar el análisis estático del modelo, mediante
validación de propiedades.
• Una plataforma de simulación para efectuar la validación dinámica del modelo.
• Un método para generar automáticamente el código de programación del controlador
lógico.
11
CAPITULO 2
1. Conceptos Preliminares
1.1 N-Tupla
Definición 2
〈a1,…..,an〉 = 〈b1,…..,bm〉 m = n ∧ a1 = b1,…..,an = bm
 Nombre de tuplas
Se abordan inicialmente las definiciones de las PN autónomas, que son aquellas cuya
evolución depende de condicionalismos resultantes de su estructura y marcaje, y son la
base de donde se desprenden las demás extensiones, por ejemplo, las redes de Petri
interpretadas y las redes de Petri coloreadas.
12
Definición 3.
R = 〈P,T,Amxn,Bmxn〉
Donde:
P = {p1, p2, p3, …, pm} , ⎟⎜P⎟⎜= m, P ≠ φ
T = {t1, t2, t3, …, tn} , ⎟⎜T⎟⎜= n, T ≠ φ
a(pi , tj) ∈ N, con i=1,2,3,…,m y j=1,2,3,…,n.
A : PxT N
b(pi , tj) ∈ N , con i=1,2,3,…,m y j=1,2,3,…,n
B : PxT N
13
La figura 5 muestra la representación gráfica de los componentes de una PN.
P U T ≠ φ
P I T = φ
║P║ ≥ 1, ║T║ ≥ 1
A mxn ≠ 0 mxn
B mxn ≠ 0mxn
B
En la figura 6 se muestra que de forma aislada ningún elemento puede representar una
red de Petri.
14
2.2. Elementos de entrada y salida de una PN.
Sea:
X = P U T.
 Conjunto de entrada
•
x = { y ∈ X / a(y,x)>0 si x ∈ T ∨ b(x,y)>0 si x ∈ P }
 Conjunto de salida
x• = { y ∈ X / b(x,y)>0 si x ∈ T ∨ a(y,x)>0 si x ∈ P }
•
tj = { pi ∈ P / a(pi , tj) >0} Conjunto de lugares de entrada a tj
15
p1 p2 p3 t1
p1 p2 p3
t1
•
pi = { tj ∈ T / b(pi , tj) >0} Conjunto de transiciones entrada a pi
P1 t1 t2 t3
P1
t1 t2 t3
Nota: Para simplificar la notación en algunas ocasiones se utilizará χi,j en lugar de χ(pi
,tj ) para los componentes de las diferentes matrices.
16
2.3. Vecindad
Definición 4
nbh(x) = •x U x•
Ejemplo 1
nbh(t4) = •t4 U t4• = { p4 ,p6}
17
Ejemplo 2
Para la red de la figura 10 encontrar los conjuntos de entrada y salida del lugar p4, el
conjunto de entrada para la transición t5, el conjunto de salida de la transición t1 y la
vecindad de la transición t1.
• •
p4 = { t2 ,t3} t5 = { p4 ,p5}
•
p4 = { t5 } t1•= { p2 ,p3}
nbh(t1)= •t1 U t1• = { p1, p2, p3}
18
2.4. Clases de redes de Petri autónomas
Definición 5
Se dice que una PN es ordinaria si los pesos de todos sus arcos son 0 ó 1, es decir:
∀ p ∈P ∧ ∀t ∈ T, a(pi ,tj) ∧ b(pi ,tj) ∈ {0,1}
Ejemplo 3
19
2.4.2. Red pura
Definición 6
Una red se dice pura si ninguna transición hace parte del conjunto de elementos de
entrada y salida de un mismo lugar en la red:
∀ t ∈T ∧ ∀p ∈ P, a(pi ,tj) • b(pi ,tj) = 0
Es decir:
•
t I t• = φ , ∀t ∈ T
Toda red no pura se puede transformar en una red de Petri Pura, como se muestra en la
figura 13.
20
Figura 13. Transformación de una red de Petri NO pura en una pura.
Definición 7
Para cada transición, a lo sumo uno de sus lugares de entrada puede ser compartido con
otras transiciones como se ilustra en la figura 14.
Ejemplo 4
21
2.4.4. Red de Petri Libre Elección (Free choice)
Definición 8
Una red de Petri es de libre elección si todos los lugares tienen como conjunto de salida
más de una transición, pero este conjunto de transiciones solo debe tener un conjunto de
entrada unitario.
∀ p1 ,p2 ∈ P, p1• I p2• ≠ ║p1•║ =║p2•║= 1
Ejemplo 5
Obsérvese en la figura 15, que la red de Petri del lado izquierdo es válida como libre
elección aún cuando a una de las transiciones llegan dos lugares, esto es porque la
transición no pertenece al conjunto de salida de ningún lugar que vaya a más de una
transición.
22
2.4.5. Red de Petri Libre Elección Extendida
Definición 9
Una red de Petri libre elección extendida es una PN ordinaria tal que
∀ p1 ,p2 ∈ P, p1• I p2• ≠ p1• = p2•
Ejemplo 6
Definición 10
Son aquellas para las cuales todas las transiciones deben tener al menos un lugar de
entrada y un lugar de salida.
∀ t ∈ T •t ≠ φ , t• ≠ φ
23
Ejemplo 7
Definición 1
Es una red de Petri ordinaria tal que cada transición t tiene exactamente un lugar de
entrada y un lugar de salida, es decir:
Ejemplo 8
24
2.4.8. Grafo Marcado
Definición 2
Es una red de Petri ordinaria tal que cada lugar p tiene exactamente una transición de
entrada y una transición de salida.
Ejemplo 9
25
El marcaje puede tener muchas interpretaciones. Por ejemplo, cuando un lugar está
marcado con una marca, éste puede representar que la correspondiente condición es
verdadera o que el estado está activo. En otros casos, k marcas pueden representar k
recursos.
Definición 13
RM = 〈P,T, Amxn,Bmxn,M0〉 = 〈R, M0〉
Donde:
M(pi) : pi → N
26
El conjunto de todos los marcajes de una red, alcanzables desde el marcaje inicial, se
denota:
M(R, M0)
Ejemplo 10
27
Esta red se puede representar como:
RM = 〈P,T,A5x5,B5x5,M0〉
En la cual:
t1 t2 t 3 t 4 t 5 t1 t2 t3 t 4 t 5
P={p1, p2, p3, p4, p5} p1 ⎡ 1 0 0 1 0 ⎤ p1 ⎡ 0 0 0 0 1 ⎤
p2 ⎢ 0 1 0 0 0 ⎥ p2 ⎢ 1 0 0 0 0 ⎥
⎢ ⎥ ⎢ ⎥
A = p3 ⎢ 0 0 1 0 0 ⎥ B = p3 ⎢ 1 0 0 0 0 ⎥
28
Ejemplo 11
Para la red de la figura 22 encontrar los conjuntos de entrada y salida del lugar p2, el
conjunto de entrada y salida para la transición t2, la matriz de incidencia previa y
posterior y la vecindad de la transición t4.
t5
t1 t2 t3 t4 t5 t1 t2 t3 t4 t5
p1 ⎡1 1 0 0 0⎤ p1 ⎡0 0 0 0 2⎤
P={p1, p2, p3, p4, p5, p6} ⎢0
p2
⎢ 0 3 0 0 ⎥⎥ p2 ⎢0
⎢ 3 0 0 0 ⎥⎥
A = p3 ⎢0 0 0 1 0⎥ B = p3 ⎢1 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥
T={t1, t2, t3, t4, t5}
p4 ⎢0 0 0 1 0⎥ p4 ⎢0 1 0 0 0⎥
p5 ⎢0 0 0 1 0⎥ p5 ⎢0 0 1 0 0⎥
⎢ ⎥ ⎢ ⎥
p6 ⎣0 0 0 0 2⎦ p6 ⎣0 0 0 1 2⎦
29
Los elementos de entrada del lugar p4 Los elementos de entrada de la
son las transiciones t2 y t3. transición t5 son los lugares p4 y p5.
• •
p2 = { t2 } t5 = { p1 }
P2• = { t3 } t1•= { p2 ,p4}
nbh(t4)= •t4 U t4• = { p3, p4, p5, p6}
Definición 3
M(pi) ≥ a(pi,tj) ,∀ pi ∈ •t
Es decir, una transición está sensibilizada si el número de marcas en todos los lugares
de entrada a esa transición, es mayor o igual al peso del arco que conecta cada lugar
con dicha transición.
30
Ejemplo 12
p5
TkΔ = {t ∈ T / Mk(pi) ≥ a(pi,tj) ∀p ∈ •t }
Ejemplo 13
31
El conjunto de las transiciones sensibilizadas para la red en el marcaje M1 es:
T1Δ ={t1,t2}
•
t1 ={ p1 } ; M(p1) = 1 ; a1,1 = 1 M(p1) ≥ a1,1
•
t 2={ p2,p3 }; M(p2) = 3 ; a2,2 = 1; M(p3) = 1;
a3,2= 1 M(p2) ≥ a2,2 ∧ M(p3) ≥ a3,2
La dinámica de la red está determinada por el flujo de marcas. El marcaje tras el disparo
de la transición tj cambia de acuerdo con la siguiente regla de evolución:
Mk+1(pi) = Mk(pi) + b(pi ,tj) – a(pi ,tj), ∀ pi ∈ P
32
De forma global para la red, el marcaje al disparar una transición se obtendrá tomando
la columna de A y B correspondiente a la transición sensibilizada y disparada así:
Mk+1 = Mk + B( j )‐ A( j )
tj→ M
Mk ⎯⎯ k +1
Ejemplo 14
Para la red de la figura 25(a) se desea encontrar el marcaje que resulta del disparo de t1.
(a) marcaje de la red antes del (b) marcaje de la red después del
disparo. disparo de t1.
Figura 25. Marcaje de una red obtenido por el disparo de una transición
sensibilizada.
33
Como primer paso, se verificará que los lugares pertenecientes al conjunto de entrada de
la transición cumplen con las condiciones que se imponen sobre ellos para que la
sensibilización y el disparo sean posibles. El único elemento de entrada a la transición
es p1 y se tiene:
M(p1)=1, a(p1,t1)=1 M(p1) ≥ a(p1,t1)
⎡1 0 0 0 0⎤ ⎡0 0 0 1 1⎤
⎢0 1 0 0 1⎥ ⎢1 0 0 0 0⎥
⎢0 ⎥ ⎢1 0 0 0 0
⎥
1 1 0 0
A=⎢ ⎥ B=⎢ ⎥ M 0 = [1 0 0 0 0 0 ]
T
⎢0 0 1 1 0⎥ ⎢1 0 0 0 0⎥
⎢0 0 0 1 0⎥ ⎢0 1 0 0 0⎥
⎢0 0 0 0 1⎥⎦ ⎢0
⎣ ⎣ 0 1 0 0 ⎥⎦
t
M0 ⎯⎯
1
→ M1
M1 = M0 + B( 1 )‐ A( 1 )
34
Así que el marcaje final estará dado por:
⎡ 1⎤ ⎡0 ⎤ ⎡ 1⎤ ⎡ 0 ⎤
⎢0 ⎥ ⎢ 1⎥ ⎢0 ⎥ ⎢ 1⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢0 ⎥ ⎢ 1⎥ ⎢0 ⎥ ⎢ 1⎥
M1 = ⎢ ⎥ + ⎢ ⎥ − ⎢ ⎥ = ⎢ ⎥
⎢0 ⎥ ⎢ 1⎥ ⎢0 ⎥ ⎢ 1⎥
⎢0 ⎥ ⎢0 ⎥ ⎢0 ⎥ ⎢ 0 ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣0 ⎦ ⎣0 ⎦ ⎣0 ⎦ ⎣ 0 ⎦
Definición 15
σ = t1 t2 t3 …. tn
t1 t2 tn
M k ⎯⎯ → M k+1 ⎯⎯ → M k+2 ⎯⎯
→ ...... ⎯⎯ → M k+n
35
σ→ M
Mk ⎯⎯ k+n
Mk+1(pi) = Mk(pi) + b(pi ,tj) – a(pi ,tj) , ∀ pi ∈ nbh(tj)
Para que se presente la evolución del marcaje en un lugar, debe cumplirse que:
Definición 46
Cmxn = Bmxn – Amxn
B
36
ci,j =bi,j – ai,j
Donde:
i=1,2,3,…,m y j=1,2,3,…,n.
Si ci , j = 1, entonces tj ∈ •pi
Si ci , j = ‐1, entonces tj ∈ pi•
Si ci , j = 0, entonces tj ∉ •pi ∧ tj ∉ pi•
Definición 57
Mk+1 = Mk + C∙Uk
Donde:
⎧⎪1 si t = t j
Uk (t ) = ⎨ i
⎪0 si t ≠ t j
i
⎩ i
37
Ejemplo 15
Se desea hallar el marcaje alcanzado a partir del disparo de t1 y t2, es decir, σ = t1 t2.
Como es una red pura, entonces para observar la evolución de la red se puede utilizar la
matriz de incidencia y de esta forma trabajar con la ecuación de estado.
⎡1 1 0 0 0⎤ ⎡0 0 0 1 1⎤
⎢0 0 1 0 0⎥ ⎢1 0 0 0 0⎥
⎢ ⎥ ⎢ ⎥ T
A= 0
⎢ 0 1 0 0
⎥ B= 0
⎢ 1 0 0 0
⎥ M = [2 0 0 0 0 ]
0
⎢0 0 0 1 0⎥ ⎢0 0 1 0 0⎥
⎢⎣0 0 0 0 1⎥⎦ ⎢⎣0 0 1 0 0 ⎥⎦
38
⎡2 ⎤ ⎡−1 −1 0 1 1⎤ ⎡1⎤ ⎡1⎤
⎢0 ⎥ ⎢ 1 0 −1 0 0 ⎥ ⎢0 ⎥ ⎢1⎥
t ⎢ ⎥ ⎢
M1 = 0 + 0
⎥ ⎢ ⎥ ⎢ ⎥
−1 0 0 • 0 = 0
M 0 ⎯⎯ 1→ M
1 ⎢ ⎥ ⎢ 1
⎥ ⎢ ⎥ ⎢ ⎥
⎢0 ⎥ ⎢ 0 0 1 1 0 ⎥ ⎢0 ⎥ ⎢0⎥
⎢⎣0 ⎥⎦ ⎢⎣ 0 0 1 0 −1⎥⎦ ⎢⎣0 ⎥⎦ ⎢⎣0⎥⎦
2.8.1. Alcanzabilidad
Definición 68
Mk = Mk‐1 + C∙Uk
σ → M M = M + C.σ
M0 ⎯⎯ k k 0
39
r n −r
↔ ↔
⎡C C12 ⎤ b m − r
C = ⎢ 11
⎣ C 21 C22 ⎥⎦ b r
βΔM = 0 donde ΔM = Mk – M0
40
Ejemplo 16
⎡2 0 0⎤ ⎡0 1 1⎤
⎢0 1 0⎥ ⎢1 0 0⎥
M0 = [ 2 0 1 0] M = [1 1 1 2 ]
A=⎢ ⎥ B=⎢ ⎥ T T
⎢0 0 1⎥ ⎢1 0 0⎥ k
⎢⎣ 0 2 0 ⎥⎦ ⎢⎣ 0 0 2 ⎥⎦
C =B−A ΔM = M k − M 0
⎡0 1 1⎤ ⎡2 0 0 ⎤ ⎡ ‐2 1 1 ⎤ ⎡ 1 ⎤ ⎡ 2 ⎤ ⎡ −1⎤
⎢1 0 0 ⎥ ⎢0 1 0 ⎥ ⎢ 1 ‐1 0 ⎥ ⎢ 1⎥ ⎢0 ⎥ ⎢ 1 ⎥
C=⎢ ⎥−⎢ ⎥=⎢ ⎥ ΔM = ⎢ ⎥ − ⎢ ⎥ = ⎢ ⎥
⎢1 0 0 ⎥ ⎢0 0 1 ⎥ ⎢ 1 0 ‐1⎥
⎢ 1⎥ ⎢1⎥ ⎢ 0 ⎥
⎢⎣ 0 0 2 ⎥⎦ ⎢⎣ 0 2 0 ⎥⎦ ⎢⎣ 0 ‐2 2 ⎥⎦ ⎢⎣ 2 ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣ 2 ⎥⎦
41
⎡ ‐2 1 1 ⎤
⎢ 1 ‐1 0 ⎥ ⎡ C C12 ⎤
C=⎢ ⎥ = ⎢ 11 ⎥
⎢ 1 0 ‐1⎥ ⎢⎣ C 21 C 22 ⎥⎦
⎢⎣ 0 ‐2 2 ⎥⎦
⎡ −2 1 ⎤ ⎡1⎤ ⎡1 0⎤ ⎡ −1⎤
C11 = ⎢ ⎥ C12 = ⎢ ⎥ C 21 = ⎢ ⎥ C 22 = ⎢ ⎥
⎣ 1 −1⎦ m −r x r ⎣ 0 ⎦ m −r x n −r ⎣ 0 −2 ⎦ r x r ⎣ 2 ⎦ r x n −r
Se construye la matriz β
⎡1 0 2 0.5 ⎤
β=⎢ ⎥
⎣ 0 1 ‐1 ‐0.5 ⎦
Ahora se verifica que Mk es alcanzable desde M0, para lo cual se debe cumplir que:
β ΔM = 0
⎡ ‐1⎤
⎡ 1 0 2 0.5 ⎤ ⎢ 1 ⎥ ⎡ 0 ⎤
⎢ 0 1 ‐1 ‐0.5 ⎥ ⎢ 0 ⎥ = ⎢ 0 ⎥
⎣ ⎦⎢ ⎥ ⎣ ⎦
⎢⎣ 2 ⎥⎦
42
2.9. Propiedades dinámicas de las redes de Petri
Las propiedades de las PN pueden ser de dos tipos: propiedades estructurales (estáticas)
y propiedades funcionales (dinámicas). Las propiedades funcionales son las que
dependen de los estados iniciales, o del marcaje de la red. Las propiedades estructurales,
por el contrario, no dependen del marcaje de la red sino de la topología o la estructura
de la misma.
Estáticamente una red se define como ordinaria y pura, dinámicamente como segura,
viva, conforme, cíclica, limitada. Además, se pueden verificar propiedades desde la
alcanzabilidad.
Definición 79
Una red de Petri 〈R,M0〉 es viva si para todo marcaje que se pueda alcanzar a partir del
marcaje inicial, existe un marcaje posterior a partir del cual se pueda disparar por lo
menos una transición. Esto es:
Ejemplo 17
43
Figura 28. PN no viva.
Definición 20
Definición 81
Una red es limitada o acotada si para todo marcaje alcanzable, todos los lugares
presentan un número finito de marcas. Esto es:
Mk(pi) ≤ k’, ∀ pi ∈P ∧ Mk ∈ M(R,M0) con k’ finito
44
2.9.4. Red cíclica
Una PN es cíclica para un marcaje inicial M0, si existe una secuencia de disparos que
permita alcanzar el marcaje inicial a partir de cualquier marcaje alcanzable M:
Definición 92
σ
∀ M ∈ M(R, M0): ∃σ / M ⎯⎯ → M0
Ejemplo 18
Definición 103
Un lugar en una red de Petri es seguro si el número de marcas nunca es mayor a uno.
pi ∈ P, es seguro si ∀ Mk ∈ M(R,M0) Mk(pi) ≤ 1
M(pi) ≤ 1, ∀ pi ∈P
45
Definición 114
Una red de Petri es segura si todos los lugares de la red son seguros.
∀ pi ∈ P ∧ ∀ Mk ∈ M(R,M0) : Mk(pi) ≤ 1
 Conflicto
Definición 125
•
ti I •tj = { pi } ∧ M(pi) < a(pi ,ti) + a(pi ,tj)
Ejemplo 19
46
 Red equitativa
Cuando una PN no es libre de conflictos como muestra la figura 32, se debe tener una
política de solución de conflictos (por ejemplo, la forma en que se asignan los recursos
mediante el orden de arribo o por aleatoriedad o por prioridades) o de lo contrario
algunas partes del sistema modelado podrían entrar en inanición, es decir, algunas de las
ramas podrían nunca ocurrir. Cuando una PN no es libre de conflicto y tiene una
política de solución para ellos, se dice que es una PN Justa.
47
• t3 y t4 son justas porque ambas se
pueden habilitar varias veces pero
no siempre ocurrirán, pues están
en conflicto. cuando una marca
llega a p3, t3 y t4 se habilitan, pero
sólo una de ellas puede ocurrir.
Una forma de determinar los conflictos en una red, es recorrer las filas de la matriz de
incidencia previa, correspondientes a cada uno de los lugares y en ellas no debe
encontrarse más de un elemento distinto de cero, como se ilustra en la figura 28, para la
red de la figura 27, que presenta un conflicto, si la red es binaria.
t1 t 2 t 3 t 4 t 5 t 6
p1 ⎡1 0 0 0 0 0⎤ Conflicto
⎢0 1 0 0 0 0 ⎥⎥
p ⎢
A= 2
p3 ⎢0 0 1 1 0 0⎥
p4 ⎢ ⎥
⎢0 0 0 0 1 0⎥
p5 ⎢⎣0 0 0 0 0 1 ⎥⎦
48
2.10. Tipologías de las Redes de Petri
2.10.1. Secuencia
Definición 136
Son redes que representan sistemas que evolucionan de estado a estado por medio de la
ejecución de acciones simples; para cada marcaje alcanzable solo existe una marca en la
red.
Ejemplo 20
49
2.10.2. Bifurcación (Fork)
Ejemplo 21
⎪tj• ⎪≥ 2
Ejemplo 22
50
2.10.3. Unión o sincronización
Definición 147
Este tipo de estructura recombina la ejecución de dos o más procesos diferentes en uno
solo. Se utiliza cuando se requiere sincronizar varios procesos.
pi• ∩ pj• ∩… = { tj}
Ejemplo 23
Definición 28
En las redes que presentan esta estructura, dos sistemas o eventos se habilitan
evolucionando sin interactuar entre ellos, es decir, independientemente una vez se haya
dado la bifurcación de la red. El paralelismo debe terminar en una sincronización.
51
Ejemplo 24
52
2.10.6. Exclusión mutua
Dos lugares están en exclusión mutua si a partir del marcado inicial, nunca pueden estar
marcados simultáneamente.
Ejemplo 25
Definición 29
Esta estructura es característica de aquellos sistemas en los que existe un solo recurso y
este debe ser compartido por varios procesos. Después de utilizar el recurso este es
devuelto para que el proceso que no se pudo ejecutar anteriormente se realice.
53
Ejemplo 266
2.10.8. Colas
Definición 30
54
Ejemplo 27
55
A través del análisis del modelo se puede dar respuesta a preguntas tales como:
• ¿Es posible alcanzar un estado final Mf deseado a partir del estado inicial M0?
• ¿Cual es el conjunto de todos los posibles estados finales a los que se puede llegar a
partir del estado inicial M0?
• ¿Es posible que el proceso entre en bloqueo?
• ¿Que conjunto de transiciones hay que disparar para alcanzar un estado determinado?
Los métodos de análisis para redes de petri se pueden clasificar en los siguientes
grupos:
Para enumerar todos los marcados alcanzables de una red se construye el árbol de
alcanzabilidad. La construcción de este árbol consiste en tomar como raíz del árbol el
marcado inicial de la red y disparar todas las transiciones habilitadas. Esto lleva a
nuevos marcados que habilitan otras transiciones. Tomando cada uno de esos nuevos
marcados como una nueva raíz, se pueden generar recursivamente todos los marcados
alcanzables.
Este método de análisis es dependiente del marcado inicial, por tanto, es útil para
determinar propiedades de comportamiento.
57
 Herramienta TRT de Cabernet
La representación gráfica del árbol proporciona un estado simbólico a cada uno de los
estados que puede alcanzar una PN. Los diferentes símbolos implementados sobre los
nodos dependen del estatus de cada estado alcanzado.
3. Una red 〈R,M0〉 es segura si y solamente si en los nodos de T solo aparecen 0ʹs
y 1ʹs como su marcaje.
4. Una transición t es “no viva” si y solamente si, no aparece como etiqueta de un
arco en T. En Cabernet se evalúa a través de la ventana de propiedades de cada
uno de los nodos. Es decir, evaluando en cada una de estas ventanas la ultima
transición disparada.
58
5. una PN es viva para M0 si y sólo si, se cumple que en su árbol de cobertura no
existe ningún nodo Terminal.
Ejemplo 29
La red de la figura 43 es una red de Petri no limitada para la cual se pide construir el
árbol de alcanzabilidad.
59
Figura 44. Trayectoria para visualizar la ventana de opciones del TRT.
60
El árbol obtenido d a través de la herramienta de análisis de Cabernet se muestra en la
figura 47.
Para obtener los marcajes obtenidos en cada uno de los nodos y las transiciones
disparadas para obtener cada uno de ellos, sencillamente se hace doble clic sobre cada
nodo y aparecerá una tabla como la que muestra la figura 48 para el nodo S1.
61
Figura 48. Propiedades del nodo S1
Para realizar una buena representación del proceso, en primer lugar se definen los
estados del sistema:
62
• Extraer.
• Consumir.
• Espera para consumir.
En las PN como se había dicho anteriormente, los estados se representan por medio de
lugares.
a. Para producir se necesita espacio en el almacén, por tanto se creará un lugar que
indique del estado del almacén, es decir, el productor estará esperando hasta que
haya espacio. La red correspondiente es la que se muestra en la figura 49 donde EP
es la espera para producir y H es el indicador de espacio en el almacén.
EP H
63
EP H
P A
64
d. El consumidor estará esperando para entrar en el almacén. Para entrar al almacén
será necesario que hayan productos en él (existencia de marcas en el lugar B) y que
en el almacén no este el productor (recurso A disponible). En la figura 52 EC es el
lugar que representa el estado de espera para consumir, C es el estado de consumir y
E el estado de extracción del objeto.
e.
65
2.12.2. Problema de los filósofos.
El problema de los filósofos fue propuesto por Dijkstra y consiste en cinco filósofos
quienes de forma alternativa piensan y comen.
Los filósofos están sentados en una mesa redonda en la cual hay comida china, entre
cada pareja de filósofos hay un palito chino (5 palitos en total). Los filósofos estarán
meditando hasta que tenga acceso a los dos palitos y puedan comer. El problema está en
que el proceso se bloqueará si cada uno de los filósofos toma un palito. Ver figura 54.
La red de Petri correspondiente a este sistema se muestra en la figura 55, en la cual, los
lugares marcados con M corresponden al estado de meditar, con E al estado de comer y
con C los palitos que en este caso serían los recursos compartidos.
66
Figura 55. Red de Petri correspondiente al problema de los filósofos.
El siguiente ejemplo es más que todo académico y se utiliza para mostrar la aplicación
de las PN en la solución de problemas combinatorios. Se plantea el modelo completo de
la red autónoma, que cubre completamente el espacio de estados del sistema. Sin
embargo, para la solución completa como un automatismo práctico, se requiere el
enlace con las señales de sensores y actuadores, tema que se abordará en el siguiente
capítulo.
Considere el tanque del sistema mostrado en la figura 56. El tanque tiene dos válvulas
de llenado etiquetadas A y B y una válvula de vaciado C localizada en el fondo del
tanque.
67
El tanque contiene liquido cuyo nivel es denotado por un entero no-negativo. Se asume
que se tiene total control de la apertura de las válvulas A y B. Cuando la válvula A se
abre, automáticamente esta se cierra después de verter suficiente liquido como para que
el nivel del liquido se incremente en uno. Igualmente, cuando la válvula B se abre, esta
se cierra automáticamente después de verter suficiente líquido como para que el nivel de
liquido en el tanque aumente por tres unidades. Cuando la válvula C se abre, el nivel de
liquido decrementa dos unidades, cerrándose automáticamente (si el nivel del líquido
fuera igual o mayor que dos) y, no existe la posibilidad de abrir si el nivel líquido es
menor que dos. Se asume que existe un sensor que puede medir la altura del líquido en
el tanque. El objetivo se centra en regular el nivel de líquido en el tanque de forma que
permanezca entre el rango de 0 a 5, sabiendo que su nivel oscila entre 0 y 7. La idea
consiste en considerar el nivel del tanque como estados del sistema, y la apertura de las
válvulas como los eventos.
válvula A
nivel
válvula B
7
5
2 válvula C
nivel 0
68
Tabla 2. Descripción de lugares y transiciones.
Lugares Transiciones
69
Matriz de incidencia
a
01 ⎡ −1 1 0 0 0 0 0 0⎤
a ⎢ 0 −1 1 0 0 0 0 0⎥
12
⎢ ⎥
a
23 ⎢ 0 0 −1 1 0 0 0 0⎥
a ⎢0 0 0 −1 1 0 0 0⎥
⎢ ⎥
34
a
45 ⎢ 0 0 0 0 −1 1 0 0⎥
a ⎢0 0 0 0 0 −1 1 0⎥
⎢ ⎥
56
a
67 ⎢
0 0 0 0 0 0 −1 1⎥
03 ⎢
a −1 0 0 1 0 0 0 0⎥
b ⎢ 0 −1 0 0 1 0 0 0⎥
14
⎢ ⎥
b
25 ⎢
0 0 −1 0 0 1 0 0⎥
b ⎢ 0 0 0 −1 0 0 1 0⎥
36
⎢ ⎥
b
47 ⎢
0 0 0 0 −1 0 0 1⎥
c ⎢1 0 −1 0 0 0 0 0 ⎥
C = 20 ⎢ ⎥
c
31 ⎢
0 1 0 −1 0 0 0 0 ⎥
c ⎢0 0 1 0 −1 0 0 0 ⎥
⎢0 0 0 1 0 −1 0 0 ⎥
42
c
53 ⎢ ⎥
c ⎢0 0 0 0 1 0 −1 0 ⎥
⎢0 0 0 0 0 1 0 −1⎥
64
c
75 ⎢ ⎥
bc ⎢ 0 0 −1 1 0 0 0 0 ⎥
23
bc ⎢ 0 0 0 −1 1 0 0 0 ⎥
34
⎢ ⎥
0 0 0 0 −1 1 0 0 ⎥
45 ⎢
bc
ac ⎢ 0 0 1 −1 0 0 0 0 ⎥
32
⎢0 0 0 1 −1 0 0 0
⎥
43 ⎢ ⎥
ac
ac ⎢ 0 0 0 0 1 −1 0 0 ⎥
abc
54
⎢ 0 0 −1 0 1 0 0 0 ⎥
24 ⎢ ⎥
abc ⎢ ⎣0 0 0 −1 0 1 0 0 ⎦⎥
35
70
Figura 58. Red de Petri para el llenado de un tanque.
71
M1 M2
Lugares Transiciones
p1 Máquina 1 esta ociosa t1 Máquina 1 comienza a operar
72
Figura 60. Red de petri para el sistema de manufactura.
v1(t) = 2
v2(t) = 3
73
Tabla 4. Descripción lugares y transiciones.
Lugares Transiciones
p7 Exclusión mutua.
74
M0 : (1 0 0 1 0 0 1)T
M1 : (0 1 0 1 0 0 0)T
M2 : (0 0 1 0 1 0 0)T
M3 : (0 0 1 0 0 1 1)T
t t t t t t t t
p1 ⎡ 1 0⎤ p1 ⎡ 0 0⎤
P={p1, p2, p3, p4, p5, p6, 0 0 0 0
p2 ⎢ 0 1 0 0⎥ p2 ⎢ 1 0 0⎥0
p7 } ⎢ ⎥ ⎢ ⎥
p3 ⎢ 0 0 0 0⎥ p3 ⎢ 0 1 0⎥0
,
A = p4 ⎢ 0 0 1 0⎥ B = p4 ⎢ 0 0 0⎥0
⎢ ⎥ ⎢ ⎥
p5 ⎢ 0 0 0 1⎥ p5 ⎢ 0 0 1 0⎥
T={t1, t2, t3, t4}
p6 ⎢ 0 0 0 0⎥ p6 ⎢ 0 0 0 1⎥
⎢ ⎥ ⎢ ⎥
p7 ⎣ 1 0 1 0⎦ p7 ⎣0 1 0 1⎦
0 C = p4 ⎢ 0 0 ‐1 0 ⎥
⎢ ⎥
p5 ⎢ 0 0 1 ‐1⎥
p6 ⎢ 0 0 0 1⎥
⎢ ⎥
p7 ⎣‐1 0 ‐1 0 ⎦
75
2.12.6 Taller de Maquinado
El taller tiene tres máquinas M1, M2 y M3, dos operadores F1 y F2, y un buffer
intermedio así como buffers de entrada y de salida. Se asume que todos los buffers son
infinitos (aceptado así bajo condiciones académicas) y las máquinas y operadores
pueden atender un trabajo al tiempo. M1 puede ser operada por ambos operadores,
mientras M2 puede únicamente ser operada por F1 y M3 únicamente por F2. Los
trabajos requieren dos estados de maquinado. El primero de ellos debe ser maquinado
por M1 y el otro por M2 o M3. En la red de Petri de la figura 64 se identifican los
diferentes estados de las máquinas y los operadores representados por las marcas en los
lugares, y su relación se incorpora a través de los eventos representados por las
transiciones.
M2
M1
M3
76
Tabla 5. Descripción de lugares y transiciones
Lugares Transiciones
77
2.12.7 Estación de Gasolina
Considere una estación de Gasolina con una sola bomba y espacio exactamente para un
carro. Después de llenar el carro, un cajero recibe el pago del cliente y libera la bomba.
El carro abandona el espacio próximo a la bomba antes que el siguiente vehiculo se
acerque a la bomba.
78
Tabla 6. Descripción lugares y transiciones.
Liberación cajero de la
p4 Bomba libre t4
bomba.
Carro tanqueado en la
p5 t5 El carro sale de la bomba.
bomba
p6 Cajero libre
p8 Cajero ocupado
79
t1 t 2 t 3 t 4 t 5
p1 ⎡ −1 0 0 0 0⎤
p2 ⎢ −1 0 0 0 1⎥
⎢ ⎥
p3 ⎢ 1 −1 0 0 0 ⎥
p p p p p p p p p
1 2 3 4 5 6 7 8 9 p4 ⎢ 0 −1 0 1 0 ⎥
⎢ ⎥
M = C = p5 ⎢ 0 1 −1 0 0 ⎥
p6 ⎢ 0 0 −1 1 0 ⎥
p7 ⎢ 0 0 1 0 −1⎥
⎥
⎢
p8 ⎢ 0 0 1 −1 0 ⎥
p9 ⎢⎣ 0 0 0 0 1 ⎥⎦
80
Tabla 7. Descripción lugares y transiciones.
p7 Buffer lleno
p8 Buffer lleno
81
Tabla 8. Descripción lugares y transiciones.
2.13 EJERCICIOS
Figura 69.
82
2. Para la siguiente red, explique si es binaria, ordinaria, pura, viva, limitada,
conforme.
RM=〈C,M0〉, Donde:
⎡ −1 0 0 1 1 ⎤
⎢ 1 −1 −1 0 0 ⎥
C=⎢ ⎥ M 0 = [0 1 0 0]T
⎢ 0 1 1 −1 0 ⎥
⎢ ⎥
⎣ 0 0 1 0 −1⎦
Figura 70.
83
b. Determine la matriz de incidencia.
c. Explique si es pura, binaria, ordinaria, conforme.
σ
d. Utilice la ecuación de estado para determinar M 0 → M 3 con σ = t1 t2 t3.
e. Grafique el árbol de alcanzabilidad y determine las propiedades de vivacidad y
limitación.
Figura 71.
a. Dibuje la red.
b. Determine si es pura.
c. Para M 0 = [1 0 0 1]T determine si es viva y limitada.
⎡1 −1 0 0 ⎤
⎢0 1 −1 0 ⎥
C=⎢ ⎥
⎢0 0 1 −1⎥
⎢ ⎥
⎣0 −1 1 0 ⎦
84
Figura 72.
⎡ −1 − 1 0 1 ⎤
⎢ 1 0 −1 0 ⎥
C=⎢ ⎥
⎢ 0 1 −1 0 ⎥
⎢ ⎥
⎣ 0 0 1 −1⎦
∃p ∈ P ∧ { ti, tj} ∈ T / •ti ∩ •tj = {p} ∧ M(p) < a(pi, ti) + a(pi, tj)
85
¿Cuáles p, ti, tj cumplen esta definición?
∀p ∈ P, si⎥⎜p•⎥⎜>1 ∀t ∈ p• :⎥⎜•t⎥⎜= 1
Explique su respuesta.
t
f. Utilice la ecuación de estado para hallar M0 ⎯⎯
3
→ M1 , con M0 = [1 1 0 0]T.
g. Analice si la red es viva y limitada para M0 = [2 0 0 0]T.
∀t ∈ T, si⎥⎜t•⎥⎜>1 ∀p ∈ t• :⎥⎜•p⎥⎜= 1
86
Figura 73. Red de Petri para el problema 9.
p5 p3
p1
t1 t2
2
2
p2 p4
t3 t4
87
Figura 74. Red de Petri para el problema 7.
88
CAPÍTULO 3
Las redes de Petri autónomas, no están asociadas a ningún tipo de evento ni incluyen
conceptos temporales, por lo tanto con ellas sólo es posible describir la estructura lógica
del sistema impidiendo un modelamiento adecuado cuando se tienen sistemas que se
encuentran condicionados o por el tiempo o por la ocurrencia de un evento determinado.
Con el fin de hacerlas más apropiadas para modelar sistemas secuenciales, controlados
mediante autómatas programables, las PN han sido aumentadas, asignando atributos de
tiempo y de procesamiento lógico a las transiciones y funciones de entrada/salida
asociadas a los lugares para establecer las relaciones de la periferia del proceso
(sensores y actuadores) con el modelo. Este tipo de PN constituyen una extensión de
las PN autónomas y son referenciadas como redes de Petri interpretadas por periferia,
en las cuales cada lugar es asociado a un estado del proceso y a acciones sobre las
salidas y las transiciones se interpretan como condiciones o eventos que en caso de ser
verdaderas o de ocurrir, obligan al sistema a cambiar de un estado a otro.
Periferia
Controlador
Controlador
Las redes de Petri interpretadas (IPN) que se presentan están caracterizadas por que los
eventos y las condiciones se definen sobre variables booleanas. Por esta razón, se
presenta inicialmente un repaso del álgebra booleana, para unificar la terminología y la
notación; y los conceptos básicos del álgebra de eventos, que serán útiles en el resto de
este trabajo.
89
3.1 Álgebra booleana
Sea B un conjunto no vacío que contiene dos elementos especiales: 0 (el cero o
elemento neutro) y 1 (el uno o elemento unidad),
B = {0,1}
0+0 = 0; 0+1 = 1+0 = 1+1 = 1
0●0 = 0 = 1●0 = 0●1; 1●1 = 1
0 =1 ; 1 =0
Si sobre B se definen las operaciones binarias cerradas: (+), (●) y una operación
monaria (o unaria): ( ¯ ), entonces (B,+,●,ˉ,0,1) es un álgebra booleana si se cumplen
las siguientes condiciones para todos x ,y, z ∈ B.
0 ≠ 1
90
Como consecuencia de las operaciones definidas, se tiene:
x +x =x , x 2 = x ●x = x , ∀x ∈B
Y además:
Una función
f: Bn → B
f (x 1,x 2,….,x n)
91
Ejemplo 30
x y f (x ,y ) = x + y G (x ,y) = x ● y
1 1 1 1
1 0 1 0
0 1 1 0
0 0 0 0
Ejemplo 31
Sea f : B →
3
B, donde f (x ,y, z) = x y + z. La evaluación de f, se muestra en la Tabla
11.
92
Tabla 11. Combinación lógica
0 0 0 0 0
0 0 1 0 1
0 1 0 0 0
0 1 1 0 1
1 0 0 0 0
1 0 1 0 1
1 1 0 1 1
1 1 1 1 1
Definición 31
Para n Z+, n ≥ 2, sean f, g : Bn→ B dos funciones booleanas de las n variables
booleanas x 1,x 2,….,x n. Se dice que f y g son iguales y se escribe f =g si las columnas
para f y g son exactamente las mismas.
Definición 32
f (x 1 , x 2 ,..., x n ) = f (x 1 , x 2 ,..., x n )
93
Si g : Bn→ B, se define f +g , f ●g : Bn→ B la suma y producto de f, g,
respectivamente como
(f +g): (x 1, x 2,…., x n) = f (x 1, x 2,…., x n)+ g (x 1, x 2,…., x n)
∧
(f ●g): (x 1, x 2,…., x n) = f (x 1, x 2,…., x n) ● g (x 1, x 2,…., x n)
f + g = f •g x + y =x •y
Leyes de De Morgan
f •g = f +g x •y =x +y
f+g=g+f x+y=y+x
Leyes Conmutativas
f ●g = g ● f x ● y = y ● x
f + (g + h) = (f + g) + h x + (y + z) = (x + y) + z
Leyes Asociativas
f●(g●h) = (f●g) ●h x ● (y●z) = (x● y) ●z
f+f x+x
Leyes de Idempotencia
f●f x ●x
f + 0 = f x + 0= x
Leyes de Identidad
f ●1 = f x ●1= x
94
Funciones Variables Ley definida
f ● f =0 x ● x =0
f+1=1 x+1=1
Leyes de Dominación
f ●0 = 0 x ●0 = 0
f + f●g = f x + x ●y = x
Leyes de Absorción
f ●(f +g) = f x ● (x + y) = x
Definición 13
95
Definición 34
Sea f (x 1, x 2,…., x n) una función booleana, donde (x 1, x 2,…., x n) son variables
booleanas, cuyo valor se define desde el tiempo t=0, y tal que para t1 < t2 < t3 < t4 …<
tn‐1 < tn < tn+1 se cumple que:
Si 0 < t1, el evento K f = K f (x 1, x 2,…., x n) ocurre en el tiempo t1, t3,...,tn y el evento
Propiedades:
96
c. La probabilidad de ocurrencia de dos eventos independientes simultáneos es 0.
Es decir, Kx ●Ky=0, si x y y son dos variables independientes.
d. Kx + Ky es un evento que ocurre en el momento en que Kx o Ky ocurran.
e. Sea S un sistema cuyo comportamiento depende de un conjunto de eventos ∑.
Entonces ε(t) es el evento asociado con S en el tiempo t : ε(t) ∑ U {ε}. donde
ε es un evento nulo del conjunto ∑ en el tiempo t.
f. Sean e1 y e2 dos eventos. Se escribe e1 = e2, si e1 y e2 son equivalentes, es decir,
si ellos siempre ocurren al mismo tiempo.
g. Un evento no tiene duración en el tiempo.
h. e1 = 0, si e1 es un evento que nunca ocurre.
i. Dos eventos e1 y e2 son independientes si no existe un evento ei tal que
e1 = w + x ● ei , e2 = v + y ● ei
w + v + x ● y ● ei > x + y.
Ejemplo 12
Hipótesis 1
97
A continuación se definen algunas propiedades de los eventos:
Propiedad 1
El flanco positivo de una señal es igual al flanco negativo del negado de la señal.
Kx = L x
Propiedad 2
El producto lógico entre el flanco positivo de una señal y la señal es igual al flanco
positivo de la señal y viceversa.
Kx ● x = Kx
Propiedad 3
El producto lógico entre el flanco positivo de una señal por el complemento de la señal
es igual a cero y viceversa.
Kx ● x = 0
L x ● x = 0
Propiedad 4
El producto lógico entre un flanco de una señal por si mismo es igual al flanco de la
señal.
Kx ● Kx = Kx
Lx ● Lx = Lx
98
Propiedad 5
El producto lógico entre el flanco positivo de una señal por el flanco negativo de la
misma es igual a cero.
Propiedad 6
Propiedad 7
Figura 79.
99
Propiedad 8
Figura 80.
Propiedad 9
Kx + x = x
Figura 81.
100
3.3 Redes de Petri interpretadas por periferia
Las Redes de Petri Interpretadas por Periferia (IPN), asocian los estados del sistema a
los lugares y establecen condiciones booleanas y eventos en las transiciones. El nombre
“Interpretadas por Periferia” es usado para reforzar el hecho de que la influencia del
ambiente en el sistema está basada en las señales de entrada y salida y que los eventos
externos se detectan en los cambios de estado de las señales binarias de entrada. En
algunos trabajos, la interpretación asocia a cada transición una receptividad, la cual se
define como el producto de un evento por una condición booleana.
3.3.1 Receptividad
∑ = { e1, e2,…,en}
ϕ = Bn J B
ϕ = f (x 1,x 2,….,x n)
Para que ocurra el disparo de una transición con receptividad es necesario que se
cumplan las siguientes condiciones:
 Está sensibilizada
 Es Receptiva
∃ t i ∈ [t 0, t j] tal que e ● ϕ ≠ 0
102
Ejemplo 33
E = {Ka }
ϕ = { b }
El comportamiento de esta red es tal, que la marca permanecerá en el lugar p1 hasta que
la variable booleana b sea verdadera y el evento a ocurra. Si el evento ocurre pero la
variable booleana es falsa, entonces la marca no se transfiere a otro estado.
103
La Figura 85 muestra el comportamiento de la red de la Figura 84.
Definición 35
Las redes de Petri temporizadas son aquellas que corresponden a sistemas cuyo
comportamiento depende del tiempo, el cual puede estar asociado con los lugares o con
las transiciones; estas redes se conocen en la literatura como P‐ timed PN y T‐
timed PN respectivamente.
3.4.1 P‐timed PN
P‐ timed PN = 〈RM,τ(p)〉
104
Tal que:
τ(p) : P → ℜ+
Si se define τ(p) = τi como el tiempo asociado al lugar pi, entonces cuando una marca
llega a un lugar pi de una P – timed PN, la marca debe permanecer allí al menos τi
unidades de tiempo, durante ese tiempo no se tiene acceso a la marca, de modo que no
puede ser disparada. Luego de que el tiempo τi haya transcurrido entonces la marca
puede participar en la habilitación de la transición.
3.4.2 T-timed PN
T–timed PN = 〈RM,τ(t)〉
Donde:
τ(t) : T → ℜ+
Sea τ(t) = τi el tiempo asociado a la transición ti. Cuando una marca llega a un lugar de
entrada de la transición tj de una T–timed PN, se habilita la transición ti. Antes del
105
pasado el tiempo la transición puede disparar y la marca pasa a los lugares de salida de
la transición.
NOTA:
En este trabajo, los modelos se desarrollan con base en las T‐ timed PN, de esta
forma se tendrá la siguiente definición para las PN temporizadas.
106
3.5 Redes de Petri temporizadas interpretadas por periferia (IPN)
Las redes de Petri temporizadas interpretadas por periferia, pueden describirse mediante
una 7-tupla:
IPN = 〈 RM, I, Q,ω,E,ϕ,τ〉
Donde:
RM: Es una PN marcada autónoma, la cual debe ser pura, binaria y ordinaria.
107
I: Conjunto de entradas booleanas (periferia del proceso). Se asocia con los sensores
binarios
Q: Conjunto de señales de salida booleanas (periferia del proceso). Se asocia con los
actuadores binarios.
ω: Es una función de salida que asigna a cada p ∈ P un valor booleano para cada
elemento del conjunto de salidas Q.
ω: P → {0,1} |Q|
E : T → ∑ , ∑= {e1, e2,......, en} = {Ki1 , Li1,......,Kir, Lir }; i1, ir ∈ I
ϕ: Es una función que asigna a cada t ∈ T una función de conmutaciónΦ, siendo esta
función de conmutación sobre las entradas del proceso.
108
τ: Es una función del tiempo que impone un retardo al disparo después de la
sensibilización.
τ : T → ℜ+
NOTA:
Esto es:
Si τ (ti) ≠ 0 → E (ti) = Kτ
Ejemplo 34
Figura 89.
109
Para que el marcaje evolucione de p1 a p2, debe cumplirse que Ka●b ≠ 0 en el
instante en el que Kτ ≠ 0. Como puede verse en el diagrama, este disparo no es posible.
Ejemplo 35
I = {i1, i2, i3, i4}
Q: {q1, q2}
ω(p1) = (0,1)
ϕ (t1) = i1+ i2 • i3
E (t2) = Ki4
110
 En los lugares se especifican las acciones sobre las salidas:
ω : P → (0,1)|Q|
E•ϕ (ti)= f (i1, i2,… , ir)
NOTA:
Otra recomendación, útil para simplificar la representación gráfica, es emplear una tabla
en la que se relacionan los lugares con las funciones de salida, utilizando cualquiera de
las descripciones anteriores; y las transiciones con las receptividades.
111
La Figura 91 ilustra la utilización de estas tablas.
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p1 (0,0,0,0) t1 Ki0 ● i3
p2 q1=1 t2 Ki1
p3 q3=1 t3 i2
p4 (0,1,x,x) t4 i2● i4
p5 (x,x,0,1) t5 Li2
112
3.6 Análisis de IPN
 Propiedad de Acotamiento:
Ejemplo 36
113
Figura 93. Red de petri interpretada
Para ello la interpretación asociada debe establecer una secuencia tal que la IPN pueda
alcanzar una marcaje que determine una red limitada.
En conclusión, para que una IPN sea limitada no es necesario que la PN lo sea. Si una
PN es limitada, cualquier IPN construida sobre ella será limitada.
 Estudio de la vivacidad
114
Figura 94. IPN para el estudio de vivacidad
Temporización Valor
τ(t1) 3
τ(t2) 5
τ(t3) 4
τ(t4) 4
τ(t5) 15
τ(t6) 5
τ (t7) 5
De otra manera una PN simple es viva para un marcado M0, toda IPN construida a
partir de la red es viva para M0, si todos los eventos asociados a las transiciones pueden
producirse. Su justificación puede establecerse a parir de las redes de la Figura 95 y
Figura 96.
115
La IPN no es viva, la PN autónoma no lo
es.
116
EJEMPLOS.
Ejemplo 37
• El tanque 1 al llegar al nivel B1, inicia el vaciado del tanque 2 hasta el nivel B2,
B B
Se definen en primer lugar el conjunto de entradas y salidas del sistema, tal como se
muestra en la Tabla 15 y Tabla 16 respectivamente:
117
Tabla 15. Lugares
Lugar Descripción
p1 Estado ocioso de los tanques
Transición Descripción
t1 Inicio del ciclo
118
Tabla 17. Direccionamiento de las entradas
M i1 Pulsador de inicio
P i6 Pulsador de parada
119
La red de Petri será la que se presenta en la Figura 98.
120
Tabla 19. Funciones
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p1 (0,0,0,0) t1 K i1
p2 (1,0,0,0) t2 K i2
p3 (0,1,0,0) t3 K i3
p4 (0,0,1,0) t4 L i4
p5 (0,0,0,1) t5 L i5
t6, t7, t8, t9 K i6
La señal de vaciado de los tanques se toma como un flanco negativo, ya que se supone
que se encuentra activo a partir del momento en que se llegue a este nivel.
Ejemplo 38
121
Tabla 20. Lugares
Lugar Descripción
p1 Estado ocioso de los tanques
Transición Descripción
t1 Inicio del ciclo
t4 --
t7 --
122
La IPN para este automatismo se presenta en la Figura 99.
123
Tabla 22. Funciones
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p1 (0,0,0,0) t1 K i1
p2 (1,0,0,0) t2 K i2
p3 (0,1,0,0) t3 K i3
p4 (0,0,0,0) t4 ‐‐
p5 (0,0,0,0) t4 ‐‐
t8, t9, t10, t11, t12, t13, t14
Ejemplo 29
La Figura 100 muestra una cámara de aíre (acumulador de aire comprimido), de la cual
puede extraerse aire comprimido a través de una válvula. Dos sensores binarios PS1 y
PS2 son utilizados para monitorear la presión en la cámara. Dos compresores de aire (A
y B) están alimentando la cámara. Los compresores dan una señal cuando entran en
falla.
124
-
PS
1
Compresor A M -
PS
2
Aire Aire
Compri- Aire
mido comprimido
para el
consumidor
Compresor B M
1). Si la presión es menor o igual que 6.1 bares (PS1 conmuta a ON), el compresor A
debe trabajar.
2). Si la presión es mayor que 6.1 bares (PS1 conmuta a OFF), ningún compresor debe
funcionar.
125
Tabla 23. Lugares
Lugar Descripción
p1 Compresor A inyectando aire, Compresor B apagado
p3 Compresores A y B apagados
p6 Compresores A y B apagados
126
Tabla 24. Transiciones
Transición Descripción
t1 Presión < 6,1 bares
t4 Compresor A en falla
t5 Compresor A en falla
t9 Compresor B en falla
i3 Compresor A en falla
i4 Compresor B en falla
127
Tabla 26. Direccionamiento de las salidas
q2 Compresor B operando
128
Tabla 27. Funciones
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p3 (0,0) t5 K i3
p6 (0,0) t10 i4
Ejemplo 40
Celda de Manufactura
Se tiene una celda de manufactura como la que se muestra en la Figura 102, donde un
producto constituido por dos piezas (Pa,Pb) son procesados. La pieza Pa requiere el uso
de las maquinas M1 y M2, mientras la pieza Pb requiere las maquinas M3 y M2; ambas
en la secuencia mostrada. Después ambas partes son procesadas, ellas son ensambladas
y el producto final es liberado y la celda esta lista para iniciar otro ciclo. La IPN de la
Figura 103 es un modelo de la celda de manufactura.
129
Figura 102. Celda de manufactura
Lugar Descripción
p1 Estado ocioso de la celda
p2 La maquina M1 trabajando
p3 La máquina M1 disponible
p5 La máquina M2 disponible
p6 La máquina M3 trabajando
p7 La máquina M3 disponible
p9 La máquina M2 disponible
130
Tabla 29. Transiciones
Transición Descripción
t1 Inicio del ciclo
t2 Procesamiento en M1
t3 Procesamiento en M3
t5 Llega Pieza Pb a M2
t6 Procesamiento en M2 de pieza Pa
t7 Procesamiento en M2 de pieza Pb
Dos diferentes señales son desplegadas cuando las máquinas M1 y M3 están siendo
usadas respectivamente, y la máquina M2 despliega dos diferentes señales dependiendo
de la pieza que esta siendo procesada.
i3 Llega pieza Pb a M2
i4 Ensamble
131
Tabla 31. Direccionamiento de las salidas
q3 M2 operando sobre Pb
q4 M3 operando sobre Pb
132
Tabla 32. Funciones
p2 (1,0,0,0) t2 τ1
p3 (0,0,0,0) t4
p4 (0,1,0,0) t6 i2 τ3
p5 (0,0,0,0) t8 i4
p6 (0,0,0,1) t3 τ2
p7 (0,0,0,0) t5
p8 (0,1,0,0) t7 τ4
p9 (0,0,0,0) t8 i4
Ejemplo 41
Brazo Transportador
133
1. Condiciones Iniciales:
a. Brazo en la Posición Arriba-Derecha (i1• i3)
b. Brazo desenergizado (q5 = 0)
c. Motores apagados (q1 = q2 = q3 = q4 = 0)
2. Pulso de inicio del Proceso (i6 = 1)
3. Encendido motor abajo (q3 =1)
4. Cuando llegue a posición (i3 =1), paro motor (q3 = 0), energizo brazo (q5 = 1)
5. Encendido motor (q4 = 1).
6. Cuando llegue a posición (i4 = 1), paro motor (q4 =0), Encendido motor (q1 =1)
7. Cuando llegue a posición (i4 • i1 =1), paro motor (q1 = 0), Encendido motor
(q3=1)
8. Cuando llegue a posición (i3 = 1), paro motor (q3 = 0), desenergiza brazo (q5=0)
9. El brazo llega a fin de ciclo y busca su posición inicial, llegando a condiciones
iníciales y esperando nuevamente pulsador de inicio.
10. Cuando se accione pulsador de paro, el brazo se desplazará hasta posición inicial
(siempre busca posición inicial).
11. Existirá un pulsador de fin de ciclo que le indicara al proceso que complete un
ciclo completo.
134
Tabla 33. Direccionamiento de las entradas
Dirección Descripción
i1 Detector Posición (Brazo Derecha)
i5 Detector Pieza
i8 Fin de Ciclo
Dirección Descripción
q1 Movimiento derecha
q4 Movimiento arriba
135
Figura 105. IPN para el brazo transportador
136
Tabla 35. Funciones asignadas a los lugares
Función
Transición Descripción
ω (pi)
p15 ‐‐‐
137
Tabla 36. Funciones asignadas a las transiciones
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t1 i2y i4 Brazo en posición inicial
t13 τ --
t17 --
138
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t19, t20, t21,
t22, t23, t24, i7 Señal de paro del proceso.
t25
Ejemplo 42
La transferencia para el ciclo siguiente no se obtendrá, sin embargo, más que cuando los
tres puestos hayan terminado sus secuencias respectivas. El detalle de las operaciones
efectivas en cada puesto se comprende analizando los elementos tecnológicos de los
diversos puestos y que se modelan mediante la PN de la Figura 107.
139
E D
G F
I
H
C
B A
J
E D
b0 G F I
e0 i0
d0 H
b1 e1 i1
a0 a1 d1 j1
B A g0 g1 C
j0
f1 f0 J
c1 c0
h0 h1
140
Tabla 37. Direccionamiento de las entradas
141
Tabla 38. Direccionamiento de las salidas
A- q2 Desenergización elemento A
B+ q3 Energización elemento B
B- q4 Desenergización elemento B
C+ q5 Energización elemento C
C- q6 Desenergización elemento C
D+ q7 Energización elemento D
D- q8 Desenergización elemento D
E+ q9 Energización elemento E
142
Figura 107. Modelo en PN para el automatismo del transfer circular
143
Tabla 39. Funciones
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
P1 q1 = 0 t1 i1
P2 q4 = 1 t2 i5
P3 q1 = 1 t3 i3
P4 q3 = 1 t4 i4
P5 q2 = 1 t5 i2
P6 q5 = 1 t6 i7
P7 q7 = 1 t7 i9
P8 q8 = 1 t8 i8
P9 q7 = 1 t9 i9
144
P19 q18 = 1, q20 = 1
P20 q16 = 1
Ejemplo 43
145
• La duración de los semáforos en rojo es de 20 seg, en amarillo de 4 seg., y en
verde de 20 seg.
• Para el paso de las personas se cuenta con un sensor que al ser activado se
esperara un tiempo de 1 seg., para llevar las luces a rojo.
• Para el paso de las ambulancias se dispone de un sensor, que al ser activado,
cambia el estado del sistema, poniendo los semáforos indicados para el paso de
las ambulancias en verde.
Dirección Descripción
i1 Persona en semáforo A
i2 Persona en semáforo B
i3 Persona en semáforo C
i4 Persona en semáforo D
Entrada
i5 Ambulancia en semáforo A
i6 Ambulancia en semáforo B
i7 Ambulancia en semáforo C
i8 Ambulancia en semáforo D
146
Tabla 41. Direccionamiento de las salidas
Dirección Descripción
Luz roja en semáforo A
q1
Luz amarilla en semáforo A
q2
Luz verde en semáforo A
q3
Luz roja en semáforo B
q4
Luz amarilla en semáforo B
q5
Luz verde en semáforo B
Salidas q6
Luz roja en semáforo C
q7
Luz amarilla en semáforo C
q8
Luz verde en semáforo C
q9
Luz roja en semáforo D
q10
Luz amarilla en semáforo D
q11
Luz verde en semáforo D
q12
147
Figura 109. Modelo en PN para el automatismo del semáforo.
148
Tabla 42. Funciones asignadas a los lugares
Función
Transición Descripción
ω (pi)
p1 (0,1,0,0,1,0,0,1,0,0,1,0) Semáforos A, B, C, D Todos en Amarillo.
149
Tabla 43. Funciones asignadas a las transiciones
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t1 τ = 4 Seg. Espera de los semáforos en Amarillo.
Temporización de un segundo, al
t6 τ = 1 Seg. activarse el sensor por parte de las
personas.
Temporización de un segundo, al
t8 τ= 1 Seg. activarse el sensor por parte de las
personas.
Temporización de un segundo, al
t9 τ = 1 Seg. activarse el sensor por parte de las
personas.
Temporización de un segundo, al
t11 τ = 1 Seg. activarse el sensor por parte de las
personas.
150
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t15 τ = 20 Seg. Espera de semáforos en Verde y Rojo;
t17 ‐‐ --
Ejemplo 44
Ascensor de 2 pisos
PLC
151
botón interior del numero del piso sea presionado) y volverá a intentar cerrarla para
después moverse hacia el piso destino.
 Si el ascensor está en la planta desde la que se le llama, se abrirá la puerta para
permitir que entren las personas que lo quieran usar.
 Cada vez que llega a un piso debe abrir la puerta y mantenerla abierta al menos 2
segundos o que el botón interior de cierre sea presionado antes de atender una
llamada. Si no hay otra llamada, se quedará la puerta cerrada.
 El ascensor solo atenderá una orden. Cuando acabe el movimiento (cerrar puerta,
moverse hasta el piso destino, abrir puerta, esperar 2 segundos) podrá atender otra
llamada.
 En el interior del cajón del ascensor se encuentran dos pulsadores para indicarle al
ascensor que se desplace hasta un piso.
 Cuando el ascensor llegue aun destino abrirá las puertas para dejar salir a las
personas que lo deseen, volverá a cerrar sus puertas y quedará listo para un nuevo
uso. Si quedara alguna persona dentro, esta podrá presionar el botón interior de abrir
puerta.
152
Símbolo Dirección Descripción
FOTO CELDA. Situada en la puerta del
FC i1 ascensor. Está a 0 si no se interpone
ningún objeto, y a 1 si se interpone algún
objeto.
PUERTA CERRADA. Es un detector
SPC i2
que se pone a 1 cuando la puerta se ha
cerrado del todo.
PUERTA ABIERTA. Es un detector que
SPA i3
se pone a 1 cuando la puerta se abre
totalmente.
Entradas Detector que indica que la cabina del
SP1 i4 ascensor está en un piso. Está a 1 si el
ascensor está situado en el piso 1.
Detector que indica que la cabina del
SP2 i5 ascensor está en un piso. Está a 1 si el
ascensor está situado en el piso 2.
LP1 i6
Pulsador llamado desde el piso 1.
LP2 i7
Pulsador llamado desde el piso 2.
153
Figura 111. PN para un ascensor de dos pisos
154
Función
Transición Descripción
ω (pi)
p1 (0,0,0,0) Ascensor en reposo y puerta cerrada
155
Tabla 47. Funciones asignadas a las transiciones
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t1 i6 Llamado del ascensor desde el piso 1.
156
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti)
t18 i4 El ascensor está situado en el piso 1.
1. Reactor Químico
157
Después de una señal de Inicio, el reactor químico V3 es alimentado con dos clases de
líquidos desde los vasos de medida V1 y V2. Después de que la reacción de los líquidos
es completada, el reactor V3 es descargado. Cuando el reactor está vacío, el proceso
comienza otra vez desde el estado inicial. Para asegurar una reacción completa el
agitador M agita los líquidos en el reactor. Desarrolle el modelo para el control de la
secuencia del reactor.
158
Dirección Descripción
i0 Botón de inicio
Dirección Descripción
q0 Sistema listo
q5 Agitador
159
Lugar Descripción
p1 Estado inicial
p2 Tanque V1 llenando
p4 Tanque V2 llenando
p8 Mezclando
p9 Vaciando el tanque V3
160
d. Dibuje el grafo de alcanzabilidad.
161
Figura 115. Diagrama temporal
162
Función Receptividad Retardo
Lugar Transición
ω (pi) E (ti)●ϕ (ti) τ(ti)
P1 (0,0,0,0) t1 Ki1• q0=0
P2 q0=1 t2
τ1
P3 q0=0 t3 τ2
P4 q1=0, q0=1 t4 p2 •Ki2
P5 q1=3 t5 Ki1 τ3
t3
163
7. Explique porque la red de la Figura 118 no corresponde a un modelo definido
mediante el formalismo IPN.
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p1 (0,0,0,0) t1 Ki0
p2 q1=1 t2 Ki1
p3 q0=1 t3 i2
p4 q1=0 t4 i2
p5 q0=0 t5 Li2
164
8. Considere el proceso químico simple de las Figuras 119 y 120 que combina dos
reactivos para producir un resultado final. Primero se vierte suficiente reactivo
dentro del tanque como para alcanzar un nivel especificado, después se vierte el
segundo reactivo hasta alcanzar el segundo nivel (mientras se mezclan ambos
reactivos), para luego vaciar fuera del tanque el producto final.
a. Cuando se presiona el botón Inicio, V1 deberá abrirse hasta que el nivel L1 sea
alcanzado.
b. Cuando L1 es alcanzado, el mezclador debe operar y simultáneamente V2 se
abrirá.
c. Cuando L2 es alcanzado, el mezclador se detendrá, V3 deberá abrirse hasta que
el nivel del tanque sea menor a L0.
d. El botón Fin de ciclo permite que el ciclo termine y deja el proceso en
condiciones iniciales.
e. El botón de Paro detiene el proceso inmediatamente y lo lleva a condiciones
iniciales de operación.
R1 R2
V1 V2 Inicio
L2
Paro
L1
Fin de ciclo
L0
V3 Alarma
Mezclador M
en la Figura 121. Se asume que todos los buffers son infinitos y las maquinas y los
brazos pueden atender un trabajo al tiempo. M1 puede ser atendida por el brazo R1,
mientras M2 y M3 son atendidas por R2. Se tienen tiempos de maquinado de 30, 42
165
y 45 segundos para M1, M2 y M3 respectivamente. Los trabajos requieren dos
estados de maquinado. El primero de ellos debe ser maquinado por M1 y el otro por
M2 o M3 de acuerdo a la disponibilidad de trabajo en el buffer intermedio y el
brazo robotizado R2. El proceso cuenta con un botón de fin de ciclo que le indica al
proceso detener el suministro de trabajo a la maquina M1, y esperar a que las
maquinas M2 y M3 procesen los trabajos pendientes en el buffer intermedio B2 B
M2
B1 M1 B2 R2 B3
M3
R1
166
10. Considere el sistema que se muestra en la Figura 122.
Por la cinta inferior llegan piezas. Cuando una pieza se sitúa encima de la superficie de
elevación el detector óptico D se activa. En ese momento hay que parar la cinta, subir el
cilindro hasta su posición superior (hasta que se activa el detector magnético F1), mover
el cilindro horizontal hasta F2, y volver los dos cilindros a su posición inicial (P1 y P2
activos). Las señales A1 y A2 hacen avanzar los cilindros, las señales R1 y R2 los hacen
retroceder. Si se desactivan las dos señales el cilindro se queda parado. La cinta inferior
se mueve mediante la señal M, mientras que la superior está siempre en marcha (la
controla otro proceso). Se tienen además un pulsador de marcha y otro de parada.
Cuando se inicia el automatismo el sistema debe estar en reposo. Al pulsar la marcha se
pondrá en funcionamiento. Cuando se pulse la parada el sistema acabará de trasladar la
última pieza (si hay alguna en la plataforma de subida) antes de volver al inicio y quedar
en reposo.
167
CAPITULO 4
168
El capítulo inicia con una muy breve descripción genérica del PLC, para luego abordar
la definición del tiempo de ciclo. Posteriormente, se presentan los aspectos necesarios a
considerar de la norma IEC, como el juego de instrucciones en IL y LD entre otros
aspectos relevantes para la generación de código.
Luego se presentan las reglas que permiten pasar de un modelo IPN a los lenguajes
seleccionados, en el que se ilustra la correcta realización de la codificación. Finalmente,
algunas consideraciones prácticas para la implementación, el análisis de propiedades y la
ilustración de la metodología en ejemplos prácticos.
Definición 36
Un PLC se define como un aparato electrónico operando digitalmente que usa una
memoria programable para el almacenamiento interior de instrucciones para llevar a
cabo funciones especificas como la lógica, secuenciamiento, temporización, conteo y
operaciones aritméticas para controlar a través de los módulos del entrada/salida
digitales o análogos, distintos tipos de máquinas o procesos.
169
Definición 37
RS 232 Ethernet
Estos dispositivos controlan los procesos según el programa de control (software) que
contiene la secuencia de operaciones a realizar. Las señales de entrada pueden proceder
de elementos digitales, como fines de carrera y detectores de proximidad, o analógicos,
como sensores de temperatura y dispositivos de salida en tensión o corrientes continuas.
170
Las señales de salida son órdenes digitales o señales analógicas en tensión o corriente,
que se envían a los elementos indicadores y actuadores del proceso, como lámparas,
contactores, válvulas, entre otros.
171
Figura 124. Ciclo de ejecución
Primero, el ciclo comienza con la agrupación de todos los últimos estados de todas las
señalas de entrada en la periferia de entradas y estos estados son almacenados en la
memoria entrada como se visualiza en la
Figura 3. El próximo paso es evaluar el programa para determinar nuevos estados de
salida, los cuales son almacenados en la memoria de salida. Estos estados son llevados a
la periferia en una sola operación, una vez haya sido finalizada la evaluación del
programa.
172
Figura 125. Ciclo de Scan en un PLC
173
reusabilidad del software (reduciendo la inversión en aplicaciones y dependencia del
proveedor).
 Reduce las equivocaciones y errores en el programa de usuario.
 La técnicas de programación son utilizables en otros ambientes (el control industrial
en general)
 Combina de forma armoniosa los diferentes componentes provenientes de diferentes
ubicaciones, compañías o países, o proyectos.
174
4.2.3 Tipos de datos
Variable Bits
Bool 1
Byte 8
Word 16
Dword 32
Int 16
Real 32
175
Tabla 54. Lenguajes de programación
bFB(A:=1, B:=‘OK’);
Z := X - INT_TO_REAL (bFB.OUT1);
IF Z>57.0 THEN aFB(A:=0, B:=“ERR”);
ELSE aFB(A:=1, B:=“Z is OK”);
END_IF
176
4.3 Formato (estructura de programación)
Consiste en una serie de instrucciones donde cada instrucción es una nueva línea. Una
instrucción consiste de un operador seguido por uno o más operandos. Un operando es el
“Asunto” del operador. Los operandos representan variables o constantes, lo que en la
norma EIC se llaman “Elementos Comunes”. Unos pocos operadores pueden tomar una
serie de operandos en el que cada operando debe separarse por una coma.
Cada instrucción puede usar o puede cambiar el valor guardado en un solo registro. La
norma se refiere a este registro como el resultado de una instrucción. El resultado puede
sobrescribirse con un nuevo valor, puede modificarse o puede guardarse en una variable.
IL también proporciona operadores que comparan el valor de una variable con el valor
del registro, es decir con el resultado actual. El resultado de la comparación es escrito en
el registro. Los tipos de instrucción de salto están provistos para probar el valor del
registro actual y, si es apropiado, salte a una etiqueta nombrada. Pueden usarse las
etiquetas para identificar los puntos de entrada para las instrucciones del salto. Cada
etiqueta debe seguirse por un color.
177
La Figura 126 describe las características principales del lenguaje IL:
Las instrucciones IL en la Figura 126 son equivalentes a las declaraciones del siguiente
texto estructurado.
END_IF;
%75 := 1;
178
Tabla 55. Principales Operadores del lenguaje IL
Operador Operandos Comentarios
Inicio de una red de contactos.
LD ANY Carga los operandos dentro de un registro
resultado.
ANY: Los operadores que pueden tomar operandos de un tipo de dato ANY se puede
decir que son “Sobrecargados”. Esto es, El operador puede ser usado con cualquiera de
los diferentes tipos de dato SINT, INT, tipos de datos tales como DATE_AND_TIME.
 Bloques Funcionales
179
• Bloques funcionales de detección
Los bloques funcionales R_TRIG [evento de subida (Rise), cambio de “0” a “1”]
y F_TRIG (evento de bajada (Fall), cambio de “1” a “0”] se pueden utilizar
como variables detectoras de eventos. Estos bloques generan un impulso que
dura un ciclo de operación del autómata programable, cuando se produce un
evento de su variable de entrada. La Figura 5(a) muestra el programa en lista de
instrucciones que convierte un evento de subida de la variable de entrada i1 en un
impulso en la variable de salida q1. Dicho comportamiento se representa
mediante el cronograma de la figura Figura 5(b).
180
Para que un autómata posea este tipo de bloques funcionales es necesario que
incluya en su sistema físico (hardware) circuitos temporizadores o bien que los
realice por programa (software).
Se denomina TON (Timer ON). Se caracteriza por que a partir del instante en
que la entrada IN se activa (pasa de cero a uno), la salida Q tarda un tiempo PT
en activarse y se desactiva cuando lo hace la entrada IN.
181
• Bloques funcionales contadores
Como su nombre indica, son bloques funcionales que cuentan los impulsos
aplicados a su entrada de contaje, que es una variable lógica.
Por otro lado, una bobina únicamente provee acceso y puede solo ser usada para
actualizar el estado asociado a la variable booleana cuando el flujo de potencia puede
ocurrir vía contactos desde la barra de alimentación hacía la barra de masa.
Para programar un autómata con LADDER, además de estar familiarizado con las reglas
de los circuitos de conmutación, es necesario conocer cada uno de los elementos de que
consta este lenguaje. A continuación se describen de modo general los más comunes.
182
 Elementos básicos
En la siguiente Tabla 56 se observan los símbolos de los elementos básicos junto con sus
respectivas descripciones.
(R) Bobina RESET Permite desactivar una bobina SET previamente activada.
183
 Identificación de Variables
184
 Variables internas y bits de sistema
Las variables internas o estados internos son bits auxiliares que pueden ser usados según
convenga sin necesidad de que representen ningún elemento del autómata. Se suele
indicar mediante los caracteres B ó M y tienen tanto bobinas como contactos asociados a
las mismas de los tipos vistos en el punto anterior. Su número de identificación oscila,
en general, entre 0 y 255. Su utilidad fundamental es la de almacenar información
intermedia para simplificar esquemas y programación.
Los bits de sistema son contactos que el propio autómata activa cuando conviene o
cuando se dan unas circunstancias determinadas. Existe una gran variedad, siendo los
más importantes los de arranque y los de reloj, que permiten que empiece la ejecución
desde un sitio en concreto y formar una base de tiempos respectivamente. Su
nomenclatura es muy diversa, dependiendo siempre del tipo de autómata y fabricante.
Variables de entrada que actúan por eventos se representan en la Figura 132. La Figura
10(a) representa un contacto que se cierra (toma el valor “ON”) solamente durante un
ciclo de programa cuando la variable asociada con él (en este caso i1) pasa de uno a cero.
(la letra “P” proviene de Positive Transition”.). La Figura 10 representa un contacto que
se cierra durante un ciclo de programa cuando la variable asociada con él (en este caso
i1) pasa de uno a cero. (La letra “N” proviene de Negative Transition”.) Estos elementos
cierran el contacto correspondiente (“ON”) durante un ciclo de programa cuando se
produce un evento en su variable asociada, y lo abren (“OFF”) el resto del tiempo.
185
Figura 132. Contactos activados por evento: a) Contacto que se cierra cuando la
variable Q pasa de cero a uno; b) Contacto que se cierra cuando la
variable i1 pasa de uno a cero.
Una vez conocidos los elementos que Ladder proporciona para su programación, resulta
importante resaltar cómo se estructura un programa y cuál es el orden de ejecución.
186
de los contactos y se activan si procede. El orden de ejecución puede variar de un
autómata a otro, pero siempre se respetará el orden de introducción del programa, de
manera que se ejecuta primero lo que primero se introduce.
 Trayectoria de Realimentación
 Reglas de Evaluación
187
1. Ningún elemento en una red Ladder se evaluará a menos que se hayan evaluado
los estados de todas las entradas.
2. La evaluación de un elemento de la red Ladder no estará completa hasta que los
estados de todas sus salidas sean evaluadas, es decir las salidas de un bloque de
función no deben ser consideradas disponibles hasta que todos las salidas sean
actualizadas; una bobina no debe cambiar hasta que todos los caminos en el
escalón se hayan evaluado.
3. La evaluación de una red no está completa hasta que las salidas de todos sus
elementos se hayan evaluado. Todas las salidas de toda función, bloques
funcionales y bobinas del Ladder se actualizan antes de que una red LD se
considere que está completa.
4. Cuando se transfieren los datos de una red a otra, todos los valores de los
primeros elementos de la red LD deben ser producidos por la misma evaluación
de la red. La segunda red LD no debe empezar la evaluación hasta que todos los
valores de la primera red estén disponibles.
188
4.4 Funciones lógicas
4.5 Implementación
Los criterios de análisis de un modelo IPN pueden solamente ser garantizados por el
controlador implementado si la generación de código desde un modelo IPN preserva el
comportamiento dinámico. Este comportamiento se describe a continuación y además se
189
presenta el método de generación automática de código de PLC en lenguajes IL y LD
acorde a la norma IEC 1131-3 desde una IPN.
Para la implementación del juego de marcas es necesario definir una variable booleana
pi a cada lugar del modelo IPN en el que se muestre si el correspondiente lugar esta
marcado (pi=TRUE) o si esta desmarcado (pi=FALSE). Basados en esta premisa los
elementos de la red pueden ser traducidos al PLC paso por paso
 Transiciones
190
Figura 25. Código IL compilación de transición
191
 Marcaje de lugares
Cuando todas las condiciones se cumplen (la transición está habilitada y es receptiva),
entonces la transición dispara. El código para el disparo de una transición codificado en
lenguaje IL y LD se muestra en la Figura 137 y en la Figura 138 respectivamente.
Figura 139.
192
Figura 139. Relación de código con el modelo
 Salidas
193
Figura 140. Segmento IL codificación salidas
194
Figura 142. Ejemplo generación de código
195
4.6 Generación de código para tipologías y funciones de las Redes de Petri
Receptividad
Transición
E (ti)●ϕ (ti)
t1 i1
Receptividad
Transición
E (ti)●ϕ (ti)
t1 i1
t2 i2
La transformación de los lugares que tienen asociadas funciones especiales como lo son
las temporizaciones (específicamente se utilizará el temporizador con retardo a la
conexión no memorizado) se realiza en la sección de inicialización justo antes del
cuerpo del código en el que se realiza la transformación de todas las transiciones y en el
orden en que están enumeradas en la IPN.
Receptividad
Transición
E (ti)●ϕ (ti)
t1 1
198
4.6.4 Contadores
La transformación de los lugares que tienen asignada una función contador, se realiza de
manera similar a la presentada anteriormente para los temporizadores.
p1 t1 i1• i2
p2 q1=C0+1
199
4.7 Consideraciones para la implementación
4.7.1 Direccionamiento
200
Bit
0000
0001 Byte
0002
0010
0020 Word
0030
0040
4096
201
Tabla 61.1. IEC.
I Memoria de entrada
Q Memoria de Salida
M Memoria Interna
X Bit
B Byte (8 Bits)
202
Esto desde un modelo en redes de Petri se muestra en la Figura 32.
203
Esto desde un modelo en redes de Petri se muestra en la Figura 153
Figura 153.
Función
Lugar Direccionamiento
ω (pi)
q0 Æ Q0.0
p1 (0,1)
q1 Æ Q0.1
204
Direccionamiento de los estados internos (marcas)
Lugar Direccionamiento
p1 m0.0
p2 m0.1
p3 m0.2
205
4.7.2 Marcaje inicial
Para el marcaje inicial, deben consultarse las prestaciones que ofrece el fabricante, tales
como marcas de primer ciclo o rutinas de arranque o zonas de declaración de variables,
conforme lo establece la norma, inicializando una variable booleana en valor TRUE.
Por ejemplo, en los quipos de la serie S7-200 de Siemens, se dispone de una marca
especial (SM0.1) de primer ciclo, la cual esta activa solo durante el primer ciclo, tras el
paso del PLC de modo STOP a modo RUN.
En los equipos de la serie S7-300, del mismo fabricante, se dispone del bloque de
arranque OB100, el cual se ejecuta solo una vez, tras el paso de STOP a RUN.
La codificación para este caso sería la siguiente:
OB100
S M0.0
IF FI
P1 : BOOL:= TRUE;
END_VAR
207
La organización entonces del cuerpo del programa y del cuerpo de código de las
transiciones es arbitraria.
Para que un compilador este conforme con la norma debe ser capaz de reconocer sintaxis
y entender la semántica en ella propuesta. Para preservar la estructura del programa
sugerida por la norma IEC, se propone el siguiente orden:
 LD
Temporizadores y contadores
Temporizadores
Inicialización
Temporizadores
Contadores
Activación de salidas
208
 IL
Declaración de variables
Inicialización de instancias
Cuerpo de código
El orden del cuerpo de código de las transiciones seguirá siendo arbitrario, por que
depende de la numeración de las transiciones que haga el diseñador.
209
4.7.4 Duración de un evento
210
4.7.6 Sincronización dinámica
Definición 38
Dos transiciones t1 y t2 están en sincronización dinámica si existe un marcaje
alcanzable tal, que el disparo de t1 implique el disparo simultáneo de t2 para todas o al
menos una combinación de señales de entrada.
Se presentan varios casos de sincronización dinámica:
211
( ii ) Transiciones que son receptivas, antes de estar sensibilizadas.
212
Con base en lo establecido en las reglas de generación de código y en el concepto de
estabilidad del marcaje, las transiciones que tienen sincronización dinámica, disparan en
el mismo ciclo. Esta situación puede causar problemas en el desempeño del controlador,
fundamentalmente con las acciones asociadas a los lugares que están entre las
transiciones, ya que estas acciones no se alcanzan a ejecutar.
Es recomendable entonces detectar los casos de sincronización dinámica antes de
producir el código y proceder a realizar la corrección desde el modelo.
Si no es posible corregir el código, se recomienda una de las siguientes acciones (para
los casos i) , ii):
Ejemplo 45
De la IPN de la Figura 40(a) se observa que las condiciones de disparo asociadas a las
transiciones t1 y t2 al ser traducidas al código PLC conservando el juego de marcas y en
el orden que determina la secuencia de las transiciones, originan comportamientos
erróneos del controlador.
213
Figura 160. (a) IPN. (b)Código incorrecto de la IPN.
214
Tabla 2. Funciones
Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)
p1 (1,0,0) t1 i2
p2 (0,1,0) t2 1
p3 (0,1,1) t3 i3
215
Figura 161. Código PLC correcto para la IPN de la Figura 40.
216
4.7.7 Simultaneidad de eventos
Las dinámicas típicas de los procesos discretos tienen respuestas temporales muy
superiores a los tiempos de ciclo de los PLCs y además, éstos tienen la posibilidad de
discriminar el arribo de señales con diferencias de un tiempo de ciclo.
Aun así, si se presentase el caso de dos eventos simultáneos, leídos en el mismo ciclo, el
controlador debe resolver de manera determinística esta situación. La evolución de un
sistema industrial no debe dejarse al azar.
217
termina y al llegar la marca al lugar p5, ésta debe ser retirada por el disparo de la
transición t5. Se presenta un conflicto entre las transiciones t3 y t5 por el marcaje del
lugar p3. La acción de fin de ciclo es prioritaria sobre la acción que da continuidad al
ciclo. Para lograrlo, se adiciona un retardo en t3 con lo que se le da prioridad al disparo
de t5.
Figura 1628. Red de Petri que modela un proceso con fin de ciclo.
Para ilustrar el método de generación de código a partir de una IPN se utilizará la red de
la Figura 43 y se presentará la correspondencia entre código en lenguaje IL y LD.
218
Ejemplo 47
R q1
p1 (0,0) t1 i1• i2
R q2
p2 q1=1 S q2 t2 i1 • i2
S q1
p3 (1,0) t3 i1• i3
R q2
t4 i1
219
Figura 10. Generación de código LD para la IPN de la Figura 43
220
Figura 165. Generación de código LD para la IPN de la Figura 163.
221
Ejemplo 48
PARQUEADERO
Además tiene tres sensores (Fs1, Fs2 y Fs), que controlan la posición del vehículo,
para saber si este ha abandonado el parqueadero o si en caso contrario ha ingresado.
Se define en primer lugar el direccionamiento de entradas y salidas del sistema, tal como
se muestra en la Tabla 66 y Tabla 67 respectivamente:
222
Tabla 66. Direccionamiento de las entradas
Dirección Descripción
i4 Control de acceso
Dirección Descripción
q1 Semáforo en verde
Salidas
q2 Semáforo en rojo
q3 Cierre de Puerta
q4 Apertura de puerta
223
La red de Petri será la que se presenta en la figura 167.
224
Tabla 68. Funciones
p2 (0,0,0,1) t3 i6
p3 (0,0,0,0) t4 i2●L i1
p4 (0,0,0,1) t5 i6
p5 (0,0,0,0) t6 i1●L i2
p6 (0,0,0,0) t7
p7 C‐1 (Resta t7
Cupo)
p8 (0,0,0,0) t9 L i3
p9 C+1 (Suma t9 L i3
Cupo)
225
p13 (1,0,0,0) t14
226
PROGRAMA EN STEP 7
M0.0 = M0 Q0.1 =
i1 = I0.0
Q1
M0.1 = M1 Q0.2 =
i2 = I0.2
Q2
M0.2 = M2 Q0.3 =
i3 = I0.3
Q3
M0.3 = M3 Q0.4 =
i4 = I0.4
Q4
i5 = I0.5 M0.4 = M4
i6 = I0.6 M0.5 = M5
M0.6 = M6
M0.7 = M7
M1.0 = M8
M1.1 = M9
M1.2 = M10
M1.3 = M11
C1 = Ocupado
227
228
229
230
231
Figura 168. Programa en Step 7 200
EJERCICIOS
Fotosensor1
Cilindro 1
V3
V1
Cilindro 2
V4
V2
Estampador
Fotosensor2
Motor 1
Motor 2
232
Tabla 70. Inventario de señales:
Inicio i1 NA Motor 1 q1
Fotosensor 1 i2 NC Motor 2 q2
Fotosensor 2 i3 NC V1 q3
Parada de Emergencia i4 NA V2 q4
Cilindro 1 contraído i5 NA V3 q5
Cilindro 2 expulsado i6 NA V4 q6
Cilindro 2 contraído i7 NA
233
Condiciones iníciales: Al empezar el proceso la caja puede estar siendo detectada o no
por el fotosensor 1. Ambos cilindros están contraídos.
V2 V3
N3
N2
N1
V1 V4
Motor 1
Inicio i1 NA V1 q1
N1 i2 NA V2 q2
N2 i3 NA V3 q3
N3 i4 NA V4 q4
Parada de emergencia i6 NA
234
El botón de inicio y la parada de emergencia son pulsadores.
Nota: Si se presiona parada de emergencia se cierran todas las válvulas. Si alguna botella
estaba en proceso de llenado, el operario se encargará de retirarla. Suponer que siempre
hay botellas disponibles en la banda transportadora.
En la cual:
M1 es un motor que hace girar la leva (q 1 giro horario y q 2 giro anti horario)
235
M2 (q3) es un motor que coloca piezas y las recoge mediante la activación y
desactivación de un electro imán (q 4).
Proceso:
M2 actúa de tal forma que cuando i2 Se activa, un actuador baja hasta que se da i4,
cuando el giro de la leva ha sido horario o en condiciones iníciales coloca una pieza (la
colocación toma 3 segundos) luego vuelve a subir hasta que se da i3. Cuando i2 ha sido
activado por el giro anti horario de la leva M2 hace bajar el actuador y toma la pieza,
proceso que toma 4 segundos.
El motor M1 mueve la leva en sentido anti horario hasta que se da i5, cuando esto sucede
el motor detiene la leva por 4 segundos, luego continua moviéndose en sentido anti
horario hasta que se activa i2, lo que detiene la leva; luego de la señal de activación la
leva se mueve en sentido horario hasta activar a i2 sin detenerse en i5.
El proceso se realiza 3 veces seguidas (Llegada con giro horario a i2) y luego se detiene.
Suposiciones:
236
 Inicialmente están pulsados tanto i3 como i2.
 Siempre hay piezas disponibles para colocar.
237
1. Rameback, C. (2003). Process automation systems-history and future. En:
Emerging Technologies and Factory Automation, Sweden, IEEE conference,
vol.1. pp. 3-4.
10. Litz, L. y Frey, G. (1998a). A Senior Course on Logic Process Control based
on Petri Nets. En: Conf. on Systems, Man, and Cybernetics (SMC'98), USA,
IEEE. pp. 274-277.
11. Zhou, M. y Twiss, E. (1998). Design of Industrial Automated Systems Via Relay
Ladder Programming and Petri Nets. En: IEEE Transactions on Systems, Man
and Cybernetics, USA, IEEE, Vol 28, No. 1. pp. 137-150.
12. Bordbar, B., Giacomini, L., Y Holding, D. (2000). UML and Petri Nets for
Design and Analysis of Distributed Systems. En: IEEE CCA/CACSD, USA,
IEEE. pp. 610-615.
238
13. Rumbaugh, J. (1993). Object-Oriented Modeling and Design. USA, Addison-
Wesley Professional. 2ª edición.
14. Zhou, M. y DiCesare, F. (1993). Petri nets synthesis for discrete event control of
manufacturing system. Dordrecht, Kluwer Academic publisher.
15. Zurawski, R. y Zhou, M. (1994). Petri nets and industrial applications. En:
IEEE transaction on industrial Electronics, IEEE, Vol 41, No 6, Diciembre. pp.
567-583.
16. Frey, G. y Litz, L. (1998b). Correctness analysis of petri net based logic
controllers. Kaiserslaurtern, Institute of process Automation, Universidad de
Kaiserslaurtern.
19. Park, E., Tilbury, D. y Khargonekar, P. (1999). Modular logic controllers for
machining systems: formal representation and performance analysis using petri
nets. En: IEEE transactions on robotics and automation,IEEE, vol 15, No 6.
21. Frey, G. y Schettler, H. (1998). Algebraic analysis of petri net based control
algorithms. En: Proceedings of the 4th IEE wokshop on discrete event systems
WODES’98, Cagliari, IEEE. pp 94-96
23. Zhou, m. (1996). Discrete Event Control Design Methods. En: 13th IFAC Word
Congress, Vol. 9.
239
26. Zhou, M., DiCesare, F. y Desrochers, A. (1992). A hybrid methodology for
synthesis of Petri net models for manufacturing systems. En: En: IEEE Trans.
Robot. Automation, IEEE, vol. 8, pp. 350–361.
240