Sie sind auf Seite 1von 265

DISEÑO DE AUTOMATISMOS SECUENCIALES PARA CONTROLADORES

LÓGICOS PROGRAMABLES

GERMÁN DARIO ZAPATA MADRIGAL. I.E., M.s.c.

Profesor Asociado

UNIVERSIDAD NACIONAL DE COLOMBIA

SEDE MEDELLÍN

FACULTAD DE MINAS

ESCUELA DE INGENIERIA ELECTRICA Y MECATRÓNICA

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.

En la validación industrial ha sido definitivo el apoyo que Eliana Carrasco le ha


brindado a la metodología, quien fundamentalmente ha creído en los beneficios de ella.

El mayor sentimiento de gratitud lo expreso a la Universidad Nacional, a la Dirección


de Investigaciones de la sede de Medellín y a la Facultad de Minas, que me han dado la
oportunidad y los recursos para poder avanzar en el tema.

El reconocimiento a la institución en la celebración de los 140 años de su fundación y a


la Facultad por los 120 años de Trabajo y Rectitud.
DEDICATORIA

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.

Medellín, Junio 2007


TABLA DE CONTENIDO
Pág.

INTRODUCCIÓN.........................................................................................................1

CAPITULO 1. ..............................................................................................................4

1.1 MÉTODOS FORMALES EN LA PROGRAMACIÓN DE PLC’S. ....................4

1.2 SISTEMAS A EVENTOS DISCRETOS (DES)...................................................5

1.3 REDES DE PETRI. ...............................................................................................7

1.3.1 Ventajas y Fortalezas de implementación de un automatismo mediante PN .....7

1.4 MODELAMIENTO DE SISTEMAS A EVENTOS DISCRETOS MEDIANTE


REDES DE PETRI ...............................................................................................9

1.4.1 Metodología para la especificación y diseño de controladores lógicos...........11

CAPITULO 2. ............................................................................................................12

1. Conceptos Preliminares ...........................................................................................12

1.1 N-Tupla..................................................................................................................12

2. REDES DE PETRI AUTÓNOMAS. ......................................................................12

2.1 Existencia de una red de Petri................................................................................14

2.2 Elementos de entrada y salida de una PN..............................................................15


2.3 Vecindad................................................................................................................17

2.4 Clases de redes de Petri autónomas.......................................................................19

2.4.1 Red ordinaria ......................................................................................................19

2.4.2 Red Pura ………… ………………………………………………………..…..20

2.4.3 Red de Petri Simple ...........................................................................................21

2.4.4 Red de Petri de libre eleccion……………..………………………………..…..22

2.4.5 Red de Petri Libre de elección extendida ...........................................................23

2.4.6 Redes de Petri T-Restrictivas .……………………………………………..…..23

2.4.7 Grafo de estados .................................................................................................24

2.4.8 Grafo Marcado ……………....……………………………………………..…..25

2.5 Red de Petri marcada.............................................................................................25

2.6 Comportamiento dinámico de una red de Petri …….………………………..…..30

2.6.1 Transición sensibilizada..…....……………………………………………..…..30

2.6.2 Regla de disparo.. ...............................................................................................32

2.6.3 Secuencia de disparo…...…....……………………………………………..…..35

2.7 Principio de localidad.. ..........................................................................................36

2.8 Ecuación de Estado….…...…....……………………………………………..…..36


2.8.1 Alcanzabilidad.. ..................................................................................................39

2.9 Propiedades dinámicas de las redes de Petri.. .......................................................43

2.9.1 Red Viva………..….…...…....……………………………………………..…..43

2.9.2 Red Conforme.. ..................................................................................................44

2.9.3 Red Limitada.…..….…...…....……………………………………………..…..44

2.9.4 Red Cíclica.. .......................................................................................................45

2.9.5 Red Segura….…..….…...…....……………………………………………..…..45

2.9.6 Red libre de conflicto.. .......................................................................................46

2.10 Tipologías de las Redes de Petri……………………………………………..….49

2.10.1 Secuencia.. ........................................................................................................49

2.10.2 Bifurcación………………….……………………………………………..….50

2.10.3 Union o Sincronizacion.. ..................................................................................51

2.10.4 Concurrencia o paralelismo….……………………………………………..….51

2.10.5 Cita o Rendez Vous.. ....................................................................................…52

2.10.6 Exclusión mutua…………….……………………………………………..…..53

2.10.7 Recurso Compartido.. .......................................................................................53

2.10.8 Colas…………………….….……………………………………………..…..54

2.11 Metodos de Análisis.. ..........................................................................................55


2.11.1 Método de árbol de alcanzabilidad....……………………………………..…..56

2.12 Ejemplos de aplicación........................................................................................62

2.12.1 Problema del consumidor y productor..…………………………………..…..62

2.12.2 Problema de los filósofos.. ...............................................................................66

2.12.3 Regulación de Liquido para un Tanque…….……………………………..…..67

2.12.4 Sistema Discreto de Manufactura.....................................................................71

2.12.5 Sistema de Tanques.……………………….……………………………..…...73

2.12.6 Taller de maquinado.. .......................................................................................76

2.12.7 Estación de Gasolina……….……………….……………………………..…..78

2.12.8 Protocolo de Comunicación..............................................................................80

2.12.9 Sistema Workflow.. ..........................................................................................81

2.13 Ejercicios……………………..……………….……………………………..…..82

CAPITULO 3.. ...........................................................................................................89

3.1 Álgebra booleana..……………..……………….……………………………..….90

3.2 Álgebra de eventos.. ..............................................................................................95

3.3 Redes de Petri interpretadas por periferia..…………….……………………..….101

3.3.1 Receptividad.. .................................................................................................. 101


3.3.2 Reglas de disparo de una transición con receptividad……………………..….101

3.4 Redes de Petri temporizadas............................................................................... 104

3.4.1 P-timed PN ………………………………………………………………..….104

3.5 Redes de Petri temporizadas interpretadas por periferia.. .................................. 107

3.5.1 Definición de las IPN.....…………………………………………………..….107

3.6 Análisis de IPN .................................................................................................. 113

EJEMPLOS ………………....…………………………………………………..….117

3.7 EJERCICIOS PROPUESTOS............................................................................ 158

CAPITULO 4.. ........................................................................................................ 168

4. IMPLEMENTACIÓN EN UN CONTROLADOR LOGICO PROGRAMABLE...117

4.1 Controlador Lógico programable….……………………………………………169

4.1.1 Arquitectura de un PLC .................................................................................. 170

4.1.2 Como funciona un PLC ..…….….……………………………………………170

4.1.3 Ejecución cíclica del programa y tiempo de ciclo........................................... 171

4.2 Norma IEC 61131-3....…....…….….……………………………………………173

4.2.1 Ventajas de la aplicación de la Norma IEC 61131-3.. .................................... 173


4.2.2 Elementos comunes....…....…….….………………………………………….174

4.2.3 Tipos de datos.................................................................................................. 175

4.2.4 Lenguajes de programación utilizados para programar un PLC de acuerdo a la

norma IEC 61131-3…….....…....…….….………………………………………….175

4.3 Formato (estructura de programación).. ............................................................. 177

4.3.1 Instruction List……....…....…….….………………………………………….174

4.3.2 Lenguaje ladder.. ............................................................................................. 182

4.4 Funciones Lógicas….....…....…….….………………………………………….189

4.5 Implementación.. ................................................................................................ 189

4.5.1 Dinámica de la red......…....…….….………………………………………….190

4.5.2 Interpretación de los elementos de la red.. ...................................................... 190

4.6 Generación de código para tipologías y funciones de las Redes de Petri…...….196

4.6.1 Función lógica AND........................................................................................ 196

4.6.2 Función lógica OR........................................................................................... 197

4.6.3 Temporizadores.. ............................................................................................. 198

4.6.4 Contadores....................................................................................................... 199

4.7 Consideraciones para la implementación.. ......................................................... 200

4.7.1 Direccionamiento.. .......................................................................................... 200


4.7.2 Marcaje inicial.. ............................................................................................... 206

4.7.3 Orden de programación.. ................................................................................. 207

4.7.4 Duración de un evento..................................................................................... 210

4.7.5 Estabilidad del marcaje.................................................................................... 210

4.7.6 Sincronización dinámica.................................................................................. 211

4.7.7 Simultaneidad de eventos.. .............................................................................. 217

4.7.8 Ilustración del método de generación de código.. ........................................... 218

EJERCICIOS.. .......................................................................................................... 232

BIBLIOGRAFIA.. .................................................................................................. 238

ABREVIATURAS.. ................................................................................................ 241


LISTA DE TABLAS

Pág.

Tabla1. Representaciones graficas de Cabernet….……………………………..…58

Tabla 2. Descripción de lugares y transiciones….………………………………...69

Tabla 3. Descripción de lugares y transiciones….…………………………….......72

Tabla 4. Descripción de lugares y transiciones….………………………….……..74

Tabla 5. Descripción de lugares y transiciones….………………………………...77

Tabla 6. Descripción de lugares y transiciones….………………………………...79

Tabla 7. Descripción de lugares y transiciones..…………………………………..81

Tabla 8. Descripción de lugares y transiciones……………………...…………….82

Tabla 9. Leyes del algebra booleana …………….……………………………….90

Tabla 10. Combinación lógica.……………….……………………………...……92

Tabla 11. Combinación lógica……………………………………………………..93

Tabla 12. Leyes del algebra Booleana.…………………………………………….94

Tabla 13. Funciones……………………………………………………………....112

Tabla 14. Temporizaciones para la red……………………………………………115

Tabla 15. Lugares…………………………………………………………………118

Tabla 16. Transiciones…………………………………….…………….………118

Tabla 17. Direccionamiento de las entradas…………………………………….119

Tabla 18. Direccionamiento de las salidas………………………………………119


Tabla 19. Funciones……………………………………….……………………..121

Tabla 20. Lugares…………………………………….…….…………………….122

Tabla 21. Transiciones……………………………………………….…………..122

Tabla 22. Funciones………………………………………………………..…….124

Tabla 23. Lugares………………………………………………………………...126

Tabla 24. Transiciones……………………………………………………………127

Tabla 25. Direccionamiento de las entradas………………………………..……127

Tabla 26. Direccionamiento de las salidas…………………………….…………128

Tabla 27. Funciones………………………………………………………….…..129

Tabla 28. Lugares……………………………………………………………..…130

Tabla 29. Transiciones…….………………………………………...…………..131

Tabla 30. Direccionamiento de las Entradas…………………………………….131

Tabla 31. Direccionamiento de las salidas.………………………….…………..132

Tabla 32. Funciones………………………………………………….………….133

Tabla 33. Direccionamiento de las Entradas…………………………………....135

Tabla 34. Direccionamiento de las salidas………………………………………135

Tabla 35. Funciones asignadas a los lugares……………………………………137

Tabla 36. Funciones asignadas a las transiciones……………………………….138

Tabla 37. Direccionamiento de las entradas…………………………………….141

Tabla 38. Direccionamiento de las salidas………………………………..…….142


Tabla 39. Funciones...........................................................................................144

Tabla 40. Direccionamiento de las entradas…………………………………….146

Tabla 41. Direccionamiento de las salidas……………………………………...147

Tabla 42. Funciones asignadas a los lugares......................................................149

Tabla 43. Funciones asignadas a las transiciones…………………………..…..150

Tabla 44. Direccionamiento de las entradas…………………………………….153

Tabla 45. Direccionamiento de las salidas…………………………….....……..153

Tabla 46. Funciones asignadas a los lugares…………………………………….155

Tabla 47. Funciones asignadas a las transiciones……………………………….156

Tabla 48. Descripción de entradas………………………………………………159

Tabla 49. Descripción de salidas………………………………………………..159

Tabla 50. Descripción de lugares……………………………………………….160

Tabla 51. Funciones…………………………………………………………….163

Tabla 52. Funciones……………………………………………………………….164

Tabla 53. Tipos de datos………………………………………………………..…175

Tabla 54. Lenguajes de programación………………………………………….....176

Tabla 55. Principales Operadores del lenguaje IL…………………………….…..179

Tabla 56. Símbolos en diagramas Ladder…………………………………………183

Tabla 57. Funciones lógicas………………………………………………….……189

Tabla 58. Funciones para la IPN de la función lógica AND……………………...196

Tabla 59. Funciones para la IPN de la función lógica OR………………..……….197


Tabla 60. Funciones para la IPN para el temporizador……………………………198

Tabla 61. Funciones para la IPN de la función contador…………………..……..199

Tabla 61.1. IEC…………………………..………………………………………..202

Tabla 2. Tabla de asignación de memoria………………………………………..204

Tabla 63. Tabla de asignación de memoria………………………………………..205

Tabla 3. Funciones…………………………………………………..…………....215

Tabla 4. Funciones para la IPN de la Figura 163…………………………………219

Tabla 66. Direccionamiento de las entradas……………………………………….223

Tabla 67. Direccionamiento de las salidas…………………………………………223

Tabla 68. Funciones………………………………………………………………...225

Tabla 69. Inventario de señales……………………………………………………..227

Tabla 70. Inventario de señales……………………………………………………233

Tabla 71. Inventario de señales…………………………………………….………..234


LISTA DE FIGURAS

Pág.

Figura 1. Proceso de diseño para Sistemas de Control Lógico..............……………...4

Figura 2. Sistema a eventos discretos……………………....…………………………6

Figura 3. Extensiones de PN………….…………………....…………………………9

Figura 4. Modelo de un DES con PN ……………………...………………………...10

Figura 5. Representación gráfica de una PN…………………………………………14

Figura 6. Estructuras que no representan una red de Petri…..………………………..14

Figura 7. Conjuntos de lugares de entrada y salida …………………………………..16

Figura 8. Conjuntos de transiciones de entrada y salida …………………………….16

Figura 9. Vecindad de t4……………..……………………………………………….17

Figura 10. Ejemplo Vecindad……………………..………………………………….18

Figura 11. PN ordinaria……………..……………..………………………………….19

Figura 12. PN no pura……………………………..………………………………….20

Figura 13. Transformación de una red de Petri NO pura en una pura…………..……21

Figura 14. Red de Petri simple……………..……....…………………………………21

Figura 15. Red de Petri de libre elección……………………………………………...22


Figura 16. Transformación de una PN libre elección extendida a una PN libre elección..

……………..………………………………………………………………………..…23

Figura 17. Red de Petri Restrictiva.……………..………………………………........24

Figura 18. Grafo de estados………………………..…………………………………24

Figura 19. Grafo Marcado……………..……………………………………………...25

Figura 20. Red de Petri marcada……………..……………………………………….26

Figura 21. Red de Petri marcada …………………..…………………………………27

Figura 22. Red de Petri autónoma…..……………..………………………………….29

Figura 23. Transiciones sensibilizadas……………..………………………………….31

Figura 24. Ejemplo de transiciones sensibilizadas…………………………………….31

Figura 25. Marcaje de una red obtenido por el disparo de una transición

sensibilizada……………………………….………..………………………………….33

Figura 26. PN Pura para la obtención de la ecuación de

estado……………………………..………………………....…………………………38

Figura 27. Alcanzabilidad de un PN……………..……………………………………41

Figura 28. PN no viva………………...……………..…………………………………44

Figura 29. PN Cíclica…………………..……………………………………………...45

Figura 30. Red de un sistema con conflicto ……………………….………………….46

Figura 31. PN equitativa………..…………………..…………………………………47

Figura 32. PN Justa……………...…..……………..………………………………….48


Figura 33. Matriz de incidencia previa de la PN de la figura 32…….………….…….48

Figura 34. Proceso Secuencial…..……..……………………………………………...49

Figura 35. Bifurcación………………………..……………………………………….50

Figura 36. Sincronización…………………………..…………………………………51

Figura 37. Concurrencia o paralelismo…...………..………………………………….52

Figura 38. Red correspondiente a un sistema con cita………………………………..52

Figura 39. Exclusión Mutua…………………..………………………………………53

Figura 40. Red de un sistema con recurso compartido ……………………….……...54

Figura 41. Red de Petri que representa una cola …..……....…………………………55

Figura 42. Red de Petri y su árbol de alcanzabilidad..…………..……………………57

Figura 43. PN no limitada…………...……………..………………………………….59

Figura 44. Trayectoria para visualizar la ventana de opciones del TRT….…………...60

Figura 45. Opciones del TRT………..…………………………….……….………….60

Figura 46. Obtención del árbol de alcanzabilidad....……………………….…………60

Figura 47. Árbol de alcanzabilidad con Cabernet…..…………………………………61

Figura 48. Propiedades del nodo S1…………………………………………….…….62

Figura 49. Representación de la necesidad de dos condiciones para el paso a un nuevo

estado…………………………………………………………………………………..63
Figura 50. Modelamiento de las condiciones para producir y depositar objeto en el

almacén...........................................................................................................................64

Figura 51. Reestablecimiento del recurso y modelamiento del aumento de objetos en el

almacén………………………………………………………………….………...……64

Figura 52. Extracción del producto del almacén………………………………………65

Figura 53. Red de Petri para el problema del productor – consumidor.……………….65

Figura 54. Esquema del problema de los filósofos…………………….….…………...66

Figura 55. Red de Petri correspondiente al problema de los filósofos…………..…….67

Figura 56. Ejemplo de regulación de nivel………………………………….…………68

Figura 57. Matriz de incidencia…..……………………………………………………70

Figura 58. Red de Petri para el llenado de un tanque………………...………….…….71

Figura 59. Sistema discreto de manufactura….………………………………………..72

Figura 60. Red de Petri para el sistema de manufactura………………………............73

Figura 61.Sistema de tanques………………………….……………….………...……74

Figura 62. PN para el sistema de tanques…………………...…………………………74

Figura 63. Gráfico de descripción del sistema de tanques…………....……………….74

Figura 64. Sistema de producción……………………………………..….…………...76

Figura 65. PN del sistema de producción……………………………………….…….77

Figura 66. Estación de Gasolina…………………………………………….…………78


Figura 67. Modelo simplificado de un protocolo de comunicación…………...………80

Figura 68. Proceso del tratamiento de fallas…………………………………….…….81

Figura 69.………………………………………………….…………………………..82

Figura 70........................................................................................................................83

Figura 71. …………………………………………………………..….………...……84

Figura 72. PN para el sistema de tanques……………………………………………..85

Figura 73. Grafico de descripción del sistema de tanques.……………………………87

Figura 74. Sistema de producción.….…………………………………………….…...88

Figura 75. PN del sistema de producción……………………………………….…….88

Figura 76. Proceso Controlado.....……………………….……………………………89

Figura 77. Diagrama temporal para la variable booleana a……………………………95

Figura 78. Gráfica correspondiente a la Definición 34…………....…………….…….96

Figura 79. ……………………………………………………………………………..99

Figura 80.......................................................................................................................100

Figura 81.……..……………………………………………………….………...……100

Figura 82. Red de Petri interpretada…………………………….……………………101

Figura 83. Diagrama temporal…………………………………………………….….102

Figura 84. PN con receptividad…………………….….…………………………….103

Figura 85. Diagrama temporal para la PN de la Figura 74…..……………………….104


Figura 86. Representación de una red de Petri temporizada….………….…………106

Figura 87. Esquema temporal de la red de la Figura 86….…………………………106

Figura 88. Proceso controlado con PLC……………………………...……….…….107

Figura 89. ……………………………….….………………………………………..109

Figura 90. Notación simplificada de una IPN ………………..…………….............111

Figura 91. PN para la simplificación de la notación..…………….….………...……112

Figura 92. PN autónoma no-limitada mientras la t -PIPN es limitada………………113

Figura 93. Red de Petri interpretada …………....……………………………..…….114

Figura 94. IPN para el estudio de vivacidad ……………………..….……………...115

Figura 95. Vivacidad y IPN….………………………………………………..…….116

Figura 96. Vivacidad y IPN.………………………………………….………..……116

Figura 97. Sistema de llenado de dos tanques…………………………………....…117

Figura 98. IPN correspondiente al automatismo del sistema de tanques (secuencial).120

Figura 99. IPN correspondiente al automatismo del sistema de tanques (paralelo)…123

Figura 100. Compresor – Acumulador de aire.............................................................125

Figura 101 IPN para el automatismo de la cámara de aire……….….…..……...……128

Figura 102. Celda de manufactura……………………………………….…………..130

Figura 103. IPN para la celda de manufactura………………………...…..…………132

Figura 104. Brazo Transportador de Piezas……………………………….…….…...134


Figura 105. IPN para el brazo transportador………………………………..….…….136

Figura 106. Máquina de Transferencia circular ……………………………………..140

Figura 107. Modelo en PN para el automatismo del transfer circular...………...……143

Figura 108. Cruce vial regulado por semáforos ………………………..……….…...145

Figura 109. Modelo en PN para el automatismo del semáforo.……………….…….148

Figura 110. Ascensor de dos pisos..............................................................................151

Figura 111. PN para un ascensor de dos pisos….……………………….……...……154

Figura 112. Reactor químico…………………………………………..……………..158

Figura 113. Red de Petri para el análisis………………...…………………...………160

Figura 114. Red de Petri para el análisis……………………………………….……161

Figura 115. Diagrama temporal……………………………………………….….….162

Figura 116. IPN………………………………………………………………….…..162

Figura 117. Diagrama temporal para el automatismo de tres motores………………163

Figura 118. PN para el ejercicio 7…………………………………………………..164

Figura 119. Proceso químico…………………………………………………………165

Figura 120. Instrumentación para el proceso químico…………………….…………165

Figura 121. Taller de Maquinado…………………………………………………….166

Figura 122. Bandas transportadoras……………………………………………...…..167

Figura 123. Estructura del PLC………………………………………………………170


Figura 124. Ciclo de ejecución……………………………………….………………172

Figura 125. Ciclo de Scan en un PLC……………………………………….……….173

Figura 126. Estructura del lenguaje IL………………………………….…………...178

Figura 127. Bloque funcional RT1 Convertidor de un evento de subida en un

impulso……………………………………………………………………………..…180

Figura 128. Bloque funcional temporizador con retardo a la conexión ON…………181

Figura 129. Símbolo lógico de los diferentes tipos de contadores…………………..182

Figura 130. Asignación de variables lógicas en el lenguaje de diagrama de

contactos……………………………………………………………………………....184

Figura 131. Símbolo de una función de salida interna o externa………………….…184

Figura 132. Contactos activados por evento……………………………………….186

Figura 133. Distribución de un programa…………………………………………….186

Figura 134. Ejemplo de una trayectoria en LD………………………………………187

Figura 25. Código IL compilación de transición……...…………………………….191

Figura 3. Código LD compilación de transición…………………………..………191

Figura 137. Relación entre los elementos de una IPN, LD e IL…………….………191

Figura 437. Código IL de transición parte 2: disparo……………………….….……192

Figura 5. Código LD de transición, parte 2: disparo……………………………...192

Figura 139. Relación de código con el modelo………………………………………193

Figura 140. Segmento IL codificación salidas……………………………………….194

Figura 141.Segmento LD codificación salidas…………………………………...…..194

Figura 142. Ejemplo generación de código………………………………..……….195


Figura 143. Función lógica AND convergente (Unión o sincronización)…………....196

Figura 144. Función lógica AND divergente (Bifurcación)……………………...….196

Figura 145. Función lógica OR convergente……………………………………..…..197

Figura 146. Función lógica OR divergente (Exclusión mutua)…………………...….197

Figura 147. Código Generado para la función temporizador………………………...198

Figura 148. Código Generado para la función contador……………………………..199

Figura 149. Direccionamiento IEC………………………………………………..….201

Figura 6. Direccionamiento de las entradas digitales..............................………….202

Figura 151. Direccionamiento de las entradas existentes en la receptividad de una

PN…………………………………………………………………………………….203

Figura 152. Direccionamiento de las salidas digitales………………………………203

Figura 153. …………………………………………………………………………..204

Figura 7. Direccionamiento de las salidas………………………………...………205

Figura 155. Marca especial (SM0.1) de primer ciclo………………………………...206

Figura 156. Estructura de programación para programas IPN…………………….…209

Figura 157. Transiciones con receptividad “1”……………………………………..211

Figura 158. Transiciones que son receptivas, antes de estar sensibilizadas……….…212

Figura 159. Transiciones consecutivas con una receptividad equivalente…...………212

Figura 160. (a) IPN. (b)Código incorrecto de la IPN………………………………...214

Figura 161. Código PLC correcto para la IPN de la Figura 40……………………....216


Figura 1628. Red de Petri que modela un proceso con fin de

ciclo……………..…….218

Figura 9. Ilustración de la representación grafica de una IPN…………………….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

Figura 166. Sistema de Parqueadero…………………………………………………222

Figura 167. IPN de Parqueadero…………………………………………………..…224

Figura 168. Programa en Step 7 200…………………………………………...…….228

Figura 169. Esquema del proceso…………………………………………...………..232

Figura 17011. Esquema del proceso de llenado de

botellas……………………….……234

Figura 171. Sistema de Leva…………………………………………………...…….235


Abreviaturas.

IEC: International Electrotechnical Commission.

DIME: Dirección de Investigación Universidad Nacional Sede Medellín.

LD: Ladder Diagram.

FBD: Function Block Diagram.

IL: Lista de Instrucciones.

ST: Texto Estructurado.

SFC: Diagrama de secuencias funcional.

PLC: Controlador lógico programable.

DES: Sistemas dinámicos a eventos discretos.

IPN: Redes de Petri Interpretadas por Periferia.

PN: Red de petri.

241
INTRODUCCION

La manufactura y los procesos industriales a nivel global están siendo transformados a


través de cambios radicales bajo el impacto de las nuevas tecnologías y las tendencias de la
nueva economía. Así es como obligadas por estas tendencias, un mayor número de
compañías se apresuran para adoptar las nuevas tecnologías y las nuevas formas
organizacionales de producción para estar en capacidad de permanecer de forma
competitiva en el nuevo medio que se define, de esta manera se determina una creciente
complejidad de los procesos industriales llevando a definir los nuevos requerimientos de la
automatización industrial. Según Rameback (Rameback, 2003), éstos estuvieron sujetos
únicamente a la supervisión y control de los procesos, pero durante las últimas décadas
funciones de control avanzado, alarmas, conexiones con sistemas de negocios, entre otros,
han tenido que ser agregados. Además los usuarios requieren optimizar los recursos,
adherirse a las regulaciones medio ambientales así como a la de los procesos (certificación
de calidad). Todo esto introduce nuevos requerimientos dentro de los procesos de control
de sistemas automatizados modernos.

En la actualidad los sistemas tradicionales de control de procesos son sistemas basados en


computadores que controlan flujos, temperaturas, presiones, entre otros, en un extenso
número de procesos industriales. Durante los años 60’s los computadores tomaron el papel
de los controladores. Después los primeros microprocesadores llegaron al mercado y se
introdujo el control basado en microprocesadores. Al mismo tiempo los primeros
controladores lógicos programables (PLC’s) fueron lanzados, y se basaron en la tecnología
de los microprocesadores. Sus aplicaciones fueron el control binario on-off y control
secuencial (Rameback, 2003). Los nuevos avances en electrónica digital y las
comunicaciones han dejado las puertas abiertas y el futuro en el control de procesos es
simplemente impredecible.

Desde su aparición como opción tecnológica para resolver tareas secuenciales en


automatización industrial, los PLC´s han tenido una notable evolución tecnológica, tanto en
hardware como software. En hardware pueden encontrarse actualmente soluciones con
procesamiento paralelo, procesamiento de tareas rápidas, módulos especiales de hardware,
sistemas tolerantes a fallas, terminales de operador, puertos de comunicaciones, puertos
Ethernet, alta densidad de entradas/salidas y módulos entrada/salida especiales. En cuanto a
software, es posible encontrar ambientes gráficos de programación, programación orientada
a objetos, normalización de los lenguajes de programación (IEC, 2003), estándares de
integración (OLE for process control – OPC), algoritmos especiales integrados (regulación
PID, lógica difusa, controladores de posición) y programación de alto nivel. Esto ha
generado una complejidad de los programas de PLC que se ve reflejada en la dificultad de
sostenibilidad, manipulación y comprensibilidad del código de control, ya que ahora los
PLC´s no solo realizan operaciones secuenciales, sino también rutinas de autodiagnóstico,
control supervisorio, diagnóstico de fallas de sensores, recuperación después de fallas,
enlaces con niveles de automatización jerárquicos superiores, manejo de recetas, e incluso,
controlan procesos batch y procesos continuos (DIME, 2004a), (DIME, 2004b). En el PLC
los lenguajes de programación permiten la codificación de la información y la capacidad de
establecer un medio sencillo, pero preciso, para que el programador pueda especificar la
secuencia de tratamiento de la información que se requiere del sistema de control.

La norma IEC 61131-3 (IEC, 2003) define cuatro lenguajes de programación y en


Miyazawa, Tanaka y Sekiguchi (Miyazawa, Tanaka y Sekiguchi, 1997: 532-537) se hace
una clasificación de estos. Se tienen dos clases de lenguajes gráficos Ladder (LD) y el
Function Block Diagram (FBD), dos clases de lenguajes textuales: Lista de Instrucciones
(IL) y Texto Estructurado (ST) y además se referencia como un elemento común el
diagrama de secuencias funcional (SFC) que es implementado en proyectos de software de
alto nivel (Chmiel, Hrynkiewicz y Muszynski, 2002: 169- 173) (Benítez Pina, Vázquez
Seisdedos y Villafruela Loperana, 1999: 1029-1034).

Según Feldmann, Colombo , Schnur y Stockel (Feldmann, Colombo , Schnur y Stockel


1999: 657-665) un rasgo importante del éxito industrial de los PLC’s ha sido el fácil
aprendizaje de los lenguajes de programación utilizados para programarlo. No obstante,
estos sistemas de programación usan varios métodos de codificación que no están provistos
de un medio de chequeo formal y ninguna herramienta teórica o práctica determinan la
correcta estructura del diseño.

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.

La primera parte presenta unos conceptos introductorios, que justifican la aplicación de


métodos de diseño formal en los Sistemas a eventos discretos, los cuales también se
describen. Se presenta también la introducción del formalismo matemático, denominado
Redes de Petri, destacando sus ventajas.

2
El segundo capítulo aborda los conceptos y definiciones matemáticas que serán utilizadas
durante el desarrollo de la metodología.

La tercera parte particulariza la extensión de Redes de Petri específica para la aplicación en


controladores lógicos programables, denominada Redes de Petri temporizadas
interpretadas por periferia.

Finalmente, el capítulo de implementación ilustra suficientemente la aplicación de la


metodología, tomando ejemplos académicos e industriales y haciendo uso de los lenguajes
establecidos por la norma internacional IEC 61131-3.

Se entrega además abundante bibliografía que soporta los desarrollos académicos y se


recomienda el uso de algunos simuladores.

3
CAPITULO 1

1.1 MÉTODOS FORMALES EN LA PROGRAMACIÓN DE PLC’S.

Como se presenta en Frey, G. (1998a) y en Frey, G. (1998a) la Especificación Informal se


refiere a lo que no esta basado en una composición estricta, en una forma bien definida
sintáctica y semánticamente.

La Implementación Directa de los controladores se hace a partir de la especificación


informal usando un lenguaje de programación de PLC. El método informal de Validación
es la prueba del controlador implementado, contra la especificación informal.

La Formalización es la conversión de una especificación informal a una formal, empleando


una base matemática. La formalización consiste en tres tareas:

• Formalización de propiedades específicas.


• Modelamiento formal de un proceso no controlado.
• Modelamiento formal directo de un algoritmo de control.

En la figura 1 se muestra el proceso de diseño propuesto por Frey.

Figura 1. Proceso de diseño para Sistemas de Control Lógico

En (DIME, 2004a) se presentan algunas razones para la aplicación de métodos formales en


la programación de PLC’s.

• El crecimiento en la complejidad de los problemas de control.


• La demanda de tiempos reducidos de desarrollo.
• La posibilidad de reutilizar módulos de software existentes.

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:

• No se obtienen soluciones idénticas entre grupos de trabajo.


• Las soluciones dependen de los estilos personales de programación.
• Se producen algoritmos con errores.
• Altos tiempos de generación de soluciones.
• La dificultad de hacer modificaciones que reflejen cambios en el sistema de
especificaciones funcionales.
• Se dificulta el mantenimiento de los programas.
• La mayoría de las soluciones no son transparentes en el sentido de que usuarios del
algoritmo no lo entenderán sin ser necesaria una completa explicación.

1.2 SISTEMAS A EVENTOS DISCRETOS (DES).

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.

La evolución en el tiempo del sistema se traduce en cambios de estado de algún atributo de


una entidad, a través de un evento que ocurre en cierto instante. En la figura 2 se ve que el

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

Figura 2. Sistema a eventos discretos.

La aplicación de los DES en automatización es típica de procesos en los que se presentan


tareas secuenciales y concurrentes. Entre ellos se pueden mencionar: procesos de
mecanizado, prensado, galvanizado, líneas de transferencia, procesos de inyección,
soplado, termo formado, fundición, soldadura, redes de computadoras, redes de
comunicaciones, tráfico vehicular, logística, FMS (Bordbar, Giacomini y Holding, 2000:
610-615), entre otros etc. Los DES son una clase importante de sistemas dinámicos que
evolucionan en el tiempo por la abrupta ocurrencia de ciertos fenómenos físicos llamados
eventos en intervalos de tiempo posiblemente irregulares.

Los DES requieren de un complejo sistema de control con el objetivo de asegurar la


correcta y optima operación. Así mismo, con el objeto de facilitar el diseño de sistemas
complejos, de elaborar diseño y especificaciones más entendibles, de facilitar la transición
entre el diseño y la implementación y finalmente hacer posible el software re-usable, varios
investigadores (Bordbar, Giacomini y Holding, 2000: 610-615) que incluyen a Rumbaugh
(Rumbaugh, 1993), han invocado un cambio de paradigma hacia las técnicas orientadas a
objetos para el control de DES.

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.

Dentro de los formalismos más populares de representación de DES están:

• Redes de Petri.
• Grafcet
• Statecharts.
• Grafos de eventos.
• Máquinas de estados finitos
• Algebra.

El Grupo de Automática de la Universidad Nacional ha seleccionado como formalismo de


trabajo las Redes de Petri (PN), por ser una de las herramientas de mayor desarrollo y
aplicación y por la amplia disponibilidad de recursos y producción académica con que se
cuenta en la actualidad.

1.3 REDES DE PETRI.

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.

1.3.1 Ventajas y Fortalezas de implementación de un automatismo mediante PN.

• Formalismo matemático, que facilita la especificación formal, evitando ambigüedades.


• Sintaxis y semántica bien definida.
7
• Flexibilidad.
• Herramienta gráfica para modelar DES.
• Provee técnicas de análisis.
• Permite la construcción sistemática de modelos de sistemas a eventos discretos y
controladores.
• Se facilita el mantenimiento y modificaciones posteriores en los modelos
• Garantizar el desempeño del modelo en términos de
- No Bloqueos
- Ciclicidad
- Estabilidad
- Alcanzabilidad de estados deseados.

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

1.4 MODELAMIENTO DE SISTEMAS A EVENTOS DISCRETOS MEDIANTE


REDES DE PETRI.

El modelamiento de DES con las PN ayuda a regular o supervisar la conducta de sistemas


DES. Las PN tienen una representación formal y matemática simple pero robusta, que las
hace particularmente útiles para el diseño, análisis y control de procesos automatizados
descritos por los sistemas a eventos discretos.

9
Figura 4. Modelo de un DES con PN

En (Zhou y Cesar, 1993), (Zurawski y Zhou, 1994) se implementa una metodología de


especificación para los DES donde se presentan herramientas para la especificación de
sistemas, modelamiento rápido (simulación), jerarquización y programación estructurada.
A través de la aplicación de estas herramientas se entiende por modelamiento la
construcción de algoritmos utilizando un formalismo matemático que describan el
comportamiento del sistema especificado (Frey y Litz, 1998b), (Frey, 1998b).

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.

1.4.1 Metodología para la especificación y diseño de controladores lógicos.

En definitiva, una metodología para la especificación y diseño de controladores lógicos


para automatismos secuenciales debe incluir:

• 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

Se define una n‐tupla como una sucesión de n objetos, 〈a1,…..,an〉. La propiedad


fundamental que diferencia una n‐tupla de un conjunto finito es el papel que
desempeña el orden entre sus elementos, así, dadas 〈a1,…..,an〉, 〈b1,…..,bm〉 se tiene:

〈a1,…..,an〉 = 〈b1,…..,bm〉     m = n ∧ a1 = b1,…..,an = bm

 Nombre de tuplas

El nombre de las tuplas se origina como abstracción de la secuencia: singular, doble,


triple, cuádrupla, quíntupla,..., n‐tupla. Una tupla de longitud n se describe
generalmente como n‐tupla. Una 2‐tupla es un par ordenado; una 3‐tupla es una
tripleta o un trío. La n puede ser cualquier número entero positivo.

2. REDES DE PETRI AUTÓNOMAS (Petri Nets - PN)

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.

Los conceptos presentados son fundamentales para la metodología de diseño que se


propone, especialmente lo relacionado con la sintaxis (estructura de los modelos) y la
semántica (su comportamiento).

12
Definición 3.

Una PN autónoma está definida como una 4‐tupla: 

 
R = 〈P,T,Amxn,Bmxn〉 

Donde:

P:  Es un conjunto finito, no vacío de m lugares, cada lugar se representa mediante un


círculo.

P = {p1, p2, p3, …, pm} , ⎟⎜P⎟⎜= m, P ≠  φ  

T: Conjunto finito, no vacío de n transiciones, las transiciones se representan mediante


una línea.

T = {t1, t2, t3, …, tn} , ⎟⎜T⎟⎜= n, T ≠  φ  

Amxn: Matriz de incidencia previa, representa un arco dirigido de pi a tj de peso

a(pi , tj) ∈ N, con i=1,2,3,…,m y j=1,2,3,…,n. 

A : PxT ˆ N  

Bmxn: Matriz de incidencia posterior, representa un arco dirigido de tj a pi con peso


B

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.

Figura 5. Representación gráfica de una PN

2.1. Existencia de una red de Petri

En toda red de Petri debe cumplirse que:

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.

Figura 6. Estructuras que no representan una red de Petri.

14
2.2. Elementos de entrada y salida de una PN.

Sea:

X = P  U  T. 

Se definen los siguientes conjuntos:

 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 } 

Entonces, con base en los conjuntos definidos anteriormente se tienen:

 Conjuntos de lugares de entrada y salida


tj = { pi ∈ P / a(pi , tj) >0}       Conjunto de lugares de entrada a tj

tj• = { pi ∈ P / b(pi , tj) >0}      Conjunto de lugares de salida de tj

15
p1 p2 p3 t1

p1 p2 p3
t1

Conjunto de lugares de entrada Conjunto de lugares de salida

Figura 7. Conjuntos de lugares de entrada y salida.

 Conjuntos de transiciones de entrada y salida

 

pi = { tj ∈ T / b(pi , tj) >0}                Conjunto de transiciones entrada a pi

pi• = { tj ∈ T / a(pi , tj) >0}                 Conjunto de transiciones de salida de pi

P1 t1 t2 t3

P1
t1 t2 t3

Conjunto de transiciones de entrada Conjunto de transiciones de salida

Figura 8. Conjuntos de transiciones de entrada y salida.

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

La vecindad de x ∈ X, se define como:

nbh(x) =  •x  U  x•

Ejemplo 1

Sea la red de la figura 9, hallar la vecindad de la transición t4 a partir de la definición.

Figura 9. Vecindad de t4.

Teniendo en cuenta la definición de vecindad, se tiene para t4:

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.

Figura 10. Ejemplo vecindad.

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.

• •
p4 = { t2 ,t3}  t5 = { p4 ,p5} 

El elemento de salida de p4 es la Los elementos de salida de t1 son los


transición t5. lugares p2 y p3.


  p4  = { t5 }  t1•= { p2 ,p3} 

nbh(t1)= •t1  U  t1• = { p1, p2, p3} 

18
2.4. Clases de redes de Petri autónomas

2.4.1. Red ordinaria

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

Figura 11. PN Ordinaria.

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 

Figura 12. PN no pura

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.

2.4.3. Red de Petri Simple (Asymetric choice)

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.

p1•  I  p2•  ≠   φ  ˆ p1• ⊆ p2•  ∨ p1• ⊇ p2•  ∀ p1 , p2 ∈  P 

Ejemplo 4

Figura 1. Red de Petri simple.

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

Figura 2. Red de Petri Libre Elección.

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

En la figura 16 se desarrolla la transformación de una PN libre elección extendida a una


estructura PN libre elección.

Figura 16. Transformación de una PN libre elección extendida a una PN libre


elección.

2.4.6. Redes de Petri T-Restrictivas

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

Figura 17. Red de Petri T-Restrictiva.

2.4.7. Grafo de Estados

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:

∀ t ∈ T :  • t  =  t •  =1 

Ejemplo 8

Figura 18. Grafo de Estados.

Un grafo de estados no permite modelar procesos paralelos.

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.

∀ p ∈ P :  •p  =  p•  = 1 

Ejemplo 9

Figura 19. Grafo Marcado.

Un Grafo Marcado (GM) puede modelar la creación o destrucción de marcas o


determinadas sincronizaciones entre actividades, pero no puede expresar alternativas en
la evolución. Entonces un GM puede modelar sistemas en los que el número de estados
no es finito.

2.5. Red de Petri marcada

Para representar el comportamiento dinámico de una red, se define el concepto de


marcaje, el cual es la asignación de un entero no negativo a los lugares que se representa
mediante un círculo negro dentro del lugar.

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

Una red de Petri marcada es una 5-tupla:

RM = 〈P,T, Amxn,Bmxn,M0〉 = 〈R, M0〉 

Donde:

R: Es una red de Petri

M0: Es un marcaje inicial.

M: Es una aplicación de P en N, en la que se asigna un entero no negativo a cada


lugar

M(pi) : pi  → N 

M(pi): Es el número de marcas en el i-ésimo lugar.

Figura 20. Red de Petri marcada.

26
El conjunto de todos los marcajes de una red, alcanzables desde el marcaje inicial, se
denota:

M(R, M0) 

El marcaje se representa mediante un vector columna y el número de sus elementos esta


determinado por el número de lugares que constituyen la red. Esto se muestra en el
siguiente ejemplo.

Ejemplo 10

Sea la siguiente PN autónoma, para ella se requiere una representación en notación


estándar:

Figura 21. Red de Petri marcada.

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 ⎥

T={t1, t2, t3, t4, t5} p4 ⎢ 0 0 0 0 1 ⎥ p4 ⎢ 0 1 1 0 0 ⎥


⎢ ⎥ ⎢ ⎥
p5 ⎣ 0 0 0 0 1 ⎦ p5 ⎣ 0 0 0 1 0 ⎦

p1   p2     p3      p4    p5


T
M 0   =   [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

Figura 22. Red de Petri Autónoma.

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⎦

p1    p2    p3     p4     p5     p6


T
M 0   =   [ 2     0      0      0      0     0 ]

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 }   

El elemento de salida de p4 es la Los elementos de salida de t1 son los


transición t5. lugares p2 y p3.

P2• = { t3 }  t1•= { p2 ,p4} 

nbh(t4)= •t4  U  t4• = { p3, p4, p5, p6} 

2.6. Comportamiento dinámico de una red de Petri

2.6.1. Transición sensibilizada

Definición 3

Una transición t se dice que esta sensibilizada si:

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

Figura 23. Transiciones sensibilizadas.

El conjunto de transiciones sensibilizadas en el marcaje k se denotará como TkΔ.

TkΔ = {t ∈ T / Mk(pi) ≥ a(pi,tj) ∀p ∈ •t } 

Ejemplo 13

Reconocer las transiciones sensibilizadas de la figura 24.

Figura 24. Ejemplo de transiciones sensibilizadas.

31
El conjunto de las transiciones sensibilizadas para la red en el marcaje M1 es:

T1Δ  ={t1,t2} 

Obtenido a través de la evaluación de los conjunto de entrada de las transiciones t1 y t2


que son las transiciones que cumplen la definición:

•  
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

Obsérvese que aunque el lugar p2 posee tres marcas, la transición t5 no está


sensibilizada pues su otro lugar de entrada no tiene marcas, lo mismo ocurre con las
transiciones t3 y t4.

2.6.2. Regla de disparo

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 

El disparo de una transición sensibilizada consiste en remover marcas de cada lugar de


entrada y agregar marcas a cada lugar de salida de acuerdo al peso de los arcos de
entrada y salida respectivamente.

En las redes autónomas un disparo tendrá lugar en el mismo instante en el que la


transición se sensibiliza.

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 )

La evolución del marcaje, desde un marcaje Mk hasta un marcaje Mk+1, por la


ocurrencia o disparo de la transición tj se denota:

tj→ M
Mk ⎯⎯ k +1

Y se lee: “Mk+1  es alcanzable a partir de Mk por el disparo de tj”

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) 

De esta forma, se concluye que t1  de la figura 25 pertenece al conjunto de transiciones


sensibilizadas y está disponible para el disparo.

Se tienen las siguientes matrices de incidencia:

⎡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 ⎥⎦

Una primera evolución de la red será:

t
M0 ⎯⎯
1
→ M1

En este caso se toma la primera columna de la matriz A y B, que corresponde a la


transición t1:

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 ⎦

La representación gráfica con el marcaje obtenido se muestra en la figura 25 (b).

2.6.3. Secuencia de disparo

Definición 15

Una secuencia de disparos a partir de un marcaje Mk indica el disparo consecutivo de


transiciones por medio de un orden determinado, tal que el disparo de cada transición
conduce a un marcado que sensibiliza a la siguiente transición.

Una secuencia de disparos se representa como:

σ = t1  t2  t3 …. tn

Si la siguiente expresión es posible

t1 t2 tn
M k ⎯⎯ → M k+1 ⎯⎯ → M k+2 ⎯⎯
→ ...... ⎯⎯ → M k+n

Se dirá que la secuencia σ = t1  t2  t3  ….  tn es aplicable a partir de Mk. Esta evolución


del marcaje se puede condensar de la siguiente forma:

35
σ→ M  
Mk ⎯⎯ k+n

2.7. Principio de Localidad

El comportamiento de una transición depende únicamente de su entorno local,


entendido éste como la totalidad de elementos de entrada y de salida de esa transición,
es decir, una transición solo afecta su vecindad. Como consecuencia de la aplicación de
este principio se obtiene que el cambio del marcaje de un lugar puede únicamente ser
influenciado por las transiciones habilitadas que están directamente conectadas a este
lugar.

De acuerdo con principio de localidad la regla de evolución del marcaje se puede


redefinir como:

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:

Î Mk (pi )  ⎯⎯→ Mk+1 (pj ) → t i  ∈ TkΔ ∧ ∈ nbh(pi ) Î

2.8. Ecuación De Estado

Definición 46

La estructura de una PN pura puede ser caracterizada completamente por la matriz de


incidencia Cmxn, la cual esta dada por la combinación lineal de las matrices Amxn y
Bmxn:
B

Cmxn = Bmxn – Amxn
B

De modo que sus componentes son:

36
ci,j =bi,j –  ai,j

Donde:

i=1,2,3,…,m   y   j=1,2,3,…,n. 

Los valores que tomen los componentes de la matriz de incidencia indicarán la


estructura de la red:

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

Cuando se trata de la evolución de marcaje en una PN pura, la regla de evolución se


simplifica obteniendo la forma de la ecuación de estado:

Mk+1 = Mk + C∙Uk

Donde:

Uk es un vector columna, cuyas componentes son nulas excepto el de la j-ésima


posición, si tj es disparada a partir del marcaje Mk para evolucionar al marcaje Mk+1.

⎧⎪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.

Figura 26. PN Pura para la obtención de la ecuación de estado.

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 ⎥⎦

⎡−1 −1   0 1   1⎤


⎢   1   0 −1 0   0 ⎥

C =   0   1 −1 0   0

⎢ ⎥
⎢   0   0    1 1   0 ⎥
⎢⎣   0   0    1 0 −1⎥⎦

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⎥⎦

⎡1⎤ ⎡−1 −1   0 1   1⎤ ⎡0 ⎤ ⎡0 ⎤


⎢1⎥ ⎢   1   0 −1 0   0 ⎢ 1⎥ ⎢ 1⎥

t2 ⎢ ⎥ ⎢
M 2 = 0 +   0 −1 0
⎥ ⎢ ⎥ ⎢ ⎥
  0 • 0 = 1
M1 ⎯⎯ → M2 ⎢ ⎥ ⎢   1
⎥ ⎢ ⎥ ⎢ ⎥
⎢0 ⎥ ⎢   0   0    1 1   0 ⎥ ⎢0 ⎥ ⎢0 ⎥
⎢⎣0 ⎥⎦ ⎢⎣   0   0    1 0 −1⎥⎦ ⎢⎣0 ⎥⎦ ⎢⎣0 ⎥⎦

2.8.1. Alcanzabilidad

Definición 68

Una secuencia de disparos da lugar a una secuencia de marcajes.

En (Murata, 1989) se demuestra que una forma de obtener el marcaje Mk es a través de


la ecuación de estado, como se presenta a continuación:

Mk = Mk‐1 + C∙Uk
σ → M ˆ M  = M  + C.σ
M0 ⎯⎯ k k 0

La condición necesaria para la alcanzabilidad descrita es la siguiente:

Sea r el rango de la matriz Cmxn y se hace la siguiente partición:

39
r n −r
 
↔ ↔

⎡C C12 ⎤ b m − r
C = ⎢ 11
⎣ C 21 C22 ⎥⎦ b r

Se construye la siguiente matriz

β = ⎡⎣Im−r −C11 (C 21 )−1 ⎤⎦

Se debe cumplir que CTβT = 0

Si Mk es alcanzable desde M0, entonces

βΔM = 0 donde ΔM = Mk – M0

40
Ejemplo 16

Dada la red de la figura 27 verificar la alcanzabilidad desde el marcaje inicial hasta Mk


= [ 1 1 1 2]T

Figura 27. Alcanzabilidad de una red de Petri.

Se construye la matriz de incidencia

⎡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 ⎥⎦

Por simple manejo matricial se halla que el rango de la matriz C es 2, indicando el


número de filas linealmente independientes.

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 β

β = ⎡I2 − C11 (C 21 )−1 ⎤


⎣ ⎦

⎡1 0 2 0.5 ⎤
β=⎢ ⎥
⎣ 0 1 ‐1 ‐0.5 ⎦

Se verifica que CTβT = 0

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 ⎥⎦

Luego Mk es alcanzable desde M0 y es verificable con σ = t3 t1

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.

2.9.1. Red viva

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:

σ → M  ∃ M  ∈ M(R,M ) ∧ M ⎯⎯


∀ Mk  ∈ M(R,M0) ∧ M0 ⎯⎯ t → M   
k k+1 0 k k+1

tal que  Tk+1  ≠  φ  


Δ

Cuando una red es no viva, se presenta un problema de comportamiento denominado


“bloqueo”. Una red viva es una red libre de bloqueos.

Ejemplo 17

La figura 28 describe una red de Petri no viva considerando la secuencia σ = t1 t4, en la


cual, el Proceso 1 requiere de la existencia de marca en los lugares p4 y p5. En adición,
el Proceso 2 igualmente demanda la existencia de marcas en los lugares p4 y p5 para el
disparo de la transición t4. Como consecuencia del requerimiento para la habilitación de
las transiciones consideradas el sistema se bloqueará y no existirá posibilidad de que
evolucione.

43
Figura 28. PN no viva.

2.9.2. Red conforme

Definición 20

Una PN se dice conforme si es viva y binaria.

2.9.3. Red limitada (Boundedness property)

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

Figura 39. PN Cíclica.

2.9.5. Red Segura (safeness property)

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 

Se observa que la seguridad es un caso especial de la propiedad de acotamiento.

2.9.6. Red libre de conflicto

 Conflicto

Definición 125

Se tiene un conflicto en un marcaje Mk si al menos dos transiciones compiten por la


obtención de una marca. Se puede decir que hay una elección no determinística entre las
transiciones.

Dos transiciones están en conflicto, si:


ti  I  •tj = { pi } ∧ M(pi) < a(pi ,ti) + a(pi ,tj) 

Ejemplo 19

Figura 30. Red de un sistema con conflicto.

46
 Red equitativa

Una PN es equitativa si durante la ejecución de la secuencia σ la habilitación de una


transición t implica su disparo. Una red equitativa es una PN libre de conflictos.

Figura 31. PN equitativa.

 Red Justa (Fairness property)

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.

Figura 32. PN Justa.

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 ⎥⎦

Figura 33. Matriz de incidencia previa de la PN de la figura 32.

48
2.10. Tipologías de las Redes de Petri

Una de las características más interesantes de las PN es su capacidad de representación


gráfica de los distintos subsistemas que constituyen un sistema global, entendiendo por
subsistema al conjunto de operaciones estrechamente interrelacionadas llevadas a cabo
para la consecución de un objetivo parcial. Por ejemplo, el conjunto de operaciones
elementales llevadas a cabo por una máquina de control numérico, dentro de un sistema
de fabricación automatizado. Aún más, las PN permiten modelar de una manera muy
robusta y legible las relaciones existentes entre los diversos subprocesos de un proceso
global. En los apartados siguientes se abordará el modelado de las tipologías más
comunes.

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

Figura 34. Proceso secuencial.

49
2.10.2. Bifurcación (Fork)

Ejemplo 21

La ocurrencia de un evento implica la ejecución de al menos dos procesos diferentes.

Una transición tj presenta una bifurcación, si:

⎪tj• ⎪≥ 2 

Ejemplo 22

Figura 35. Bifurcación.

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

Figura 36. Sincronización.

2.10.4. Concurrencia o Paralelismo

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.

La concurrencia se puede interpretar como dos subredes que evolucionan


independientemente, cuya evolución inicia con el disparo de una transición que está en
bifurcación y termina con una sincronización. Las dos redes no tienen lugares ni
transiciones comunes.

51
Ejemplo 24

Figura 37. Concurrencia o Paralelismo.

2.10.5. Cita ó Rendez Vous

También conocida como causalidad.

Figura 38. Red correspondiente a un sistema con cita.

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

Figura 49. Exclusión Mutua.

2.10.7. Recurso compartido

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

Figura 40. Red de un sistema con recurso compartido.

2.10.8. Colas

Definición 30

Esquema utilizado para representar la prestación de un servicio requerido por varios


usuarios; es una de las aplicaciones más comunes del recurso compartido.

54
Ejemplo 27

Figura 41. Red de Petri que representa una cola.

En la figura 41 el lugar p1 representa la llegada de los clientes, p2 el servicio requerido,


t1 el evento de inicio de prestación del servicio y t2 el evento de fin de prestación del
servicio.

2.11. Métodos de Análisis

La validación funcional y la verificación funcional son dos tipos de estudios cualitativos


a través de los cuales se realiza un estudio del modelo. En un análisis de validez, o
validación funcional, se determina si el modelo del sistema que ha sido diseñado, es
decir su descripción, cumple una serie de propiedades que caracterizan su buen
funcionamiento. En un estudio de verificación se examina la descripción del sistema a
fin de comprobar si esta cumple las especificaciones. El estudio de verificación tiene
que considerar la semántica, la significación, de cada una de las operaciones o acciones
elementales.

Para realizar la validación y verificación de los modelos es necesario recuperar el


concepto de las propiedades de vivacidad y limitación, entre otras, que han sido
definidas con anterioridad.

En este trabajo se abordará el análisis mediante el método de árbol de alcanzabilidad o


cobertura.

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:

1. Método de árbol de alcanzabilidad o cobertura.


2. Enfoque de matriz de ecuaciones.
3. Técnicas de reducción y síntesis.
4. Análisis por simulación.

Los métodos correspondientes a los tres primeros grupos se denominan métodos


estáticos. Su aplicación a las PN conduce a resultados exactos. Los métodos de
simulación se denominan métodos dinámicos y permiten una cierta confianza en la
descripción, pero no demuestran propiedades.

2.11.1. Método de árbol de alcanzabilidad.

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.

Una alternativa para la construcción del árbol de alcanzabilidad es la implementación


del la herramienta de análisis del software Cabernet desarrollado por el Politécnico de
Milán, que permite a través del constructor TRT (time reachability tree) obtener el árbol
de alcanzabilidad de una red de Petri.
56
Ejemplo 28

En la figura 42 se muestra una red de Petri y su árbol de alcanzabilidad obtenido


mediante el programa Cabernet. Este árbol demuestra que la red es segura, viva, cíclica
y que esta tiene dos secuencias posibles σ=t1,t2,t4 y σ’=t1,t3,t5, las cuales son
identificables a partir de la visualización de las propiedades de cada uno de los nodos
que componente el árbol.

Figura 42. Red de petri y su árbol de alcanzabilidad.

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.

Esto permite agilidad para la obtención de un análisis final sobre la PN considerada.

Siguiente tabla contiene las representaciones graficas implementadas en la herramienta


TRT de Cabernet.

Representación Gráfica Símbolo

Representa un estado normal


Representa un estado final
Representa un estado de bloqueo
Representa bloqueo y estado final
Representa un estado no explorado, considerando que el
analisis de este estado no es nencesario para alcanzar un
resultado final.
Tabla 1. Representaciones gráficas de Cabernet.

Algunas de las propiedades que se pueden estudiar utilizando el árbol de alcanzabilidad


T para una red de Petri 〈R,M0〉 son las siguientes:

1. Una red 〈R,M0〉 es acotada y así M(R,M0)  es finito si y solo si el árbol T


finaliza con la representación gráfica de |.
2. Una red esta bloqueada si tiene en su estructura Nodos Terminales.
Es decir, si alguno de los nodos del árbol T tiene la representación gráfica de
.

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.

 Obtención del árbol de alcanzabilidad con Cabernet.

El procedimiento de obtención se ilustra con el ejemplo 29.

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.

Figura 43. PN no limitada.

El primer paso para obtener el árbol de alcanzabilidad con Cabernet es llegar a la


ventana de configuración de las opciones de la herramienta TRT, como muestra la
figura 44.

59
Figura 44. Trayectoria para visualizar la ventana de opciones del TRT.

Para la PN de la figura 43 la ventana de opciones debe quedar como muestra la figura


45.

Figura 45. Opciones del TRT

Una vez establecida la configuración se procede a obtener el árbol como muestra la


figura 46.

Figura 46. Obtención del árbol de alcanzabilidad

60
El árbol obtenido d a través de la herramienta de análisis de Cabernet se muestra en la
figura 47.

Figura 47. Árbol de alcanzabilidad con Cabernet

En la figura 47 el rectángulo corresponde al bloqueo de la red cuando ocurre la


secuencia σ = t1 t2, el círculo indica que se llego a un estado final y la estrella indica un
estado no explorado porque su análisis es innecesario para las conclusiones finales
sobre la red. Esto considerando que es una red ilimitada y cada uno de los estados
adicionales es simplemente la demostración de esto sin la presencia de secuencias
nuevas en la dinámica de la red.

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

2.12. Ejemplos de Aplicación

A continuación se presenta el modelo de dos problemas clásicos mediante redes de Petri


para ilustrar la construcción de la red de Petri a partir de la descripción de
funcionamiento.

2.12.1. Problema del consumidor y productor

El problema consiste en un proceso de producción, consumo y almacenamiento, en el


cual el sistema se encuentra en estado de producción (crea un objeto) mientras haya
capacidad de almacenamiento y luego lo coloca en el almacén; el consumidor debe
esperar hasta que el objeto haya sido puesto en el almacén para poder retirar el objeto y
consumirlo. Como condición de funcionamiento, al almacén no pueden acceder el
productor y el consumidor al mismo tiempo.

Para realizar una buena representación del proceso, en primer lugar se definen los
estados del sistema:

• Espera para producir.


• Producir.
• Depositar.

62
• Extraer.
• Consumir.
• Espera para consumir.

En las PN como se había dicho anteriormente, los estados se representan por medio de
lugares.

Como el acceso al almacén no puede ser simultáneo, entonces el almacén será un


recurso compartido, y deberá representarse mediante un lugar con una marca removible.

Ya se definieron algunos de los elementos que conformarán la red, ahora se procede a


construir la red, en este primer caso se hará un análisis paso a paso para ilustrar al
lector:

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

Figura 49. Representación de la necesidad de dos condiciones para el paso a un


nuevo estado.

b. Si las dos condiciones anteriores se cumplen, entonces el sistema pasa al estado de


producción, y si el consumidor no se encuentra en el almacén, entonces se procederá
a depositar el objeto creado, como se presenta en la figura 50 donde el lugar P
corresponde al estado de producir, A al acceso del almacén (recurso compartido) y
D al estado de depositar.

63
EP H

P A

Figura 50. Modelamiento de las condiciones para producir y depositar objeto en el


almacén.

c. Luego de depositar, el recurso del acceso al almacén deberá devolverse, y el sistema


de nuevo tendrá que pasar al estado de espera para producir. Como el almacén solo
puede almacenar k objetos, entonces el número de elementos del almacén se
modelará como un lugar. La red correspondiente se muestra en la figura 51, en la
cual B representa el número de objetos en el almacén.

Figura 51. Reestablecimiento del recurso y modelamiento del aumento de objetos


en el almacén.

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.

Figura 52. Extracción del producto del almacén.

f. Después de extraer el producto, este podrá ser consumido, se devolverá el recurso de


acceso al almacén y se enviará una marca al lugar que indica el número de espacios
disponibles en el almacén. El sistema de nuevo pasará al estado de espera para
consumir. La red final puede ser observada en la figura 53 en la cual se han
colocado las marcas que representan un estado inicial del sistema, en B se colocaron
inicialmente k marcas y por lo tanto el lugar H se encuentra vacío.

Figura 53. Red de Petri para el problema del productor – consumidor.

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.

Figura 54. Esquema del problema de los filósofos.

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.

2.12.3. Regulación de Liquido para un Tanque

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

Figura 56. Ejemplo de regulación de nivel

68
Tabla 2. Descripción de lugares y transiciones.

Lugares Transiciones

pi Nivel de líquido aij Apertura válvula A

  bij Apertura válvula B

  cij Apertura válvula C

aperturas válvulas B y C al mismo


  bcij
tiempo

Apertura válvulas A y C al mismo


  acij
tiempo

apertura válvulas A, B y C al mismo


  abcij
tiempo

ij indican el cambio de nivel del liquido desde i


Donde i=0,1,...,7
aj

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

Figura 57. Matriz de incidencia.

70
Figura 58. Red de Petri para el llenado de un tanque.

2.12.4. Sistema Discreto de Manufactura

Se tiene un sistema de manufactura que consiste en dos máquinas y un buffer de tamaño


1. Las dos máquinas indexadas con los números 1 y 2 respectivamente, están conectadas
por el buffer como se muestra en la figura 59. Las máquinas pueden tomar uno de tres
estados: ociosa, trabajando o defectuosa. El buffer puede estar lleno o vacío.
Inicialmente se asume que el buffer está vacío y las maquinas están ociosas.

Existen especificaciones de producción y reparación:

1) El buffer no debe desbordarse o presentar escasez: la máquina 1 no puede operar


mientras una pieza de trabajo este presente en el buffer.
2) La maquina 2 tiene reparación y retornar a servicio con prioridad sobre la
máquina 1: En caso de que ambas máquinas estén defectuosas, la máquina 2
debe repararse y retornar al servicio primero.

En la tabla 3 se indican los lugares y transiciones que componen la estructura de la red


de Petri para el sistema de manufactura.

71
M1 M2

Figura 59. Sistema discreto de manufactura.

Tabla 3. Descripción de lugares y transiciones

Lugares Transiciones
p1 Máquina 1 esta ociosa t1 Máquina 1 comienza a operar

p2 Máquina 1 está trabajando t2 Máquina 1 interrumpe por defecto

p3 Máquina 1 está defectuosa t3 Repara y retorna a servicio máquina 1

p4 Buffer 1 está vacío t4 Máquina 1 finaliza operación

p5 Buffer 1 está lleno t5 Máquina 2 comienza a operar

p6 Máquina 2 está ociosa t6 Máquina 2 interrumpe por defecto

p7 Máquina 2 está trabajando t7 Repara y retorna a servicio máquina 2

p8 Máquina 2 está defectuosa t8 Máquina 2 finaliza operación

72
Figura 60. Red de petri para el sistema de manufactura.

2.12.5. Sistema de Tanques

Los fluidos A y B en los tanques T1 y T2 respectivamente tienen que ser transferidos al


tanque T3 a través de las válvulas V1  y  V3. La capacidad del tanque T3 es de 10
unidades e inicialmente está vacío. Se asume que el tiempo necesario para transferir el
fluido A y B al tanque T3 es 2  y  3  unidades de tiempo respectivamente, además las
ratas de transferencia de los fluidos A y B son 2  y  3 unidades de volumen/tiempo
respectivamente. Sean v1(t) y v2(t) los volúmenes de transferencia para los fluidos A y
B respectivamente, entonces vc(t) = v1(t) + v1(t) es el volumen de transferencia para el
tanque T3. Por tanto las ecuaciones que describen la dinámica continua son:

v1(t) = 2 

v2(t) = 3 

73
Tabla 4. Descripción lugares y transiciones.

Lugares Transiciones

Fluido A está esperando a


p1 t1 Apertura válvula V1.
ser transferido.

Fluido A está siendo a ser


p2 t2 Apertura válvula V2.
transferido.

p3 Fluido A está transferido. t3 Cierre válvula V1.

Fluido B está esperando a Cierre válvula V2.


p4 t4
ser transferido.

Fluido B está siendo


p5
transferido.

p6 Fluido B está transferido

p7 Exclusión mutua.

Figuras 61, 62 y 63. Descripción de Sistema de Tanques

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⎦

             t 1    t 2    t 3    t 4


p1 ⎡‐1 0 0 0⎤
p2 ⎢ 0 ‐1 0 0⎥
p1  p2    p3    p4   p5 ⎢ ⎥
p3 ⎢ 0 1 0 0⎥
M   =  [1     0      0      0      0 ]
T

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

Figura 64. Sistema de producción

76
Tabla 5. Descripción de lugares y transiciones

Lugares Transiciones

p1 Trabajo en el buffer de entrada t1 Llegada de trabajo

p2 Maquinado M1‐F1 t2 M1 comienza maquinado-operador 1

p3 Maquinado M2‐F1 t3 M1 comienza maquinado-operador 2

p4 Máquina 1 ociosa t4 M1 finaliza maquinado-operador 1

p5 Operario 1 disponible t5 M1 finaliza maquinado-operador 2

p6 Operario 2 disponible t6 M2 comienza maquinado-operador 1

p7 Trabajo en el buffer intermedio t7 M3 comienza maquinado-operador 2

P8 Maquinado M2‐F1 t8 M2 finaliza maquinado-operador 1

P9 Máquina 2 ociosa t9 M3 finaliza maquinado-operado r2

P10 Máquina 3 ociosa t10 Salida del trabajo

P11 Maquinado M3‐F2  

P12 Trabajo en el buffer de salida

Figura 65. PN del sistema de producción

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.

Figura 66. Estación de Gasolina

78
Tabla 6. Descripción lugares y transiciones.

Lugar Descripción Transición Descripción


Carro en la vía de ingreso a
p1 t1 El carro llega a la bomba.
la gasolinera

p2 Bomba libre t2 El tanque se llena.

Carro listo para tanquear


p3 t3 El cliente paga.
ubicado en la bomba

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

Carro tanqueado listo para


p7
salir

p8 Cajero ocupado

Carro en la vía de salida de


p9
la gasolinera

t t t t t             t1  t 2   t 3   t 4  t 5


p1 ⎡ 1 0 0 0 0⎤ p1 ⎡ 0 0 0 0 0⎤
p2 ⎢ 1 0 0 0 0⎥ p2 ⎢ 0 0 0 0 1⎥
P={p1, p2, p3, p4, p5, p6, p7, p8, p9} ⎢ ⎥ ⎢ ⎥
p3 ⎢ 0 1 0 0 0⎥ p3 ⎢ 1 0 0 0 0⎥
p4 ⎢ 0 1 0 0 0⎥ p4 ⎢ 0 0 0 1 0⎥
⎢ ⎥ ⎢ ⎥
A = p5 ⎢ 0 0 1 0 0⎥ B = p5 ⎢ 0 1 0 0 0⎥
T={t1, t2, t3, t4, t5} p6 ⎢ 0 0 1 0 0⎥ p6 ⎢ 0 0 0 1 0⎥
p7 ⎢ 0 ⎥ p7 ⎢ 0 ⎥
⎢ 0 0 0 1⎥ ⎢ 0 1 0 0⎥
p8 ⎢ 0 0 0 1 0⎥ p8 ⎢ 0 0 1 0 0⎥
p9 ⎢⎣ 0 0 0 0 0 ⎥⎦ p9 ⎢⎣ 0 0 0 0 1 ⎥⎦

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 ⎥⎦

2.12.8 Protocolo de Comunicación

Se tiene un protocolo de comunicación entre dos procesos como el que se modela en la


figura 67.

Figura 67. Modelo simplificado de un protocolo de comunicación

80
Tabla 7. Descripción lugares y transiciones.

Place Descripción Transición Descripción


p1 Listo para enviar t1 Envía mensaje

p2 Listo para recibir t2 Recibe mensaje

p3 Espera confirmación t3 Recibe mensaje

p4 Mensaje recibido t4 Envía mensaje

p5 Recibir confirmación t5 Proceso 1

p6 Envía confirmación t6 Proceso 2

p7 Buffer lleno

p8 Buffer lleno

2.12.9 Sistema Workflow

Se implementará un modelo para procesar las fallas técnicas en un departamento de


productos. Cada vez que una falla ocurre – por ejemplo, una máquina bloqueada- el
mecánico del departamento categoriza la falla y un procedimiento de reparación toma
lugar. Después de hecho esto, una prueba se lleva a cabo, con dos posibles resultados:
(1) la falla ha sido resuelta; (2) El componente defectuoso debe remplazarse. Este
proceso es modelado en la figura 68.

Figura 68. Proceso del tratamiento de fallas

81
Tabla 8. Descripción lugares y transiciones.

Place Descripción Transición Descripción


p1 Presencia de falla t1 Categorizar la falla

p2 Componente para reparación t2 Reparar

p3 Componente reparado t3 Pruebas del componente reparado

p4 Componente probado t4 Aceptar componente como reparado

Aceptar componente para


p8 Componente reparado t5
reemplazo

P6 Reemplazo del componente

2.13 EJERCICIOS

1. Analice las características dinámicas y estáticas de la red de la figura 69.

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⎦

3. Utilice la ecuación de estado para determinar el marcaje final de la red de la


siguiente figura 70 si se aplica la secuencia de disparo σ = tb ta tc.

Figura 70.

4. Para la red de la figura 71 que se muestra a continuación:

a. Represéntela en la notación estándar RM=〈P, T, Amxn, Bmxn, M0〉.

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.

5. Para la siguiente matriz :

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 ⎦

6. Encuentre nbh(p2) para la siguiente red de la figura 72.

84
Figura 72.

7. Una RdP está definida por:

⎡ −1 − 1 0 1 ⎤
⎢ 1 0 −1 0 ⎥
C=⎢ ⎥
⎢ 0 1 −1 0 ⎥
⎢ ⎥
⎣ 0 0 1 −1⎦

a. Utilice la ecuación de estado para hallar M1 con M0 = [ 2 0 0 0 ] y σ = t1 .


T

b. Explique si la red es pura, ordinaria, conforme y binaria para M0.


c. Determine •t1 ∩ •t2 ∩ •t4
d. Encuentre un marcaje inicial para que se cumpla que:

∃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?

e. Determine si la red cumple que:

∀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.

8. Dadas las siguientes redes, explique cuál cumple la siguiente definición:

∀t ∈ T, si⎥⎜t•⎥⎜>1 ˆ ∀p ∈ t• :⎥⎜•p⎥⎜= 1 

(a) (b) (c)

9. Para la red de Petri de la figura 73 Establecer si Mn = [1 1 1 1 1]T es alcanzable


con el marcaje inicial dado.

86
Figura 73. Red de Petri para el problema 9.

10. Para la red de Petri de la figura 74 Establecer si Mn = [0 1 0 1 3] es alcanzable


con el marcaje inicial dado.

p5  p3 
p1 

t1  t2 
2
2
p2  p4 

t3  t4 

87
Figura 74. Red de Petri para el problema 7.

11. En la siguiente red de Petri identifique la concurrencia, el conflicto y la


sincronización.

Figura 75. Red de petri para el problema 11

88
CAPÍTULO 3

3. REDES DE PETRI TEMPORIZADAS INTERPRETADAS POR PERIFERIA


(Timed Periphery Interpreted Petri Nets – IPN)

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

Figura 76. Proceso controlado

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} 

Se definen la suma, el producto y el complemento para los elementos de B como:

0+0 = 0;  0+1 = 1+0 = 1+1 = 1 
0●0 = 0 = 1●0 = 0●1;  1●1 = 1 
0 =1 ;   1 =0

Una variable x es una variable booleana si x sólo toma valores de B.

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.

Tabla 9. Leyes del algebra boolena

x +y =y+x xy+yx Leyes conmutativas

x ●(y + z) = x ●y + x ●z x + y ●z = (x + y )+ (x + z) Leyes distributivas

x + 0 = x x ●1 = x Leyes de identidad

x + x = 1 x ● x = x ●x  = 0 Ley de inversión

0 ≠ 1

90
Como consecuencia de las operaciones definidas, se tiene:

x +x =x , x 2  = x ●x = x , ∀x ∈B

Y además:

x+y = 0 ↔ x = y=0 ∧ x ●y = 1 ↔ x = y = 1

Sea n  Z+, entonces

Bn = {(x 1,x 2,….,x n) / x i  {0,1}, 1 ≤ i ≤ n}

Una función

f: Bn → B

Es una función de conmutación, o booleana, de n variables. Las n variables se enfatizan


si se escribe:

f (x 1,x 2,….,x n)

Donde cada x  i, para 1 ≤ i ≤ n es una variable booleana.

91
Ejemplo 30

Sea f : B → B, donde f (x ,y) = x + y ∧ g : B2→ B,


2
donde g (x ,y) = x ●y , estas
funciones quedan determinadas evaluando f ∧ g para cada una de las asignaciones (x ,y) 
como se muestra en la Tabla 10.

Tabla 10. Combinación lógica

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

x y z x●y f (x ,y,z) = x ●y+z

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

Si f : Bn→ B, entonces el complemento de f, que se denota con f , es la función


n
booleana definida sobre B como

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) 

La Tabla 12 resume diez leyes (consecuencias importantes de estas definiciones)

Tabla 12. Leyes del algebra Booleana

Funciones Variables Ley definida

f =f x =x Ley del doble complemento

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 + (g●h) = (f+g) ● (f+h) x + (y●z) = (x+y)(x+z)


Leyes Distributivas
f ● (g+h)=f●g+f●h x ● (y+z)=x ●y+x●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

f + f =1 x + x =1 Leyes de los Inversos

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

3.2 Álgebra de eventos

Definición 13

Se define un evento, como el cambio de valor de una variable en un instante de tiempo


t.
Para el caso de variables booleanas, se definirá un evento como el cambio de valor
binario de la variable.

El cambio de estado de la variable booleana a, de cero a uno, se denomina el evento


positivo de a o el flanco de subida de a y se denota: (Ka). El cambio de uno a cero se
denomina evento negativo o flanco de bajada y se denota: (La). El cambio de estado de
la variable a es representado en la Figura 77.

Figura 77. Diagrama temporal para la variable booleana a.

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:

 f =0 para los intervalos [0,t1), [t2,t3),…, [tn‐1,tn)


 f =1 para los intervalos [t1,t2), [t3,t4),…, [tn,tn+1)

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

Lf ocurre en el tiempo t2, t4,..., tn‐1.

La Figura 78 presenta en forma gráfica esta definición.

Figura 78. Gráfica correspondiente a la Definición 34.

Propiedades:

a. El símbolo K es precedente a los símbolos lógicos (●) y (+.) Es decir


Kx ●y =(Kx )●y y Kx + y = (Kx ) + y.
b. Kx ●y es un evento que ocurre al mismo tiempo que Kx, cada que y =1.

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

Donde v y w son eventos, x y y son funciones booleanas o variables booleanas


que cumplen que

w + v + x ● y ● ei  > x + y.

Ejemplo 12

e1  =  Kf y e2  = Kg no pueden ser independientes si ambos dependen de la misma


variable booleana x , por ejemplo, f = x ● y y g = x.

Hipótesis 1

La probabilidad de ocurrencia simultánea de dos eventos independientes es cero. Es


decir:

Kx ●Ky = 0,     x , y son dos variables independientes

La hipótesis anterior se basa en el hecho de que un evento no tiene duración.

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.

Kx  ● Lx  = Kx  ● K x = 0

Propiedad 6

Si x y y son dos variables booleanas independientes, entonces:

K(x  ● y) = Kx  ● y + Ky  ● x

K(x  + y) = Kx  ● y + Ky  ● x

Propiedad 7

Kx  ● y es un evento que ocurre cuando se presenta Kx, cada qué y = 1

Figura 79.

99
Propiedad 8

Kx + Ky es un evento que se presenta cada que se presentan Kx ò Ky.

Figura 80.

Propiedad 9

La suma de una variable booleana con sus eventos, es la misma variable.

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

Sea ∑ un conjunto de eventos:

∑ = { e1, e2,…,en}

Y una función de conmutación ϕ :

ϕ = Bn J B 

ϕ = f (x 1,x 2,….,x n)

El producto de un evento por una función de conmutación se denomina receptividad y


se asocia a las transiciones, tal como se ilustra en la Figura 82:

Figura 82. Red de Petri interpretada.


101
3.3.2 Reglas de disparo de una transición con receptividad

Para que ocurra el disparo de una transición con receptividad es necesario que se
cumplan las siguientes condiciones:

 Está sensibilizada 

 Es Receptiva 

 La transición debe estar sensibilizada.


 La transición debe ser receptiva.

Una transición es receptiva si:

∃ t i ∈ [t 0, t j] tal que  e ● ϕ ≠ 0

Es decir, la transición se dispara si la transición esta sensibilizada y si la función de


conmutación es verdadera en el instante en el que ocurra el evento.

Figura 83. Diagrama temporal

102
Ejemplo 33

Sea la red de la Figura 84:

Figura 84. PN con receptividad.

En este ejemplo, se tiene:

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.

Figura 85. Diagrama temporal para la PN de la Figura 74.

3.4 Redes de petri temporizadas

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

Una P‐ timed PN es un par:

P‐ timed PN = 〈RM,τ(p)〉

104
Tal que:

• RM es una red de Petri marcada.


• τp es una función que va del conjunto P de lugares al conjunto de los
números reales positivos incluyendo el cero.

τ(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

Una T–timed PN es un par:

T–timed PN = 〈RM,τ(t)〉

Donde:

• RM es una red de Petri marcada.


• τt es una función que va del conjunto T de transiciones al conjunto de los
números reales positivos incluyendo el cero.

τ(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

disparo de la transición la marca se debe reservar al menos τi unidades de tiempo,


durante el cual la marca no podrá estar disponible para otra actividad diferente, luego de

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.

 Comportamiento dinámico de las T–timed PN

En la PN de la Figura 86 existe un retardo al cabo del cual se presenta un evento


(flanco positivo de tiempo) que hace evolucionar el sistema.

Figura 86. Representación de una red de Petri temporizada.

Figura 87. Esquema temporal de la red de la Figura 86.

106
3.5 Redes de Petri temporizadas interpretadas por periferia (IPN)

Conocidas en la literatura como “Timed periphery interpreted Petri nets” o “Timed


Signal Interpreted Petri Nets Timed Signals”, las PN temporizadas interpretadas por
periferia permiten modelar conexiones entre el algoritmo y su ambiente, haciendo
posible la implementación de estas en un controlador del proceso.

Figura 88. Proceso controlado con PLC

3.5.1 Definición de las 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

I = {i1, i2,… , ir} , I i ∈ {0,1}, 1 ≤ i ≤ r

Q: Conjunto de señales de salida booleanas (periferia del proceso). Se asocia con los
actuadores binarios.

Q: {q1, q2,… qs} , q i ∈ {0,1}, 1 ≤ i ≤ s

ω: 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: es una función que asigna a cada t ∈ T un evento perteneciente al conjunto de


eventos ∑. Los eventos son generados por las variables booleanas asociadas a las
entradas.

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.

ϕ : T → Φ  , Φ : B n → B ,  Φ = f (i 1,i 2,….,i r)

108
τ: Es una función del tiempo que impone un retardo al disparo después de la
sensibilización.

τ : T → ℜ+

NOTA:

Si una transición tiene asociado un retardo τ, el evento asociado a esa transición es


Kτ.

Esto es:

Si τ (ti) ≠ 0 → E (ti) = Kτ

Si se asigna un evento diferente a Kτ, se estará produciendo una situación de eventos


independientes simultáneos; situación no deseable como consecuencia de la Hipótesis 1.

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.

En resumen la notación de eventos se presenta a continuación:

 El evento e asociado a la transición t, se representa E(t).


 El evento e cuya ocurrencia se presenta en el instante t se denota ε(t).
 Los eventos e1 y e2 pertenecen a ∑ .

 ε es un evento nulo del conjunto ∑ .

El siguiente ejemplo muestra la utilización y escritura de los conjuntos y funciones de


una red de Petri interpretada.

Ejemplo 35

I = {i1, i2, i3, i4} 

∑ = {Ki1, Ki2, Ki3, Ki4, Li1, Li2, Li3, Li4} 

Q: {q1, q2} 

ω(p1) = (0,1) 

ϕ (t1) = i1+ i2 • i3

E (t2) = Ki4

τ(t ) = τ  = 10


4 1

En resumen, en el formalismo IPN definido, se entiende que es interpretado por


periferia por:

110
 En los lugares se especifican las acciones sobre las salidas:

ω : P → (0,1)|Q|

 En las transiciones se asignan receptividades, que son funciones de las entradas.

E•ϕ (ti)= f (i1, i2,… , ir)

NOTA:

Para simplificar la notación relacionada con la función de salida ω, se puede expresar


en el lugar correspondiente, la acción de encendido o apagado de las salidas que
cambien su valor lógico, o representar con el símbolo “x” si la salida no cambia el
valor lógico en el lugar respectivo, tal como se muestra en la Figura 90.

Figura 90. Notación simplificada de una IPN

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.

Figura 91. PN para la simplificación de la notación.

Tabla 13. Funciones

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

No es posible trasladar directamente y de forma general los resultados del análisis de la


PN autónomas sobre las IPN, considerando que ahora el comportamiento dinámico del
modelo es afectado por la receptividad con la que se proveen las transiciones de los
modelos construidos mediante IPN.

 Propiedad de Acotamiento:

Una IPN es limitada si la PN correspondiente también lo es.

Una PN no limitada puede ser limitada al asociársele una temporización o


interpretación.

Ejemplo 36

Figura 92. PN autónoma no-limitada mientras la t -PIPN es limitada

La PN de la Figura 92 no es limitada. Ahora si el ciclo de la izquierda dura más que el


de la derecha si es limitada, es decir:

Si  τ(t1) + τ(t3) > τ(t2) + τ(t4), entonces la IPN es limitada.

Además la PN de la Figura 92 puede ser limitada al asociársele una interpretación


como se muestra en la Figura 93.

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

La vivacidad de una IPN no podrá ser inferida, en modo alguno, partiendo de la


vivacidad o no-vivacidad de la PN autónoma.

Al comprobar la evolución de la IPN de la Figura 94 considerando las temporizaciones


de la Tabla 14 asignadas cada una de las transiciones de la red, permiten que la red sea
Viva. Lo contrario sucedería con la secuencias σ1  =  t3t4t3t4 y σ2  =  t2t1t2t1 para las
cuales es imposible disparar otra transición.

114
Figura 94. IPN para el estudio de vivacidad

Tabla 14. Temporizaciones para la red de la Figura .

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.

Figura 95. Vivacidad y IPN

La IPN no viva, la PN autónoma si lo es.

Figura 96. Vivacidad y IPN

Como se ilustró, la temporización y la interpretación asociada a una red introducen


restricciones adicionales sobre las secuencias de disparo posibles en la red autónoma.

116
EJEMPLOS.

Ejemplo 37

Sistema de Llenado de tanques (Llenado y vaciado secuencial de los tanques 1 y 2)

Un sistema de llenado de tanques como el que se muestra en la Figura 97 funciona con


el siguiente ciclo:

• El proceso comienza activando el pulsador inicio ↑M. Las válvulas W1 y W2


se encuentran cerradas mientras la válvula V1 se abre con el fin de llenar el
tanque 1.
• Luego de haberse llenado el tanque 1 hasta el nivel H1, se cierra la válvula V1
y se abre la válvula V2.
• Luego de haberse llenado el tanque 2 hasta el nivel H2, se inicia el vaciado del
tanque 1, cerrando la válvula V2 y abriendo la válvula W1 hasta que el nivel
del tanque 1 llegue a B1.
B

• El tanque 1 al llegar al nivel B1, inicia el vaciado del tanque 2 hasta el nivel B2,
B B

cerrando la válvula W1 y abriendo la válvula W2.


• El ciclo se interrumpe con un pulsador P de modo que desde cualquier estado,
el proceso se detiene.

Se requiere diseñar la red del automatismo.

Figura 97. Sistema de llenado de dos tanques.

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

p2 Válvula Activa de alimentación tanque 1

p3 Válvula Activa de alimentación tanque 2

p4 Válvula Activa de descarga tanque 1

p5 Válvula Activa de descarga tanque 2

Tabla 16. Transiciones

Transición Descripción
t1 Inicio del ciclo

t2 Máximo nivel del tanque 1

t3 Máximo nivel del tanque 2

t4 Mínimo nivel del tanque 1

t5 Mínimo nivel del tanque 2

t6, t7, t8, t9 Pulsador de Parada

118
Tabla 17. Direccionamiento de las entradas

Símbolo Dirección Descripción

M  i1 Pulsador de inicio

H1 i2 Máximo nivel del tanque 1


Entradas
H2 i3 Máximo nivel del tanque 2

B1 B i4 Mínimo nivel del tanque 1

B2 B i5 Mínimo nivel del tanque 2

P  i6 Pulsador de parada

Tabla 18. Direccionamiento de las salidas

Símbolo Dirección Descripción

V1 q1 Válvula alimentación tanque 1


Salidas
V2 q2 Válvula de alimentación tanque 2

W1 q3 Válvula de descarga tanque 1

W2 q4 Válvula de descarga tanque 2

De modo que el vector ω estará compuesto por cuatro elementos.

119
La red de Petri será la que se presenta en la Figura 98.

Figura 98. IPN correspondiente al automatismo del sistema de tanques


(secuencial).

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

Sistema de Llenado de tanques (Llenado y vaciado en paralelo de los tanques 1 y 2)

Se considera el sistema de llenado de tanques del Ejemplo 37 con la variante de que el


llenado y vaciado se realiza en paralelo, es decir tal como ilustra el siguiente ciclo de
funcionamiento:

• El proceso comienza activando el pulsador de inicio. Las válvulas W1 y W2 se


encuentran cerradas mientras las válvulas V1 y V2 se abren para llenar los
tanques 1 y 2.
• Luego de haberse llenado los tanques hasta sus niveles máximos, se cierran las
válvulas V1 y V2 y se abren las válvulas W1 y W2 para el vaciado de los
tanques hasta los niveles B1 y B2 respectivamente.
B B

• El ciclo se interrumpe con un pulsador P de modo que desde cualquier estado,


el proceso se detiene.

Con el direccionamiento propuesto en el Ejemplo 38 se debe diseñar la red del


automatismo.

121
Tabla 20. Lugares

Lugar Descripción
p1 Estado ocioso de los tanques

p2 Válvula Activa de alimentación tanque 1

p3 Válvula Activa de alimentación tanque 2

p4 Desactivación Válvula de alimentación tanque 1

p5 Desactivación Válvula de alimentación tanque 2

p6 Válvulas Activas de descarga tanque 1 y tanque 2

p7 Desactivación Válvula de descarga tanque 1

p8 Desactivación Válvula de descarga tanque 2

Tabla 21. Transiciones

Transición Descripción
t1 Inicio del ciclo

t2 Máximo nivel del tanque 1

t3 Máximo nivel del tanque 2

t4 --

t5 Mínimo nivel del tanque 1

t6 Mínimo nivel del tanque 2

t7 --

t8, t9, t10, t11, t12, t13, t14 Pulsador de Parada

122
La IPN para este automatismo se presenta en la Figura 99.

Figura 99. IPN correspondiente al automatismo del sistema de tanques (paralelo)

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

p6 (0,0,1,1)  t5 , t6 K i4 ,  K i5

p7 (0,0,0,0)   t7 ‐‐ 

P8  (0,0,0,0)  t7 ‐‐ 

    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

Figura 100. Compresor – Acumulador de aire

Se tiene la siguiente especificación informal:

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.

3). PS1 esta asociado a el compresor A y PS2 esta asociado al compresor B.

4). El compresor A funciona hasta cuando entre en falla, posteriormente funciona el


compresor B mientras se arregla el compresor A.

Para implementar el control de las señales I/Q se codifican como se muestra en la


Tabla 23 y la Tabla 24.

125
Tabla 23. Lugares

Lugar Descripción
p1 Compresor A inyectando aire, Compresor B apagado

p2 Compresor A inyectando aire

p3 Compresores A y B apagados

p4 Compresor B inyectando aire, Compresor A apagado

p5 Compresor B inyectando aire

p6 Compresores A y B apagados

126
Tabla 24. Transiciones

Transición Descripción
t1 Presión < 6,1 bares

t2 Presión > 6,1 bares

t3 Presión > 6,1 bares

t4 Compresor A en falla

t5 Compresor A en falla

t6 Presión < 6,1 bares

t7 Presión > 6,1 bares

t8 Presión > 6,1 bares

t9 Compresor B en falla

t10 Compresor B en falla

t11 Compresor B en falla

t12 Compresor A en falla

Tabla 25. Direccionamiento de las entradas

Dirección Significado del valor binario i =1


i1 Presión < 6,1 bares

i2 Presión > 6,1 bares


Entradas

i3 Compresor A en falla

i4 Compresor B en falla

127
Tabla 26. Direccionamiento de las salidas

Dirección Significado del valor binario i =0


q1 Compresor A operando
Salidas

q2 Compresor B operando

Figura 101. IPN para el automatismo de la cámara de aire.

128
Tabla 27. Funciones

Función Receptividad
Lugar Transición
ω (pi)  E (ti)●ϕ (ti) 

p1 (1,0)  t1 , t2 , t12 K i1   , K i2  , K i3

p2 (1,0)  t3 , t4 K i2 , K i3

p3 (0,0)  t5 K i3

p4 (0,1)  t6 , t7 , t11 K i1   , K i2, K i4

p5 (0,1)  t8 , t9 K i2 , i4

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

Tabla 28. Lugares

Lugar Descripción
p1 Estado ocioso de la celda

p2 La maquina M1 trabajando

p3 La máquina M1 disponible

p4 Pieza Pa está siendo procesada en maquina M2

p5 La máquina M2 disponible

p6 La máquina M3 trabajando

p7 La máquina M3 disponible

p8 Pieza Pb está siendo procesada en máquina M2

p9 La máquina M2 disponible

p10 Ensamble de piezas

130
Tabla 29. Transiciones

Transición Descripción
t1 Inicio del ciclo

t2 Procesamiento en M1

t3 Procesamiento en M3

t4 Llega Pieza Pa a M2

t5 Llega Pieza Pb a M2

t6 Procesamiento en M2 de pieza Pa

t7 Procesamiento en M2 de pieza Pb

t8 Ensamble y liberación del producto

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.

Tabla 30. Direccionamiento de las entradas

Dirección Significado del valor binario i =1


i1 Llega pieza Pa y Pb

Entradas i2 Llega Pieza Pa a M2

i3 Llega pieza Pb a M2

i4 Ensamble

131
Tabla 31. Direccionamiento de las salidas

Dirección Significado del valor binario i =0


q1 M1 operando sobre Pa

Salidas q2 M2 operando sobre Pa

q3 M2 operando sobre Pb

q4 M3 operando sobre Pb

Figura 103. IPN para la celda de manufactura

132
Tabla 32. Funciones

Función Receptividad Retardo


Lugar Transición
ω (pi)  E (ti)●ϕ (ti)  τ(ti) 
p1 (0,0,0,0)  t1 i1  

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  

p10 (0,0,0,0)  t4,  t5 ,     

Ejemplo 41

Brazo Transportador

El Proceso de consta en general de ciertos sensores y actuadores que permiten el


funcionamiento del mismo. En la Figura 105 se muestran los instrumentos del proceso.
Las entradas y salidas del proceso son definidas en la tabla 33 y tabla 34. La secuencia
del proceso es la siguiente:

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.

Figura 104. Brazo Transportador de Piezas

134
Tabla 33. Direccionamiento de las entradas

Dirección Descripción
i1 Detector Posición (Brazo Derecha)

i2 Detector Posición (Brazo Izquierda)

Entradas i3 Detector Posición (Brazo Abajo)

i4 Detector Posición (Brazo Arriba)

i5 Detector Pieza

i6 Inicio del proceso

i7 Paro del Proceso

i8 Fin de Ciclo

Tabla 34. Direccionamiento de las salidas

Dirección Descripción
q1  Movimiento derecha

q2  Movimiento izquierda


Salidas
q3  Movimiento abajo

q4 Movimiento arriba

q5 Movimiento Brazo (Abierto-Cerrado)

135
Figura 105. IPN para el brazo transportador

136
Tabla 35. Funciones asignadas a los lugares

Función
Transición Descripción
ω (pi) 

p1 (0,0,0,0,0)  Estado ocioso del Brazo.

p2 (0,0,0,0,0)  Brazo esperando orden (fuera de posicion).

p3 (0,0,0,0,0)  Brazo esperando orden (si existe pieza).

p4 (0,0,0,1,0)  Brazo sube.

p5 (0,1,0,0,0)  Brazo se desplaza a izquierda.

p6 (0,0,0,1,0)  Brazo sube.

p7 (0,1,0,0,0)  Brazo se desplaza a izquierda.

p8 (0,0,1,0,0)  Brazo baja.

p9 (0,0,0,0,0)  Brazo esperando orden (temporizacion).

p10 (0,0,0,0,1)  Brazo enciende motor para recoger.

p11 (0,0,0,1,1)  Brazo sube.

p12 (1,0,0,0,1)  Brazo se desplaza a derecha.

p13 (0,0,1,0,1)  Brazo baja.

p14 (0,0,0,0,0)  Brazo suelta pieza.

p15 ‐‐‐ 

p16 ‐‐‐  Memoria de Fin de ciclo

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

Inicio del proceso con Brazo en posición


t2 i2y i4+i6  
izquierda – arriba

t3 i2y i3   Brazo en posición izquierda – abajo.

t4 i1y i4   Brazo en posición derecha – arriba.

t5 i5   Detector Pieza

t6 i2y i4   Brazo en posición izquierda – arriba

t7 i4   Detector Posición (Brazo Arriba)

t8  i2   Detector Posición (Brazo Izquierda)

t9 i4   Detector Posición (Brazo Arriba)

t10 i2y i4   Brazo en posición izquierda – arriba

t11 i3   Detector Posición (Brazo Abajo)

t12  i2   Detector Posición (Brazo Izquierda)

t13   τ  --

Temporización mientras brazo recoge la


t14   τ  pieza.

t15 i4   Detector Posición (Brazo Arriba)

t16 i1   Detector Posición (Brazo Derecha)

t17     --

t18     Fin de ciclo

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

t26 i8   Señal de Fin de Ciclo.

Ejemplo 42

Máquina de transferencia de tres puestos

Las maquinas de transferencia rotativas entrañan a menudo un gran número de entradas-


salidas. Este ejemplo representa 21 entradas y 20 salidas. La máquina comprende tres
puestos de trabajo: modelado, mecanización, marcado y un puesto de transferencia. El
ciclo es lanzado con el botón Inicio e inmediatamente se inicia la secuencia de
transferencia. El disco es desenclavado (se libra el sensor b0) y el cilindro se desplaza
hasta presionar el sensor b1 mientras el disco gira 90 grados (a1). Después este es
bloqueado devolviendo el cilindro hasta presionar nuevamente el sensor (b0). Lo que
permite el retorno del tornillo del clic o gato de transferencia (a0). Cuando esta
terminada la transferencia, las tres secuencias de modelado, de mecanizado y de
marcados son disparadas simultáneamente y se desarrolla independientemente las unas
de las otras (secuencias paralelas).

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

Transferencia Indexado Mecanizado Modelado Marcado

Figura 106. Máquina de Transferencia circular

140
Tabla 37. Direccionamiento de las entradas

Entradas Símbolo Dirección Descripción


Dcy i1 Botón inicio

a0 i2 Fin de carrera 1 elemento A

a1 i3 Fin de carrera 2 elemento A


b0 i4 Fin de carrera 1 elemento B
b1 i5 Fin de carrera 2 elemento B
c0 i6 Fin de carrera 1 elemento C
c1 i7 Fin de carrera 2 elemento C
d0 i8 Fin de carrera 1 elemento D
d1 i9 Fin de carrera 2 elemento D
e0 i10 Fin de carrera 1 elemento E
e1 i11 Fin de carrera 2 elemento E
f0 i12 Fin de carrera 1 elemento F
f1 i13 Fin de carrera 2 elemento F
g0 i14 Fin de carrera 1 elemento G
g1 i15 Fin de carrera 2 elemento G
h0 i16 Fin de carrera 1 elemento H
h1 i17 Fin de carrera 2 elemento H
i0 i18 Fin de carrera 1 elemento I
i1 i19 Fin de carrera 2 elemento I
j0 i20 Fin de carrera 1 elemento J
j1 i21 Fin de carrera 2 elemento J

141
Tabla 38. Direccionamiento de las salidas

Salidas Símbolo Dirección Descripción


A+ q1 Energización elemento A

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

E- q10 Desenergización elemento E

F+ q11 Energización elemento F

F- q12 Desenergización elemento F

G+ q13 Energización elemento G

G- q14 Desenergización elemento G

H+ q15 Energización elemento H

H- q16 Desenergización elemento H

I+ q17 Energización elemento I

I- q18 Desenergización elemento I

J+ q19 Energización elemento J

J- q20 Desenergización elemento J

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

P10 q8 = 1  t10  i8

P11 q6 = 1  t11  i11

P12 q9 = 1  t12  i13

P13 q11 = 1  t13 i12y i15

P14 q12 = 1,  q13 = 1  t14  i14

P15 q14 = 1  t15  i17

P16 q10 = 1  t16 i19y i21

P17 q16 = 1  t17 i18y i20

P18 q17 = 1, q19 = 1  t18 i6y i10y i16

144
P19 q18 = 1,  q20 = 1   

P20 q16 = 1 

Ejemplo 43

Cruce vial regulado por semáforos

El proceso a automatizar es el cruce de dos calles perpendiculares, una principal y la


otra secundaria, en las cuales se permite la circulación en ambos sentidos, así como
giros a izquierda y derecha de una calle a otra. Para la realización del control del cruce
se ha dispuesto de 4 semáforos, los cuales poseen un pulsador cada uno para que los
peatones puedan controlar el cruce peatonal cuando sea necesario y un control adicional
poseerá el sistema de ambulancias de la ciudad para así controlar también su cruce en
momentos de emergencia, si los dos dispositivos anteriores no son activados el
autómata controlará todas las salidas por medio del tiempo e igualmente controlará la
desactivación del sistema para las horas de la madrugada por medio de un contador.

En la Figura 108 se muestra el proceso a automatizar:

Figura 108. Cruce vial regulado por semáforos

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.

Tabla 40. Direccionamiento de las entradas.

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.

Semáforos A y C en verde, semáforos B y


p2 (0,0,1,1,0,0,0,0,1,1,0,0) 
D en rojo.

p3 (0,1,0,0,1,0,0,1,0,0,1,0)  Semáforos A, B, C, D Todos en Amarillo.

Semáforos B y D en verde, semáforos A y


p4 (1,0,0,0,0,1,1,0,0,0,0,1) 
C en rojo.

p5 (0,1,0,0,1,0,0,1,0,0,1,0)  Semáforos A, B, C, D Todos en Amarillo.

p6 (0,1,0,0,1,0,0,1,0,0,1,0)  Semáforos A, B, C, D Todos en Amarillo.

p7 (0,1,0,0,1,0,0,1,0,0,1,0)  Semáforos A, B, C, D Todos en Amarillo.

p8 (0,1,0,0,1,0,0,1,0,0,1,0)  Semáforos A, B, C, D Todos en Amarillo.

p9 C1  Contador para desactivación del sistema.

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.

t2 i1   Persona en semáforo A.

t3 i3   Persona en semáforo C.

t4 i8   Ambulancia en semáforo D.

t5 i6   Ambulancia en semáforo B.

Temporización de un segundo, al
t6   τ = 1 Seg.  activarse el sensor por parte de las
personas.

Espera de los semáforos en Verde y


t7   τ = 20 Seg.  Rojo

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.

t10   τ = 4 Seg.  Espera de los semáforos en Amarillo

Temporización de un segundo, al
t11   τ = 1 Seg.  activarse el sensor por parte de las
personas.

t12 i5   Ambulancia en semáforo A

t13 i7   Ambulancia en semáforo C

t14 i2   Persona en semáforo B

150
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti)  τ(ti) 
t15   τ = 20 Seg.  Espera de semáforos en Verde y Rojo;

t16 i4 Persona en semáforo D

t17 ‐‐  --

Ejemplo 44

Ascensor de 2 pisos

Diseñar un automatismo que controle un ascensor de 2 plantas como el que se muestra


en la Figura 110.

PLC

Figura 110. Ascensor de dos pisos

El funcionamiento es como sigue:

 Estando en reposo el ascensor, la puerta estará cerrada.


 Para acceder al ascensor el usuario presiona el pulsador de llamada desde el exterior
en la planta en la que se encuentre.
 El usuario debe presionar el número del piso al que se dirige y el ascensor debe
moverse hasta que se llegue a ese piso. Si se corta la foto celda antes de que se haya
cerrado la puerta, ésta se abrirá (Abrir puerta esperar al menos 2 segundos o que el

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.

Las señales de entrada y salida se presentan en la Tabla 44 y Tabla 45:

Tabla 44. Direccionamiento de las entradas

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.

A i8 Botón interior de Apertura.

C i9 Botón interior de cierre.

Tabla 45. Direccionamiento de las salidas

Símbolo Dirección Descripción


S SUBIR. Mueve el ascensor hacia
q1 arriba.
B BAJAR. Mueve el ascensor hacia
Salidas q2 abajo.
PA ABRIR Puerta.
q3
PC
q4 CERRAR Puerta

153
Figura 111. PN para un ascensor de dos pisos

Tabla 46. Funciones asignadas a los lugares

154
Función
Transición Descripción
ω (pi) 
p1 (0,0,0,0)  Ascensor en reposo y puerta cerrada

p2 (0,0,0,0)  En espera de identificar el piso actual

p3 (0,0,0,0)  En espera de identificar el piso actual

p4 (0,0,1,0)  Ascensor abre puertas

p5 (0,1,0,0)  Ascensor bajando

p6 (1,0,0,0)  Ascensor subiendo

p7 (0,0,1,0)  Ascensor abre sus puertas

p8 (0,0,0,0)  En espera para cerrar

p9 (0,0,0,0)  En espera para cerrar

p10 (0,0,0,1)  Ascensor cierra sus puertas

p11 (0,0,0,1)  Ascensor cierra sus puertas

p12 (1,0,0,0)  Ascensor subiendo

p13 (0,1,0,0)  Ascensor bajando

p14 (0,0,1,0)  Ascensor abre sus puertas

p15 (0,0,1,0)  Ascensor abre sus puertas

p16 (0,0,0,0)  En espera para cerrar

p17 (0,0,0,0)  En espera para cerrar

p18 (0,0,0,1)  Ascensor cierra sus puertas

p19 (0,0,0,1)  Ascensor cierra sus puertas

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.

t2 i7 Llamado del ascensor desde el piso 2.

t3 i4 El ascensor está situado en el piso 1.

t4 i5 El ascensor está situado en el piso 2.

t5 i4 El ascensor está situado en el piso 1.

t6 i5 El ascensor está situado en el piso 2.

t7 i3 La puerta del ascensor se abre totalmente.

t8 i4 El ascensor está situado en el piso 1.

t9 i5 El ascensor está situado en el piso 2.

t10 i3 La puerta del ascensor se abre totalmente.

t11   τ  Retardo para el cierre de puerta.

Presión del pulsador interno para indicar el


t12 i9  
cierre de puertas.

t13   τ  Retardo para el cierre de puerta.

Presión del pulsador interno para indicar el


t14 i9  
cierre de puertas.

t15 i2   Puerta cerrada.

t16 i2   Puerta cerrada.

t17 i5   El ascensor está situado en el piso 2.

156
Receptividad Retardo
Transición Descripción
E (ti)●ϕ (ti) τ(ti) 
t18 i4   El ascensor está situado en el piso 1.

t19 i3   La puerta del ascensor se abre totalmente.

t20 i3   La puerta del ascensor se abre totalmente.

t21   τ  Retardo para el cierre de puerta.

Presión del pulsador interno para indicar el


t22 i9  
cierre de puertas.

Presión del pulsador interno para indicar el


t23 i9  
cierre de puertas.

t24   τ  Retardo para el cierre de puerta.

t25 i2   Puerta cerrada.

t26 i2   Puerta cerrada.

Existe un objeto que impida el cierre de la


t27 i1
puerta.

Presión del pulsador interno para abrir


t28 i8
puerta.

Presión del pulsador interno para abrir


t29 i8
puerta.

Existe un objeto que impida el cierre de la


t30 i1
puerta.

3.7 EJERCICIOS PROPUESTOS

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.

Figura 112. Reactor químico

Tabla 48. Descripción de entradas

158
Dirección Descripción
i0 Botón de inicio

i1, i3 Máximo nivel en el vaso V1, V2


Entradas
i2, i4 Mínimo nivel en el vaso V1, V2

i5 Mínimo nivel para activar el agitador ST

i6 Mínimo nivel en el reactor V3

Tabla 49. Descripción de salidas

Dirección Descripción
q0 Sistema listo

q1, q2 Válvulas de alimentación V1, V2


Salidas
q3, q4 Válvulas de descarga de los vasos V1, V2

q5 Agitador

q6 Válvula de descarga del reactor V3

Tabla 50. Descripción de lugares

159
Lugar Descripción

p1 Estado inicial

p2 Tanque V1 llenando

p3 Esperando hasta que el tanque V2 esté lleno

p4 Tanque V2 llenando

p5 Esperando hasta que el tanque V1 esté lleno

p6 Estado ocioso del agitador M

p7 Llenado el tanque V3 desde los vasos V1 y V2

p8 Mezclando

p9 Vaciando el tanque V3

2. Para la red de la Figura 113:

Figura 113. Red de Petri para el análisis

a. Explique porque la red autónoma correspondiente es no viva y porque la red


interpretada es viva. a, b, c son variables binarias.
b. Exprese la red autónoma en notación estándar y obtenga la matriz de incidencia.
c. ¿Es posible obtener una restricción temporal en las transiciones de la red, para
que la red sea viva?

160
d. Dibuje el grafo de alcanzabilidad.

3. Para la PN de la Figura 114:

Figura 114. Red de Petri para el análisis

a. Represéntela en notación estándar.


b. Analice propiedades para los siguientes casos:
i. Red autónoma.
ii. Red temporizada con: τ1=1  sg,  τ2=2  sg,  τ3=1,5  sg,  τ4=0,2  sg,  τ5=0,3 
sg, τ6=1 sg.
iii. Red temporizada con: τ1=0,5 sg,  τ2=0,8 sg,  τ3=1,2 sg,  τ4=2 sg,  τ5=1,8 
sg, τ6=1 sg.
σ
c. Utilice la ecuación de estado para determinar M0 ⎯⎯ → M2, con σ = t1t 4 .

4. Dado el diagrama temporal de la Figura 115, dibuje una que lo modele:

161
Figura 115. Diagrama temporal

5. En la red interpretada por periferia de la Figura 116, existen 6 errores de definición


y representación. Encuentre los errores y redefina la red.

Figura 116. IPN

Tabla 51. Funciones

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

6. Diseñe un automatismo mediante el formalismo IPN, para el encendido y apagado


secuencial de tres motores, como se muestra en el siguiente diagrama temporal de la
Figura 117. El sistema arranca con un pulsador de inicio.

t3

Figura 117. Diagrama temporal para el automatismo de tres motores.

163
7. Explique porque la red de la Figura 118 no corresponde a un modelo definido
mediante el formalismo IPN.

Figura 118. PN para el ejercicio 7.

Tabla 52. Funciones.

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.

La secuencia deseada de operaciones es la siguiente:

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

Figuras 119 y 120. Proceso químico

9. Un taller tiene tres maquinas M1, M2 y M3, dos brazos robotizados R1 y R2, y un


buffer intermedio B2, así como buffers de entrada B1 y de salida B2 como se ilustra
B B B

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

antes de parar por completo el proceso del taller de maquinado.

M2

B1 M1 B2 R2 B3

M3
R1

Figura 121. Taller de Maquinado

Diseñe un automatismo mediante IPN para el taller de maquinado de la Figura


121, teniendo en cuenta que los buffer de entrada y salida están provistos de
dispositivos para la detección de trabajo y que además se tiene la posibilidad de
conocer la disponibilidad o no de las cada una de la maquinas.

166
10. Considere el sistema que se muestra en la Figura 122.

Figura 122. Bandas transportadoras

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.

a) Obtener la PN que resuelve el problema.

b) Obtener la PN que resuelven el problema si además se tiene un pulsador de


emergencia con enclavamiento que al pulsar desactivará todo el proceso. Una vez
solucionado el problema y rearmado el pulsador de emergencia se volverá al inicio.

167
CAPITULO 4

4. IMPLEMENTACIÓN EN UN CONTROLADOR LOGICO PROGRAMABLE

La metodología de diseño de automatismos secuenciales propuesta, puede ser


implementada indiferentemente en las diversas tecnologías disponibles para su
aplicación industrial: computadores, controladores lógicos programables, sistemas
embebidos, sistemas de propósito específico, microcontroladores. Una vez definida y
seleccionada la tecnología de implementación, se deben tener en cuenta sus
particularidades para realizar una traducción, preferiblemente automática, que permita
pasar del modelo al código específico de programación: acceso a periféricos, manejo de
memoria, direccionamiento, lenguajes de programación, sistema operativo, restricciones
temporales, entre otros aspectos.

El presente capítulo ilustra la aplicación del método en los denominados “Controladores


lógicos programables – PLC”, por ser éstos los dispositivos de mayor aceptación en la
práctica industrial para la implementación de automatismos secuenciales y por que la
orientación de un curso de automatización industrial cobija ampliamente estos equipos.

Dado que lo que se pretende es ilustrar la metodología, no se profundiza en la


descripción de los PLC´s, pero se presenta suficiente bibliografía sobre el tema y se
enfatiza en las particularidades tecnológicas de los mismos: el concepto de tiempo de
ciclo, la implementación de los eventos, su duración, la estabilidad del marcaje, el
marcaje inicial, el orden de programación, los conflictos, la sincronización dinámica, el
análisis de propiedades, la estructuración de los programas y los lenguajes de
programación.

Con respecto a los lenguajes de programación, se espera plantear una metodología


genérica de implementación en PLC y de generación automática y portabilidad de
código entre fabricantes y lenguajes. Para ello, la generación de código se hace bajo las
directrices de la norma IEC 61131, específicamente, en lenguaje de contactos o escalera
(Ladder Diagram – LD) y en lista de instrucciones (Instruction List – IL) y se ilustra
la aplicación para el caso de dos fabricantes en particular.

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.

Se recomienda al lector, que realice inicialmente una revisión de la literatura sobre


PLC´s, si no tiene conocimientos previos al respecto.

4.1 Controlador lógico programable

La “Electrical Manufacturers Association (NEMA)” adopta una definición formal de un


PLC que puede ser hallada en ANSI/NEMA IA 2.1-1994 (R2002) paragraph 2.50 y se
presenta en la Definición 36.

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.

Una definición más corta y actualizada sería:

169
Definición 37

Es un pequeño computador dedicado a tareas de automatización en ambientes


industriales.

4.1.1 Arquitectura de un PLC

Para interpretar la estructura de un PLC se utilizará un sencillo diagrama en bloques que


se presenta en la Figura 1.

RS 232 Ethernet

Real-Time flash serial port ethernet


CPU ROM
Clock EPROM controller controller
extension
bus
parallel bus buffers

fieldbus analog- digital- external


Digital
controller digital analog Digital Output I/Os
Input
converters converters

signal power signal


relays
conditioning amplifiers conditioning

field bus direct Inputs and Outputs

Figura 123. Estructura del PLC.

4.1.2 Como funciona un PLC

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.

El programa (software) que gobierna las señales de salida se introducen en el PLC a


través de la unidad de programación, que permite además funciones adicionales como
depuración de programas, simulación, monitoreo, control del PLC, entre otras.

4.1.3 Ejecución cíclica del programa y tiempo de ciclo

Una de las características fundamentales del PLC es el funcionamiento cíclico de la


CPU, y un parámetro de las prestaciones es su tiempo de scan (tiempo de ciclo),
considerado como el necesario para ejecutar 1K instrucciones, pero como no todas las
instrucciones son iguales en cuanto a tiempo de ejecución se refiere, se adoptó como
parámetro el tiempo de ejecución de 1K de memoria vacía.

Un autómata típico puede leer mil instrucciones en 6[mseg] y emplea de 5 a 10 [mseg]


para actualizar las variables, por lo tanto puede emplearse para controlar procesos
relativamente rápidos. La suma del tiempo de programa y el tiempo de actualización de
las variables conforman el tiempo de ciclo, y obviamente es necesario que:

Tiempo de evolución del proceso >> Tiempo de ciclo

En general el tiempo de ciclo es el tiempo transcurrido entre el cambio físico de una


entrada y el cambio correspondiente en la salida y en consecuencia su duración es
fundamentalmente dependiente del número de entradas y salidas, del tamaño del
programa y de la velocidad del procesador del PLC.

Existen tres pasos básicos en la operación de cualquier PLC, estos se ilustran en la


Figura 2.

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

4.2 Norma IEC 61131-3

 Desde la creación de los PLC, surgieron múltiples plataformas de hardware y


software, ofrecidas por los distintos fabricantes. Esta situación ha dificultado la
estandarización de aplicaciones y por consiguiente, el mantenimiento, la portabilidad
de software, el soporte, el manejo de repuestos. Una empresa requiere mayor
logística para el montaje y mantenimiento de proyectos y sistemas si cuenta con
múltiples plataformas de desarrollo de distintos fabricantes. El objeto de la IEC
61131 es la estandarización de los autómatas programables y sus periféricos,
incluyendo los lenguajes de programación que se deben utilizar. La norma especifica
la sintaxis y semántica de los lenguajes de programación, incluyendo el modelo de
software y la estructura del lenguaje.

4.2.1 Ventajas de la aplicación de la Norma IEC 61131-3

 Reduce el gasto de recursos humanos (entrenamiento, búsqueda de errores,


mantenimiento y consultaría), creando un enfoque que resuelve el problema vía

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.

4.2.2 Elementos comunes

 Nombramiento de elementos de software usando identificadores, por ejemplo


variables.
 Declaración de variables usando tipos de datos estándar.
 Declaración de variables usando tipos de datos derivados, estructuras y tipos de
datos tipo vector.
 Establecimiento del valor inicial por defecto para ciertos tipos de datos.

174
4.2.3 Tipos de datos

Tabla 53. Tipos de datos

Variable Bits
Bool 1

Byte 8

Word 16

Dword 32

Int 16

Real 32

Time Dependiente de la implementación

Date Dependiente de la implementación

String Dependiente de la implementación

4.2.4 Lenguajes de programación utilizados para programar un PLC de acuerdo


a la norma IEC 61131-3

Los lenguajes de programación definidos en la norma IEC 61131-3 se presentan en la


54.

175
Tabla 54. Lenguajes de programación

Lenguaje de Contactos (LD) Diagrama de bloques funcionales (FBD)

VAR CONSTANT X : REAL := 53.8 ;


Z : REAL; END_VAR
VAR aFB, bFB : FB_type; END_VAR

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

Texto estructurado (ST) Lenguaje por Lista de Instrucciones (IL)

Sequential Function Chart (SFC)

176
4.3 Formato (estructura de programación)

4.3.1 Instruction List (IL)

Lista de Instrucciones (IL) es el modelo de lenguaje ensamblador basado en un


acumulador simple.

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:

Figura 126. Estructura del lenguaje IL

Las instrucciones IL en la Figura 126 son equivalentes a las declaraciones del siguiente
texto estructurado.

IF SPEED > 1000 Then

Volts := Volts – 10;

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.

Escribe el resultado de la red en una bobina


ST ANY
(operando).

S BOOL Enclava una bobina

R BOOL Desenclava un bobina

AND ANY Conexión en serie

& ANY Equivalente a AND

OR ANY Conexión en paralelo

XOR ANY Conexión "o" exclusiva

NOT ANY Negación lógica

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

Un bloque funcional realiza un algoritmo que se utiliza frecuentemente en los sistemas


electrónicos de control. Al igual que las funciones, los bloques funcionales pueden estar
predefinidos por el programador.

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).

Figura 127. Bloque funcional RT1 Convertidor de un evento de subida en un


impulso: a) Lista de instrucciones; b) Cronograma que describe su
comportamiento.

• Bloques funcionales temporizadores

Son bloques funcionales que generan variables cuya activación, duración o


desactivación es función del tiempo que permiten programar cuentas de tiempo
con el fin de activar bobinas pasado un cierto tiempo desde la activación.

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).

Temporizador de retardo a la conexión

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.

En la Figura 128(a) se representa su símbolo lógico y en la Figura 128(b) el


cronograma que representa su comportamiento. En dicha figura se observa
también que la norma establece, además de la salida Q, una salida ET que indica
el tiempo transcurrido a partir del instante en que se activa la entrada IN. En el
caso de que la entrada IN vuelva a cero antes de que trascurra el tiempo PT, la
salida Q no llega a activarse (Figura 128(b)), de donde se deduce que este tipo de
temporizador no tiene capacidad de memorización.

Figura 128. Bloque funcional temporizador con retardo a la conexión TON: a)


Símbolo lógico; b) Cronograma.

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.

Pueden realizar el contaje en sentido ascendente (Up), en sentido descendente


(Down) o en ambos sentidos (Up/Down). Sus símbolos lógicos se representan en
la Figura 7.

Figura 129. Símbolo lógico de los diferentes tipos de contadores.

4.3.2 Lenguaje Ladder (LD)

Un contacto en diagramas Ladder se asume para tener estados ENCENDIDO y


APAGADO (para un estado normalmente abierto estos estados son referenciados como
CERRADO y ABIERTO) que son equivalentes a los estado boléanos 1 (verdadero) y 0
(falso). Un contacto siempre representa el estado asociado a una variable booleana.

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.

Tabla 56. Símbolos en diagramas Ladder

Elementos básico en Ladder


Símbolo Nombre Descripción
Se activa cuando hay un uno lógico en el elemento que representa,
Contacto NA esto es, una entrada (para captar información del proceso a
controlar), una variable interna o un bit de sistema.
Su función es similar al contacto NA anterior, pero en este caso se
Contacto NC activa cuando hay un cero lógico.

Contacto de El contacto Detectar evento positivo (EU) permite que la corriente


P Detección de circule durante un ciclo cada vez que se produce un cambio de 0 a
Cambio Positivo 1 (de “apagado" a “encendido").
Contacto de El contacto Detectar evento negativo (ED) permite que la corriente
N Detección de circule durante un ciclo cada vez que se produce un cambio de 1 a
Cambio Negativo 0 (de “encendido" a “apagado").
Se activa cuando la combinación que hay a su entrada (izquierda)
da un uno lógico. Su activación equivale a decir que tiene un uno
( ) Bobina NA
lógico. Suele representar elementos de salida, aunque a veces
puede hacer el papel de variable interna.
Se activa cuando la combinación que hay a su entrada (izquierda)
( ) Bobina NC da un cero lógico. Su activación equivale a decir que tiene un cero
lógico. Su comportamiento es complementario al de la bobina NA.

Una vez activa (puesta a 1) no se puede desactivar (puesta a 0) si


no es por su correspondiente bobina en RESET. Sirve para
(S) Bobina SET memorizar bits y usada junto con la bobina RESET dan una
enorme potencia en la programación.

(R) Bobina RESET Permite desactivar una bobina SET previamente activada.

183
 Identificación de Variables

A cada contacto se le asigna una variable cuya identificación es igual a la utilizada en el


lenguaje de lista de instrucciones. En la Figura 8(a) se representa el símbolo asociado a
un contacto correspondiente a la variable i1 (examina la variable i1 a uno, es decir, el
contacto está cerrado si la variable i1 es “1”) y en la Figura 8(b) el correspondiente a la
variable i 1 (examina la variable i1 a cero, es decir, el contacto está cerrado si la variable
i1 es “0”).

Figura 130. Asignación de variables lógicas en el lenguaje de diagrama de


contactos: a) Representación de la variable i; b) Representación de la
variable i 1 .

Las variables de salida externa o interna, generadas mediante una combinación de


variables lógicas, se indican mediante el símbolo de la Figura 9(a), que corresponde en
este caso a la variable mi. Las variables de salida externa o interna se pueden representar
también de forma invertida tal como se indica en la Figura 9(b) que representa la
variable qi .

Figura 131. Símbolo de una función de salida interna o externa: a) Normal; b)


negada.

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.

 Operaciones con eventos

En el lenguaje de esquema de contactos se definen operaciones que facilitan el trabajo


con eventos. Estas operaciones pueden corresponder a variables que actúan por eventos
(que se deben denominar variables de detección de eventos) o a variables de salida en las
que se genera un impulso cuando se detecta un evento. A continuación se trabajan las
variables que actúan por eventos las cuales son implementadas en este texto.

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.

 Estructura y orden de ejecución

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.

El esquema que se presenta en la Figura 133 representa la estructura general de la


distribución de todo programa Ladder, contactos a la izquierda y bobinas y otros
elementos a la derecha.

Figura 133. Distribución de un programa

En cuanto a su equivalencia eléctrica, es posible imaginar que la línea vertical de la


izquierda representa la barra de alimentación, mientras que la línea vertical de la derecha
representa la barra de masa.

El orden de ejecución es generalmente de arriba a bajo y de izquierda a derecha, primero


los contactos y luego las bobinas, de manera que al llegar a éstas ya se conoce el valor

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

Es posible crear escalones en diagramas Ladder que contiene trayectorias cerradas, es


decir, donde uno o más valores usados en contactos, y como funciones o funciones de
bloque de entrada, actualizando las variables cada vez que el escalón es evaluado.

Un ejemplo de una Trayectoria de Realimentación en diagramas Ladder se presenta en


la Figura 134. En este ejemplo, donde el escalón utiliza el estado de su propia salida, el
valor de la bobina asociada con el contacto es siempre el valor resultante de las
evaluaciones previas. Sin embargo, si el valor de FAN es usado en cualquiera de los
escalones siguientes, el último estado evaluado es usado.

Figura 134. Ejemplo de una trayectoria en LD

 Reglas de Evaluación

El orden en que se evalúan los escalones en un una red de un diagrama Ladder es


especificado en el Standard. En consecuencia las siguientes reglas, que además aplican a
los diagramas de funciones de bloques, aseguran que el resultado de la evaluación de
una red LD sea inambigua y consistente.

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

Tabla 57. 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.

4.5.1 Dinámica de la red

El comportamiento dinámico de una IPN esta controlado por el flujo de marcas en la


red, y en un el modelo una transición se encuentra habilitada para el disparo, si está
sensibilizada y se cumple la receptividad.

 Reglas de disparo de una transición en un modelo IPN

1. Una transición dispara inmediatamente si esta habilitada (sensibilizada) y su


condición de disparo se cumple (receptiva).
2. Todas las transiciones que puedan disparar y no estén en conflicto con otras
transiciones disparan simultáneamente.
3. El proceso de disparo es iterado hasta que ya no disparen más transiciones.

4.5.2 Interpretación de los elementos de la red

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

La compilación de una transición tiene que probar si la transición está sensibilizada y es


receptiva, para comprobar esto se construye el segmento de código mostrado en la
Figura 135.

190
Figura 25. Código IL compilación de transición

Figura 3. Código LD compilación de transición

De esta manera, la relación entre el modelo IPN y el código respectivo en lenguaje IL y


LD puede verse en la Figura 137.

Figura 137. Relación entre los elementos de una IPN, LD e IL

191
 Marcaje de lugares

El disparo de una transición genera el desmarcaje de los lugares de entrada a la


transición y el marcaje de los lugares de salida. Para ello se utilizan las funciones de
memoria SET (S)/RESET(R).

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 437. Código IL de transición parte 2: disparo

Figura 5. Código LD de transición, parte 2: disparo

La codificación completa de la transición de la Figura 137 en IL y LD se presenta en la

Figura 139.

192
Figura 139. Relación de código con el modelo

Es importante tener en cuenta que este paso es el encargado de mantener la estructura


del juego de marcas de la IPN. Bajo esta condición se desarrolla la traducción uno a uno
de los segmentos de código, que es el mapeo de los elementos de la red con el segmento
de código desarrollado.

 Salidas

Después de tener la estructura del juego de marcas (representación de la dinámica que


establece el disparo de las transiciones de un modelo IPN) traducida al lenguaje PLC, se
procede a la asignación de acciones en los lugares o estados internos basados en la
función ω.

Si un lugar está marcado entonces la correspondiente función de salida se ejecuta


(encendiendo o apagando variables de salida) como se muestra en la Figura 140 y Figura
141 para los lenguajes LD e IL.

193
Figura 140. Segmento IL codificación salidas

Figura 141.Segmento LD codificación salidas

El siguiente ejemplo ilustra la generación de código:

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

4.6.1 Función lógica AND

Tabla 58. Funciones para la IPN de la función lógica AND

Receptividad
Transición
E (ti)●ϕ (ti) 

t1 i1

Figura 143. Función lógica AND convergente (Unión o sincronización)

Figura 144. Función lógica AND divergente (Bifurcación)


196
4.6.2 Función lógica OR
Tabla 59. Funciones para la IPN de la función lógica OR

Receptividad
Transición
E (ti)●ϕ (ti) 

t1 i1

t2 i2

Figura 145. Función lógica OR convergente

Figura 146. Función lógica OR divergente (Exclusión mutua)


197
4.6.3 Temporizadores

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.

Tabla 60. Funciones para la IPN para el temporizador

Receptividad
Transición
E (ti)●ϕ (ti) 

t1 1

Figura 147. Código Generado para la función temporizador

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.

Tabla 61. Funciones para la IPN de la función contador


Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)

p1   t1 i1• i2  

p2 q1=C0+1     

Figura 148. Código Generado para la función contador

199
4.7 Consideraciones para la implementación

4.7.1 Direccionamiento

El direccionamiento de entradas, salidas y marcas en la programación de un PLC


consiste en informar a la CPU, de acuerdo al formato empleado por el fabricante, la
dirección lógica de las diferentes entradas salidas y marcas.

El direccionamiento de I/O y estados internos varía de fabricante a fabricante, sin


embargo, la mayoría adopta una nomenclatura dividida en campos que proporciona
información sobre la ubicación física de la entrada, salida o marca, por ejemplo. La
norma IEC contempla además el direccionamiento normalizado.

200
Bit

0000
0001 Byte
0002

0010
0020 Word
0030
0040

4096

Figura 149. Direccionamiento IEC.

201
Tabla 61.1. IEC.

Primera Letra del Código Interpretación

I Memoria de entrada

Q Memoria de Salida

M Memoria Interna

Segunda Letra del Código

X Bit

B Byte (8 Bits)

W Word (16 Bits)

D Doble Word (32 Bits)

L Long Word (64 Bits)

Direccionamiento de las entradas digitales

Figura 6. Direccionamiento de las entradas digitales

202
Esto desde un modelo en redes de Petri se muestra en la Figura 32.

Figura 151. Direccionamiento de la entradas existentes en la receptividad de una


PN

Direccionamiento de las salidas digitales

Figura 152. Direccionamiento de las salidas digitales

203
Esto desde un modelo en redes de Petri se muestra en la Figura 153

Figura 153.

Tabla 1. Tabla de asignación de memoria

Función
Lugar Direccionamiento
ω (pi)
q0 Æ Q0.0
p1 (0,1)
q1 Æ Q0.1

204
Direccionamiento de los estados internos (marcas)

Figura 7. Direccionamiento de las salidas

Tabla 63. Tabla de asignación de memoria

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.

Figura 155. Marca especial (SM0.1) de primer ciclo

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

Para los equipos FEC34-MWT, de FESTO, el marcaje inicial se establece mediante un


estado interno denominado FI, que tiene un valor “1”, solo durante el primer ciclo. Para
206
una dirección de lugar inicial (p1) definida como F0.0, el segmento de código para el
marcaje inicial de p1, en lenguaje STL para el equipo FESTO, seria:

IF FI

THEN SET F0.0

El código IEC equivalente para el marcaje inicial es el siguiente:

PROGRAM MARCAJE INICIAL Declaración del programa

VAR Declaración de variables

P1 : BOOL:= TRUE;
END_VAR

4.7.3 Orden de programación

El comportamiento secuencial de un proceso está determinado por el orden que presente


la evolución de los estados, ocasionado por la ocurrencia de eventos. Es decir, el
comportamiento secuencial lo establece el modelo y la ocurrencia asíncrona y aleatoria
de los eventos y no el orden en que se programen las instrucciones. El comportamiento
del controlador es invariante con el orden de programación.

Esta afirmación es válida si el modelo no presenta situaciones de sincronización


dinámica o de simultaneidad de eventos.

Se tiene en cuenta que la estructura y orden de ejecución establece que el programa se


ejecuta de arriba abajo y de izquierda a derecha y de manera cíclica. Además, se
consideran las reglas presentadas en el numeral 4.5.1, en el sentido que todas las
transiciones habilitadas para el disparo, disparan simultáneamente (en el mismo ciclo).

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:

ESTRUCUTRA COMPLETA DEL PROGRAMA (LD, IL) (Cuerpo de codigo).

 LD

Temporizadores y contadores

Temporizadores

Inicialización

Temporizadores

Contadores

Dinámica del marcaje (transición y lugares)

Activación de salidas

208
 IL

Declaración de variables

Inicialización de instancias

Cuerpo de código

Figura 156. Estructura de programación para programas IPN

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

Se planteo en el capitulo 3, que un evento no tiene duración. Para la implementación


practica, se requiere que el evento tenga una duración mínima que garantice el
procesamiento de la información que la ocurrencia del evento genera.
La norma IEC establece que la duración de los eventos, definidos mediante las
operaciones “positive transition” y “negativie transition” es de un ciclo. Es decir, el
evento estará en valor “1” durante el ciclo en el que el cambio de la entrada ha sido
leído.
Una consideración importante con respecto a la duración de los eventos es que en un
ciclo, un evento puede no ser procesado. Esto ocurre si la duración del evento es
menor que el tiempo de ciclo.

4.7.5 Estabilidad del marcaje

El concepto de estabilidad del marcaje establece, de acuerdo con la definición de


tiempo de ciclo y con la dinámica del juego de marcas, que durante un ciclo el
marcaje es estable, esto es, todas las transiciones sensibilizadas y receptivas en un
ciclo, disparan en ese ciclo, hasta alcanzar un marcaje estable.
Este concepto es válido si no se considera el orden de programación (numeral 4.2.7),
ya que un marcaje que no es estable en un ciclo, puede volverse estable cambiando el
orden de programación.
La estabilidad del marcaje tiene estrecha relación con el orden de programación, con
la “sincronización dinámica” y con la simultaneidad de eventos, situaciones que se
explicarán e ilustrarán en las secciones siguientes.
Considerando el orden de programación, la estabilidad del marcaje puede expresarse
así:
En un ciclo, si el disparo de una transición t1 sensibiliza a una transición t2 y si t2 es
receptiva en ese ciclo, t2 se dispara en el ciclo actual si su código es posterior al
código de t1. En caso contrario, se dispara en el ciclo siguiente.

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:

( i ) Transiciones con receptividad “1”

Figura 157. Transiciones con receptividad “1”

211
( ii ) Transiciones que son receptivas, antes de estar sensibilizadas.

Figura 158. Transiciones que son receptivas, antes de estar sensibilizadas.

( iii ) Transiciones consecutivas con una receptividad equivalente.

Figura 159. Transiciones consecutivas con una receptividad equivalente.

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):

- invertir el orden de programación, tal como se explicó en el caso de estabilidad


del marcaje y como se muestra en el siguiente ejemplo.
- Agregar un retardo a la segunda transición.

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.

Debido a la forma en que se ejecuta el programa de usuario (izquierda - derecha y arriba


– abajo) cuando es cumplida la condición de disparo i1 y el estado interno IPN está
activo se enciende (SET) el lugar de salida p2 y se apaga (RESET) el lugar de entrada p1
(ver segmento de código de transición t1 de la Figura 40), pero debido a que la condición
de disparo de la transición t2 es igual a uno, es decir, incondicional, el segmento de
código correspondiente a esta transición también se ejecuta en este mismo ciclo
causando así que la marca de p3 se apaga antes de ejecutar su acción asociada.

En la Figura 41 se observa el código en el lenguaje PLC correspondiente a la IPN de la


Figura 40 en el cual se ha modificado el orden de los segmentos de código
correspondientes a las transiciones t1 y t2, con lo que se obtiene un correcto
comportamiento 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

Según se estableció en la Hipótesis 1, la probabilidad de ocurrencia de dos eventos


independientes, de manera simultánea es cero. Sin embargo, cuando se abordan los
aspectos de implementación, debe considerarse el caso hipotético de que se presente la
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.

Se pueden analizar tres casos:

i) Si las transiciones que tienen asociados los eventos simultáneos están en


sincronización dinámica. Aplica lo establecido en la sección anterior.
ii) Si las transiciones no están en sincronización dinámica. Los eventos son leídos
en el mismo ciclo y las transiciones disparadas en el mismo ciclo (estabilidad del
marcaje). El desempeño del controlador es invariante con el orden de
programación de las dos transiciones.
iii) Las transiciones están en conflicto. En este caso, debe suministrarse un esquema
de solución de conflictos, como por ejemplo, asignación de prioridades según el
orden de programación. Se programa primero el código correspondiente a la
transición con mayor prioridad. En el siguiente ejemplo se ilustra la aplicación de
este concepto.

Ejemplo 46 (memorización de fin de ciclo)

Se dispone de un pulsador de fin de ciclo, para permitir que un proceso evolucione y


termine el ciclo actual si se da esta señal. La red de la izquierda representa la ejecución
del ciclo. La red de la derecha, la memorización del pulso de fin de ciclo. El ciclo

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.

Los cambios en el orden de código, ocasionados por sincronización dinámica o


simultaneidad de eventos, dificultan la generación del código de manera automática.

El comportamiento del controlador es invariante con el orden de programación, si no se


presentan situaciones de sincronización dinámica ni simultaneidad de eventos.

4.7.8 Ilustración del método de generación de código

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.

En lenguaje IL se inicializarán las variables en la zona de declaración y se usarán


variables internas simbólicas, de conformidad con la norma IEC 61131-3.

218
Ejemplo 47

Figura 9. Ilustración de la representación grafica de una IPN

Tabla 3. Funciones para la IPN de la Figura 163


Función Receptividad
Lugar Transición
ω (pi) E (ti)●ϕ (ti)

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

Se tiene un sistema de parqueadero, como se muestra en la figura 166:

Figura 166. Parqueadero.

El sistema consiste en un parqueadero que controla la entrada y salida de vehículos, a


través de un semáforo, este se pone en Verde cada vez que hay cupos, y en rojo cuando
no hay cupos dentro.

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

i1 Entrada asociada a fs1

i2 Entrada asociada a fs2

Entradas i3 Entrada asociada a fs

i4 Control de acceso

i5 Interruptor de fin de Carrera de cierre


de la puerta

i6 Interruptor de fin de Carrera de


apertura de la puerta

Tabla 67. Direccionamiento de las salidas

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.

Figura 167. IPN de Parqueadero

224
Tabla 68. Funciones

Función Receptividad Retardo


Lugar Transición
ω (pi) E (ti)●ϕ (ti) τ(ti) 
p1 (0,0,0,0)  t1, t2
K i4● ,
 
i2●K i1

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) 

p10 (0,0,1,0)  t8, t10 i5 , i3  

p11 (0,0,0,1)  t12 i6  

p12 (0,0,0,0)  t11   τ 

225
p13 (1,0,0,0)  t14  
 

p14 (0,1,0,0)  t13  


 

226
PROGRAMA EN STEP 7

Tabla 69. Inventario de señales:

Entradas Estados Salida

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 
   
 

En la figura 168 se muestra el programa en STEP 7 200 para el parqueadero:

227
228
229
230
231
Figura 168. Programa en Step 7 200

EJERCICIOS

1. Sea un proceso como se muestra en la figura 1.

Fotosensor1

Cilindro 1
V3
V1
Cilindro 2
V4

V2
Estampador
Fotosensor2
Motor 1

Motor 2

Figura 169. Esquema del proceso.

232
Tabla 70. Inventario de señales:

Señal Entrada Estado Señal Salida

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

El proceso comienza cuando se presiona el botón inicio. El proceso realiza la siguiente


secuencia:

1. Se posiciona la caja que se encuentra en la banda 1, es decir, se mantiene encendido


el motor 1 hasta que el fotosensor 1 presencia el objeto.
2. Se expulsa el pistón del cilindro 1 por medio de la válvula 1.
3. Cuando el fotosensor 2 detecta la caja, se contrae el pistón del cilindro 1 con la
apertura de la válvula 2 hasta que se activa el pulsador de fin de carrera para la
contracción del cilindro 1.
4. Se expande el cilindro 2 hasta que se activa el pulsador de fin de carrera para la
expansión del cilindro 2 y se estampa la caja, dejando el estampador en la caja por 3
segundos.
5. Se comprime el cilindro 2 hasta que se activa el pulsador de fin de carrera para su
contracción.
6. Se retira la caja por medio del movimiento de la banda transportadora.

Nota: Este proceso se realiza 3 veces y luego se detiene totalmente. Si se presiona el


botón de emergencia el proceso se detiene y espera de nuevo la señal de inicio.

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.

2. En la Figura 170 se muestra el esquema del proceso que se definirá a continuación:

V2 V3

N3

N2

N1

V1 V4

Motor 1

Figura 17011. Esquema del proceso de llenado de botellas

Tabla 71. Inventario de señales:

Entrada Señal Estado Salida Señal

Inicio i1 NA V1 q1

N1 i2 NA V2 q2

N2 i3 NA V3 q3

N3 i4 NA V4 q4

Botella en posición i5 NC Motor q5

Parada de emergencia i6 NA

234
El botón de inicio y la parada de emergencia son pulsadores.

Los sensores de nivel se ponen en 1 cuando el nivel es mayor o igual a su indicación.

1. Se presiona el botón de inicio.


2. Si el nivel del tanque es mayor que N1, se abre la válvula V1 hasta que el nivel sea
menor o igual a N1; de otra forma se continúa con el punto 3.
3. Se abre V2 hasta que se alcanza el nivel N2.
4. Se abre V3 hasta que se alcanza el nivel N3.
5. Si la botella no está en posición, se posiciona mediante el motor 1.
6. Cuando la botella está en posición, se abre V4 por 3 segundos.
7. Los pasos 5 y 6 se realizan hasta que se han llenado 3 botellas.
8. El proceso se detiene totalmente luego de llenar 3 botellas.

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.

3. Sea una leva como la que se muestra en la Figura 171:

Figura 171. Sistema de Leva.

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:

Se inicia con el pulso de i1.

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.

La señal de activación para M1 es un flaco de bajada de i4.

El proceso se realiza 3 veces seguidas (Llegada con giro horario a i2) y luego se detiene.

Si en algún momento se da i6 el proceso continua hasta que se activa i2 por el giro en


sentido horario, lo que hace que el proceso se detenga.

El proceso puede reiniciarse con un pulso de inicio.

Suposiciones:

 No tener en cuenta el sentido de giro de M2.

236
 Inicialmente están pulsados tanto i3 como i2.
 Siempre hay piezas disponibles para colocar.

Nota: i2 e i5 son suiches normalmente cerrados.

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.

2. IEC, International Electrotechnical Commission. (2003). IEC 61131-3, 2nd Ed.


Working group 7: Programmable controllers. Technical committee no. 65:
Industrial-process measurement and control sub-committee 65b: devices.
programmable controllers - programming languages.

3. DIME-Dirección de Investigación U.N Sede Medellín. (2004a). Métodos


Formales Para El Diseño De Algoritmos De Control Lógico De Sistemas
Dinámicos a Eventos Discretos. En: , Medellín, Mes, Paginas.

4. DIME-Dirección de Investigación UN Sede Medellín. (2004b). Un método


basado en HCPN (Hierarchical Coloured Petri Nets) para diseñar programas
de control lógico. En: , Medellín, Mes, Paginas.

5. SIEMENS S.A. Manual SIMATIC S7-300. 2000.

6. Miyazawa, H., Tanaka, T., Sekiguchi. (1997). Verification of the Behavior of


Sequential Function Chart Based on Its Petri Nets Model. En: Emerging
Technologies and Factory Automation, USA, IEEE. pp. 532-537.

7. Chmiel, M., Hrynkiewicz, E. y Muszynski, M. (2002). The way of ladder


diagram analysis for small compact programmable controller. En: Science and
Technology, IEEE. pp. 169- 173. [K31]

8. Benitez Pina, I., Vazquez Seisdedos, L. y Villafruela Loperana, L. (1999).


Including object-oriented properties in the PLC's programming languages. En:
Emerging Technologies and Factory Automation, España, IEEE, vol. 2. pp
1029-1034.

9. Feldmann, K., Colombo, A.W., Schnur, C. y Stockel, T. (1999). Specification,


design, and implementation of logic controllers based on colored Petri net
models and the standard IEC 1131. I. Specification and design. En: Emerging
Technologies and Factory Automation, España, IEEE, vol. 2. pp. 1029-1034.

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.

17. Frey, G. (1998a). Automatic Implementation of petri net based control


algorithms on PLC. Kaiserslaurtern, Institute of process Automation,
Universidad de Kaiserslaurtern.

18. Antoniadis, I. y Leopoulos, V. (1999). A concept for the integrated process


description, PLC programming and simulation using petri nets: Application in a
production process. En: . Atenas, Universidad de Atenas.

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.

20. Frey, G. (1998b). Analysis of petri net based control algorithms-basic


properties. Kaiserslaurtern, Institute of process Automation, Universidad de
Kaiserslaurtern.

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

22. Desrochers, A. (1995). Applications of Petri Nets in Manufacturing Systems. En:


IEEE Press, IEEE.

23. Zhou, m. (1996). Discrete Event Control Design Methods. En: 13th IFAC Word
Congress, Vol. 9.

24. Bruggink, M. (1999). Programming PLCs using Sequential Function Chart.


Nijmegen, Department of Computing Science, Universidad de Nijmegen.

25. Ferrarini, L., Narduzzi, M. y Tassan-Solet, M. (1994). A new approach to


modular liveness analysis conceived for large logic controllers’ design. En:
IEEE Trans. Robot. Automation, IEEE, vol. 10, pp. 169–184.

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.

27. Nakamura, S., Fujii, Y. y Sekiguchi, T. (1999). Study on a transformation


method of ladder Diagram into sequential function chart on the Basis of linear
programming technique. Yokohama, Facultad de ìngeniería, Universidad
Nacional Yokohama.

28. Balcells, J. y Romeral, J. (1997). Automatas Programables. Barcelona.


Marcombo.

29. Mandado, E., Acevedo, J. y Perez, S. (1997). Controladores lógicos y automatas


programables. Barcelona. Marcombo. 2ª. Ed.

30. Porras, A. y Montenegro, A. (1990). Automatas Programables: Fundamento,


manejo, instalacion y practicas. Barcelona. Mc Graw-Hill.

31. Murata, Tadao

240

Das könnte Ihnen auch gefallen