AutoI Libro Petri

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

Transcript of AutoI Libro Petri

Page 1: AutoI Libro Petri

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

Page 2: AutoI Libro Petri

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.

Page 3: AutoI Libro Petri

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

Page 4: AutoI Libro Petri

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

Page 5: AutoI Libro Petri

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

Page 6: AutoI Libro Petri

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

Page 7: AutoI Libro Petri

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

Page 8: AutoI Libro Petri

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

Page 9: AutoI Libro Petri

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

Page 10: AutoI Libro Petri

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

Page 11: AutoI Libro Petri

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

Page 12: AutoI Libro Petri

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

Page 13: AutoI Libro Petri

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

Page 14: AutoI Libro Petri

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

Page 15: AutoI Libro Petri

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

Page 16: AutoI Libro Petri

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

Page 17: AutoI Libro Petri

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

Page 18: AutoI Libro Petri

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

Page 19: AutoI Libro Petri

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

Page 20: AutoI Libro Petri

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

Page 21: AutoI Libro Petri

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

Page 22: AutoI Libro Petri

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

Page 23: AutoI Libro Petri

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

Page 24: AutoI Libro Petri

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

Page 25: AutoI Libro Petri

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

Page 26: AutoI Libro Petri

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

Page 27: AutoI Libro Petri

2

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.

Page 28: AutoI Libro Petri

3

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.

Page 29: AutoI Libro Petri

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

Page 30: AutoI Libro Petri

5

• •

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

Page 31: AutoI Libro Petri

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.

high

low

x1

x2

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

Page 32: AutoI Libro Petri

7

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.

Page 33: AutoI Libro Petri

8

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

Page 34: AutoI Libro Petri

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

Page 35: AutoI Libro Petri

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

Page 36: AutoI Libro Petri

11

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.

Page 37: AutoI Libro Petri

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

Page 38: AutoI Libro Petri

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  

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

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

B : PxT   N 

13

Page 39: AutoI Libro Petri

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  T ≠ U φP   T = I φ  

║P║ ≥ 1, ║T║ ≥ 1 A mxn  ≠  0 mxn BB mxn  ≠ 0mxn

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

Page 40: AutoI Libro Petri

2.2. Elementos de entrada y salida de una PN.

Sea:

X = P   T. U

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

Page 41: AutoI Libro Petri

p2 p3

t1

p1

p2 p3

t1

p1

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

t2 t3

P1

t1

t3t2

P1

t1 t2

P1

t1

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

Page 42: AutoI Libro Petri

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   tU 4• = { p4 ,p6} 

17

Page 43: AutoI Libro Petri

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

son las transiciones t2 y t3.

Los elementos de entrada de la transición t5 son los lugares p4 y p5.

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

El elemento de salida de p4 es la

transición t5.

Los elementos de salida de t1 son los

lugares p2 y p3.

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

nbh(t1)= 

•t1   tU 1• = { p1, p2, p3} 

18

Page 44: AutoI Libro Petri

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

Page 45: AutoI Libro Petri

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

Page 46: AutoI Libro Petri

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

Page 47: AutoI Libro Petri

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

Page 48: AutoI Libro Petri

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

Page 49: AutoI Libro Petri

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

Page 50: AutoI Libro Petri

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

Page 51: AutoI Libro Petri

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

Page 52: AutoI Libro Petri

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

Page 53: AutoI Libro Petri

Esta red se puede representar como:

RM = ⟨P,T,A5x5,B5x5,M0⟩ 

En la cual:

P={p1

, p2

, p3

, p4

, p5}

T={t1, t

2, t

3, t

4, t

5}

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

51 2 3 4

1

2

3

4

5

      t t t t tp 1 0 0 1 0

0 1 0 0 0A = 0 0 1 0 0

0 0 0 0 10 0 0 0 1

pppp

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

51 2 3 4

1

2

3

4

5

     t t t t tp 0 0 0 0 1

1 0 0 0 0B = 1 0 0 0 0

0 1 1 0 00 0 0 1 0

pppp

[ ]

=

1 2 3 4 5T

0

    p    p     p  p    p

M        1     0      0      0      0

28

Page 54: AutoI Libro Petri

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.

P={p1

, p2

, p3

, p4

, p5

, p6}

T={t1, t

2, t

3, t

4, t

5}

0 00 0 3 0 00 0 0 1 00 0 0 1 00 0 0 1 00 0 0 0 2

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

1 2 3 4

1

2

3

4

5

6

A =

t t t t tp 1 1 0ppppp

5

0 20 3 0 0 01 0 0 0 00 1 0 0 00 0 1 0 00 0 0 1 2

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

1 2 3 4 5

1

2

3

4

5

6

B =

t t t t tp 0 0 0ppppp

[ ]

=

1 2 3 4 5 6T

    

0

p     p    p   p    p     p

M        2     0      0      0      0     0

29

Page 55: AutoI Libro Petri

Los elementos de entrada del lugar p4

son las transiciones t2 y t3.

Los elementos de entrada de la transición t5 son los lugares p4 y p5.

•p2 = { t2 }  •t5 = { p1 }   

El elemento de salida de p4 es la transición t5.

Los elementos de salida de t1 son los lugares p2 y p3.

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

nbh(t4)= •t4   tU 4• = { 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

Page 56: AutoI Libro Petri

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

Page 57: AutoI Libro Petri

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

Page 58: AutoI Libro Petri

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:

⎯⎯→jk ktM M +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 disparo.

(b) marcaje de la red después del

disparo de t1.

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

33

Page 59: AutoI Libro Petri

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 00 1 0 0 10 1 1 0 0

A0 0 1 1 00 0 0 1 00 0 0 0 1

=

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

0 0 0 1 11 0 0 0 01 0 0 0 0

B1 0 0 0 00 1 0 0 00 0 1 0 0

[ ]0M = 1  0  0  0  0  0 T

Una primera evolución de la red será:

⎯⎯→0 11tM M

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

Page 60: AutoI Libro Petri

Así que el marcaje final estará dado por:

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

= + − =⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

1

1 0 1 00 1 0 10 1 0 1

M0 1 0 10 0 0 00 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

......⎯⎯→ ⎯⎯→ ⎯⎯→ ⎯⎯→k k+1 k+2M M M M1 2 nt t tk+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

Page 61: AutoI Libro Petri

+⎯⎯→k kσM M 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:

⎯⎯→ ∈ ∧ ∈→ Δk i k+1 j i  k it T nbh(M (p ) M (p ) p ) 

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

BBmxn:

Cmxn = BBmxn – Amxn

De modo que sus componentes son:

36

Page 62: AutoI Libro Petri

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.

⎧⎪⎨⎪⎩

==

≠ji

k iji

1 si t tU (t )

0 si t t

37

Page 63: AutoI Libro Petri

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 00 0 1 0 0

A 0 0 1 0 00 0 0 1 00 0 0 0 1

=

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

0 0 0 1 11 0 0 0 0

B 0 1 0 0 00 0 1 0 00 0 1 0 0

[ ]=T

M 2 0 0 0 00

− −−

= −

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

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

Page 64: AutoI Libro Petri

⎯⎯→0 11M M

⎯⎯→ 22M M1t

t

− −−

= + • =−

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

2 1 1   0 1   1 1 10   1   0 1 0   0 0 1

M 0   0   1 1 0   0 0 010   0   0    1 1   0 0 00   0   0    1 0 1 0 0

− −−

= + • =−

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦

1 1 1   0 1   1 0 01   1   0 1 0   0 1 1

M 0   0   1 1 0   0 0 120   0   0    1 1   0 0 00   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σ⎯⎯→0 kM M  Mk = M0 + C.σ

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

Page 65: AutoI Libro Petri

−↔ ↔r n r  

⎡ ⎤

= ⎢ ⎥⎣ ⎦

11 12

21 22

C CC

C C−b

b

m rr

Se construye la siguiente matriz

−−⎡ ⎤= −⎣ ⎦

1m r 11 21β I (C C )

Se debe cumplir que CTβT = 0

Si Mk es alcanzable desde M0, entonces

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

40

Page 66: AutoI Libro Petri

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 00 1 0

A0 0 10 2 0

=

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

0 1 11 0 0

B1 0 00 0 2

[ ]=0TM 2 0 1 0 [ ]=

kTM 1 1 1 2

= −C B A

= − =

⎡ ⎤ ⎡ ⎤ ⎡⎢ ⎥ ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢⎢ ⎥ ⎢ ⎥ ⎢⎣ ⎦ ⎣ ⎦ ⎣

0 1 1 2 0 0 ‐2 1 11 0 0 0 1 0 1 ‐1 0

C1 0 0 0 0 1 1 0 ‐10 0 2 0 2 0 0 ‐2 2

⎤⎥⎥⎥⎥⎦

= −k 0ΔM M M

= − =

⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦

1 2 11 0 1

ΔM1 1 02 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

Page 67: AutoI Libro Petri

= =

⎡ ⎤⎢ ⎥ ⎡ ⎤⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥⎣ ⎦

‐2 1 1C C1 ‐1 0 11 12C

1 0 ‐1 C C21 220 ‐2 2

− −= = = =

− −− − − −

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦x x x

2 1 1 1 0 1C C C C11 12 21 221 1 0 0 2 2m r r m r n r r r r n rx

Se construye la matriz β

−= −⎡ ⎤⎣ ⎦

1β I C (C )2 11 21

⎡ ⎤⎢ ⎥⎣ ⎦

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  

⎡ ⎤⎢ ⎥⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥⎣ ⎦⎢ ⎥⎣ ⎦

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

Page 68: AutoI Libro Petri

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:

∀ Mk  ∈ M(R,M0) ∧ M0

σ⎯⎯→Mk ∃ Mk+1 ∈ M(R,M0) ∧ Mk⎯⎯→t Mk+1  tal que  Δ

k+1T  ≠ φ  

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

Page 69: AutoI Libro Petri

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

Page 70: AutoI Libro Petri

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): ∃σ /  σ⎯⎯→ 0M M  

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

Page 71: AutoI Libro Petri

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

Page 72: AutoI Libro Petri

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

Page 73: AutoI Libro Petri

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

Conflicto ⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

1 2 3 4 5 6

1

2

3

4

5

 

A =

t t t t t t1 0 0 0 0 0p0 1 0 0 0 0p

p 0 0 1 1 0 0p 0 0 0 0 1 0p 0 0 0 0 0 1

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

48

Page 74: AutoI Libro Petri

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

Page 75: AutoI Libro Petri

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

Page 76: AutoI Libro Petri

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

Page 77: AutoI Libro Petri

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

Page 78: AutoI Libro Petri

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

Page 79: AutoI Libro Petri

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

Page 80: AutoI Libro Petri

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

Page 81: AutoI Libro Petri

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

Page 82: AutoI Libro Petri

Ejemplo 28

En la figura 42 se muestra una red de Petri y su árbol de alcanzabilidad obtenido ediante el programa Cabernet. Este árbol demuestra que la red es segura, viva, cíclica m

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

Page 83: AutoI Libro Petri

Herramienta TRT de Cabernet

La representación gráfica del árbol proporciona un estado simbólico a cada uno de los os diferentes símbolos implementados sobre los

odos dependen del estatus de cada estado alcanzado.

nta

ráfica Símbolo

estados que puede alcanzar una PN. Ln

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 herramieTRT de Cabernet.

Representación G

Representa un estado normal

Representa un estado final

Representa un estado de bloqueo

inal Representa bloqueo y estado f

Representa un estado no explorado, considerando que el sario para alcanzar un analisis de este estado no es nence

resultado final.

Tabla 1. R

Algunas de las pro de alcanzabilidad para una red de Petri ⟨R,M0⟩ son las siguientes:

0)  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.

3.como su marcaje.

4. Una transición t es “no viva” si y solamente si, no aparece como etiqueta de un

cir, evaluando en cada una de estas ventanas la ultima transición disparada.

epresentaciones gráficas de Cabernet.

piedades que se pueden estudiar utilizando el árbol T

1. Una red ⟨R,M0⟩ es acotada y así M(R,M

Es decir, si alguno de los nodos del árbol T tiene la representación gráfica de .

Una red ⟨R,M0⟩ es segura si y solamente si en los nodos de T solo aparecen 0ʹs ʹs

y 1

arco en T. En Cabernet se evalúa a través de la ventana de propiedades de cada uno de los nodos. Es de

58

Page 84: AutoI Libro Petri

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.

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

Ejemplo 29

Obtención del árbol de alcanzabilidad con Cabernet.

E

a red de la figura 43 es una red de Petri no limitada para la cual se pide construir el zabilidad.

Lárbol de alcan

Figura 43. PN no limitada.

El primer paso para obtener e abernet es llegar a la ventana de configuración de las opciones de la herramienta TRT, como muestra la

gura 44.

l árbol de alcanzabilidad con C

fi

59

Page 85: AutoI Libro Petri

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

Page 86: AutoI Libro Petri

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

Page 87: AutoI Libro Petri

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

Page 88: AutoI Libro Petri

• 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

Page 89: AutoI Libro Petri

EP H

P

D

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

Page 90: AutoI Libro Petri

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

Page 91: AutoI Libro Petri

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

Page 92: AutoI Libro Petri

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

Page 93: AutoI Libro Petri

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.

0

2

5 7

válvula A

válvula B

nivel

nivel

válvula C

Figura 56. Ejemplo de regulación de nivel

68

Page 94: AutoI Libro Petri

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 tiempo   bcij

Apertura válvulas A y C al mismo tiempo   acij

apertura válvulas A, B y C al mismo tiempo   abcij

ij indican el cambio de nivel del liquido desde i

a j Donde i=0,1,...,7

69

Page 95: AutoI Libro Petri

Matriz de incidencia

−−

−−

−−

−−

−−

−−

=

01

12

23

34

45

56

67

03

14

25

36

47

20

31

42

53

64

75

23

34

45

32

43

54

24

35

a

a

a

a

a

a

a

a

b

b

b

b

c

c

c

c

c

c

bc

bc

bc

ac

ac

ac

abc

abc

1 1 0 0 0 0 0 00 1 1 0 0 0 0 00 0 1 1 0 0 0 00 0 0 1 1 0 0 00 0 0 0 1 1 0 00 0 0 0 0 1 1 00 0 0 0 0 0 1 11 0 0 1 0 0 0 00 1 0 0 1 0 0 00 0 1 0 0 1 0 00 0 0 1 0 0 1 00 0 0 0 1 0 0 11

C  −

−−

−−

−−

−−

−−

−−

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢⎣ ⎦

0 1 0 0 0 0 00 1 0 1 0 0 0 00 0 1 0 1 0 0 00 0 0 1 0 1 0 00 0 0 0 1 0 1 00 0 0 0 0 1 0 10 0 1 1 0 0 0 00 0 0 1 1 0 0 00 0 0 0 1 1 0 00 0 1 1 0 0 0 00 0 0 1 1 0 0 00 0 0 0 1 1 0 00 0 1 0 1 0 0 00 0 0 1 0 1 0 0 ⎥

Figura 57. Matriz de incidencia.

70

Page 96: AutoI Libro Petri

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

Page 97: AutoI Libro Petri

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

Page 98: AutoI Libro Petri

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

Page 99: AutoI Libro Petri

Tabla 4. Descripción lugares y transiciones.

Lugares Transiciones

p1Fluido A está esperando a ser transferido.

t1 Apertura válvula V1.

p2Fluido A está siendo a ser transferido.

t2 Apertura válvula V2.

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

p4Fluido B está esperando a ser transferido.

t4Cierre válvula V2.

p5Fluido B está siendo transferido.

p6 Fluido B está transferido

p7 Exclusión mutua.

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

74

Page 100: AutoI Libro Petri

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

P={p1

, p2

, p3

, p4

, p5

, p6

,

p7}

T={t1, t

2, t

3, t

4}

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

t t t t

1

2

3

4

5

6

7

1 0 0 00 1 0 00 0 0 00 0 1 00 0 0 10 0 0 01 0 1 0

ppppAppp

,

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

t t t t

1

2

3

4

5

6

7

0 0 0 01 0 0 00 1 0 00 0 0 00 0 00 0 0 1

0 1

ppppB

1pp

0 1p

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

1 2 3 4

1

2

3

4

5

6

7

t

‐1 0 0 00 ‐1 0 00 1 0 00 0 ‐1 00 0 1 ‐10 0 0 1‐1 0 ‐1 0

                 t    t    tppppCppp

[ ]=1 2 3 4 5

T

0

p   p    p    p   pM       1     0      0      0      0

75

Page 101: AutoI Libro Petri

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.

M1

M2

M3

Figura 64. Sistema de producción

76

Page 102: AutoI Libro Petri

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

Page 103: AutoI Libro Petri

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

Page 104: AutoI Libro Petri

Tabla 6. Descripción lugares y transiciones.

Lugar Descripción Transición Descripción

p1Carro en la vía de ingreso a la gasolinera

t1 El carro llega a la bomba.

p2 Bomba libre t2 El tanque se llena.

p3Carro listo para tanquear ubicado en la bomba

t3 El cliente paga.

Liberación cajero de la bomba.

p4 Bomba libre t4

p5Carro tanqueado en la bomba

t5 El carro sale de la bomba.

p6 Cajero libre

p7Carro tanqueado listo para salir

p8 Cajero ocupado

p9Carro en la vía de salida de la gasolinera

P={p1

, p2

, p3

, p4

, p5

, p6

, p7

, p8

, p9}

T={t1, t

2, t

3, t

4, t

5}

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥

= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

t t t t t

1

2

3

4

5

6

7

8

9

p 1 0 0 0 0p 1 0 0 0 0p 0 1 0 0 0p 0 1 0 0 0p 0 0 1 0 0p 0 0 1 0 0p 0 0 0 0 1p 0 0 0 1 0p 0 0 0 0 0

A

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

51 2 3 4

1

2

3

4

5

6

7

8

9

t   t   t   t  t

p 0 0 0 0 0p 0 0 0 0 1p 1 0 0 0 0p 0 0 0 1 0p 0 1 0 0 0p 0 0 0 1 0p 0 0 1 0 0p 0 0 1 0 0p 0 0 0 0 1

            

B

79

Page 105: AutoI Libro Petri

−−

−−

−−

−−

⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥= ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦

51 2 3 4

1

2

3

4

5

6

7

8

9

t      t     t     t     t

p 1 0 0 0 0p 1 0 0 0 1p 1 1 0 0 0p 0 1 0 1 0p 0 1 1 0 0p 0 0 1 1 0p 0 0 1 0 1p 0 0 1 1 0p 0 0 0 0 1

              

C

M =1 2 3 4 5 6 7 8 9 p p p p p p p pp

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

Page 106: AutoI Libro Petri

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

Page 107: AutoI Libro Petri

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 reemplazo

p8 Componente reparado t5

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

Page 108: AutoI Libro Petri

2. Para la siguiente red, explique si es binaria, ordinaria, pura, viva, limitada, conforme.

RM=⟨C,M0⟩, Donde:

1 0 0 1 11 1 1 0 0

C0 1 1 1 00 0 1 0 1

−⎡ ⎤⎢ ⎥− −⎢ ⎥=⎢ ⎥−⎢ ⎥−⎣ ⎦

T0M [0 1 0 0]=

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

Page 109: AutoI Libro Petri

b. Determine la matriz de incidencia. c. Explique si es pura, binaria, ordinaria, conforme.

d. Utilice la ecuación de estado para determinar  con σ = t0

σM M→ 3 1 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 determine si es viva y limitada. T

0M [1 0 0 1]=

1 1 0 00 1 1 0

C0 0 1 10 1 1 0

−⎡ ⎤⎢ ⎥−⎢ ⎥=⎢ ⎥−⎢ ⎥−⎣ ⎦

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

84

Page 110: AutoI Libro Petri

Figura 72.

7. Una RdP está definida por:

1 1 0 11 0 1 00 1 1 00 0 1 1

C

− −⎡ ⎤⎢ ⎥−⎢ ⎥=⎢ ⎥−⎢ ⎥−⎣ ⎦

a. Utilice la ecuación de estado para hallar M1 con [ ]=T

0M 2 0 0 0 y . = 1σ 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

Page 111: AutoI Libro Petri

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

f. Utilice la ecuación de estado para hallar , con M1⎯⎯→M03t M 0 = [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

Page 112: AutoI Libro Petri

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.

t1 

t3 

t2 

t4 

p1 

p2 

p3 

p4 

p5 

2 2

87

Page 113: AutoI Libro Petri

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

Page 114: AutoI Libro Petri

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.

ControladorControlador

Periferia

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

Page 115: AutoI Libro Petri

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 x y + y x 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

Page 116: AutoI Libro Petri

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

Page 117: AutoI Libro Petri

Ejemplo 30

Sea f : B2→ B, donde f (x ,y) = x + y ∧ g : B2→ B, 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 : B3→ B, donde f (x ,y, z) = x y + z. La evaluación de f, se muestra en la Tabla

11.

92

Page 118: AutoI Libro Petri

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

booleana definida sobre Bn como

, ,..., ) ( , ,..., )=2 n 2 n1 1(x x x x x xf f

93

Page 119: AutoI Libro Petri

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 xf = x Ley del doble complemento

= •f + g f g

• = +f g f g

= •x + y x y

• = +x y x y Leyes de De Morgan

f + g = g + f

f ●g = g ● f

x + y = y + x

x ● y = y ● x Leyes Conmutativas

f + (g + h) = (f + g) + h

f●(g●h) = (f●g) ●h

x + (y + z) = (x + y) + z

x ● (y●z) = (x● y) ●z Leyes Asociativas

f + (g●h) = (f+g) ● (f+h)

f ● (g+h)=f●g+f●h

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

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

f + f

f ● f

x + x

x ●x Leyes de Idempotencia

f + 0 = f

f ●1 = f

x + 0= x

x ●1= x Leyes de Identidad

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

94

Page 120: AutoI Libro Petri

Funciones Variables Ley definida

f ● f =0 x ● x =0

f + 1 = 1

f ●0 = 0

x + 1 = 1

x ●0 = 0 Leyes de Dominación

f + f●g = f

f ●(f +g) = f

x + x ●y = x

x ● (x + y) = x Leyes de Absorción

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: ( a). El cambio de uno a cero se

denomina evento negativo o flanco de bajada y se denota: ( a). El cambio de estado de

la variable a es representado en la Figura 77.

Figura 77. Diagrama temporal para la variable booleana a.

95

Page 121: AutoI Libro Petri

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 f  =  f (x 1, x 2,…., x n) ocurre en el tiempo t1, t3,...,tn y el evento

f 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 es precedente a los símbolos lógicos (●) y (+.) Es decir x ●y =( x )●y y x + y = ( x ) + y.

b. x ●y es un evento que ocurre al mismo tiempo que x, cada que y =1.

96

Page 122: AutoI Libro Petri

c. La probabilidad de ocurrencia de dos eventos independientes simultáneos es 0. Es decir, x ● y=0, si x y y son dos variables independientes.

d. x +  y es un evento que ocurre en el momento en que x o y 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)  ∑ {ε}. donde

ε es un evento nulo del conjunto ∑ en el tiempo t. U

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 =  f y e2  = g 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:

x ● y = 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

Page 123: AutoI Libro Petri

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.

x  =  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.

x  ● x =  x

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.

x  ●  x = 0

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.

x  ●  x  =  x

x  ●  x  =  x

98

Page 124: AutoI Libro Petri

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.

x  ●  x  =  x  ●  x = 0

Propiedad 6

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

(x  ● y) =  x  ● y +  y  ● x

(x  + y) =  x  ● y +  y  ● x

Propiedad 7

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

Figura 79.

99

Page 125: AutoI Libro Petri

Propiedad 8

x + y es un evento que se presenta cada que se presentan x ò y.

Figura 80. Propiedad 9

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

x + x = x

Figura 81.

100

Page 126: AutoI Libro Petri

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

Page 127: AutoI Libro Petri

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

Page 128: AutoI Libro Petri

Ejemplo 33

Sea la red de la Figura 84:

Figura 84. PN con receptividad.

En este ejemplo, se tiene:

E = { a }

ϕ  = { 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

Page 129: AutoI Libro Petri

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

Page 130: AutoI Libro Petri

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

Page 131: AutoI Libro Petri

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

Page 132: AutoI Libro Petri

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

Page 133: AutoI Libro Petri

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} = { i1 , i1,......, ir, ir }; 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

Page 134: AutoI Libro Petri

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

τ.

Esto es:

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

Si se asigna un evento diferente a τ, 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

Page 135: AutoI Libro Petri

Para que el marcaje evolucione de p1 a p2, debe cumplirse que a●b ≠ 0 en el

instante en el que τ ≠ 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} 

∑ = { i1, i2,  i3,  i4,  i1, i2,  i3,  i4} 

Q: {q1, q2} 

ω(p1) = (0,1) 

ϕ (t1) = i1+ i2 • i3

E (t2) =  i4

τ(t4) = τ1 = 10

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

110

Page 136: AutoI Libro Petri

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

Page 137: AutoI Libro Petri

La Figura 91 ilustra la utilización de estas tablas.

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

Tabla 13. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

p1 (0,0,0,0)  t1 i0 ● i3

p2 q1=1 t2 i1

p3 q3=1  t3 i2

p4 (0,1,x,x)  t4 i2● i4

p5 (x,x,0,1)  t5 i2

112

Page 138: AutoI Libro Petri

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

Page 139: AutoI Libro Petri

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

Page 140: AutoI Libro Petri

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

Page 141: AutoI Libro Petri

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

Page 142: AutoI Libro Petri

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

• El tanque 1 al llegar al nivel BB1, inicia el vaciado del tanque 2 hasta el nivel B2, 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

Page 143: AutoI Libro Petri

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

Page 144: AutoI Libro Petri

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

H2 i3 Máximo nivel del tanque 2

BB1 i4 Mínimo nivel del tanque 1

BB2 i5 Mínimo nivel del tanque 2

Entradas

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

V2 q2 Válvula de alimentación tanque 2

W1 q3 Válvula de descarga tanque 1

Salidas

W2 q4 Válvula de descarga tanque 2

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

119

Page 145: AutoI Libro Petri

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

Page 146: AutoI Libro Petri

Tabla 19. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

p1 (0,0,0,0)  t1  i1

p2 (1,0,0,0)  t2  i2

p3 (0,1,0,0)  t3  i3

p4 (0,0,1,0)  t4  i4

p5 (0,0,0,1)  t5  i5

    t6, t7, t8, t9  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 BB1 y B2 B respectivamente.

• 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

Page 147: AutoI Libro Petri

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

Page 148: AutoI Libro Petri

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

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

123

Page 149: AutoI Libro Petri

Tabla 22. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti) 

p1 (0,0,0,0)  t1  i1

p2 (1,0,0,0)  t2  i2

p3 (0,1,0,0)  t3  i3

p4 (0,0,0,0)  t4 ‐‐

p5 (0,0,0,0)  t4 ‐‐

p6 (0,0,1,1)  t5 , t6  i4 ,    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

Page 150: AutoI Libro Petri

M

Aire Compri-

mido

M

Aire

Compresor A

Compresor B

Aire comprimido para el consumidor

PS-

1

PS-

2

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

Page 151: AutoI Libro Petri

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

Page 152: AutoI Libro Petri

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

i3 Compresor A en falla

Entradas

i4 Compresor B en falla

127

Page 153: AutoI Libro Petri

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

Page 154: AutoI Libro Petri

Tabla 27. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti) 

p1 (1,0)  t1 , t2 , t12  i1   ,   i2  ,   i3

p2 (1,0)  t3 , t4  i2 ,   i3

p3 (0,0)  t5  i3

p4 (0,1)  t6 , t7 , t11  i1   ,   i2,   i4

p5 (0,1)  t8 , t9  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

Page 155: AutoI Libro Petri

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

Page 156: AutoI Libro Petri

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

i2 Llega Pieza Pa a M2

i3 Llega pieza Pb a M2

Entradas

i4 Ensamble

131

Page 157: AutoI Libro Petri

Tabla 31. Direccionamiento de las salidas

Dirección Significado del valor binario i =0

q1 M1 operando sobre Pa

q2 M2 operando sobre Pa

q3 M2 operando sobre Pb

Salidas

q4 M3 operando sobre Pb

Figura 103. IPN para la celda de manufactura

132

Page 158: AutoI Libro Petri

Tabla 32. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti) 

Retardo

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

Page 159: AutoI Libro Petri

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

Page 160: AutoI Libro Petri

Tabla 33. Direccionamiento de las entradas

Dirección Descripción

i1 Detector Posición (Brazo Derecha)

i2 Detector Posición (Brazo Izquierda)

i3 Detector Posición (Brazo Abajo)

i4 Detector Posición (Brazo Arriba)

i5 Detector Pieza

Entradas

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

q3  Movimiento abajo

q4 Movimiento arriba

Salidas

q5 Movimiento Brazo (Abierto-Cerrado)

135

Page 161: AutoI Libro Petri

Figura 105. IPN para el brazo transportador

136

Page 162: AutoI Libro Petri

Tabla 35. Funciones asignadas a los lugares

Transición Función

ω (pi) Descripción

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

Page 163: AutoI Libro Petri

Tabla 36. Funciones asignadas a las transiciones

Transición Receptividad

E (ti)●ϕ (ti) 

Retardo

τ(ti) Descripción

t1 i2  i4   Brazo en posición inicial

Inicio del proceso con Brazo en posición izquierda – arriba

t2 i2  i4+ i6  

t3 i2  i3   Brazo en posición izquierda – abajo.

t4 i1  i4   Brazo en posición derecha – arriba.

t5 i5   Detector Pieza

t6 i2  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 i2  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 pieza.

t14   τ 

t15 i4   Detector Posición (Brazo Arriba)

t16 i1   Detector Posición (Brazo Derecha)

t17     --

t18     Fin de ciclo

138

Page 164: AutoI Libro Petri

Transición Receptividad Retardo

Descripción E (ti)●ϕ (ti)  τ(ti) 

t19, t20, t21, t22, t23, t24, t25

i7   Señal de paro del proceso.

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

Page 165: AutoI Libro Petri

AB

C

DG

EF

H

I

J

GE

F

B

b0

b1

A a0 a1 g0 g1

f0f1

e0

e1

C

D

d0

d1

c0c1

H

I

Jh0 h1

i0i1

j0

j1

Transferencia Indexado Mecanizado Modelado Marcado

Figura 106. Máquina de Transferencia circular

140

Page 166: AutoI Libro Petri

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

Page 167: AutoI Libro Petri

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

Page 168: AutoI Libro Petri

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

143

Page 169: AutoI Libro Petri

Tabla 39. Funciones

Lugar Función

ω (pi) Transición

Receptividad

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 i12  i15

P14 q12 = 1,  q13 = 1  t14  i14

P15 q14 = 1  t15  i17

P16 q10 = 1  t16 i19  i21

P17 q16 = 1  t17 i18  i20

P18 q17 = 1, q19 = 1  t18 i6  i10  i16

144

Page 170: AutoI Libro Petri

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

Page 171: AutoI Libro Petri

• 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

Persona en semáforo A i1

Persona en semáforo B i2

Persona en semáforo C i3

Persona en semáforo D i4

i5 Ambulancia en semáforo A

i6 Ambulancia en semáforo B

i7 Ambulancia en semáforo C

Entrada

i8 Ambulancia en semáforo D

146

Page 172: AutoI Libro Petri

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 q6

q7 Luz roja en semáforo C

q8 Luz amarilla en semáforo C

q9 Luz verde en semáforo C

q10 Luz roja en semáforo D

q11 Luz amarilla en semáforo D

Salidas

q12 Luz verde en semáforo D

147

Page 173: AutoI Libro Petri

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

148

Page 174: AutoI Libro Petri

Tabla 42. Funciones asignadas a los lugares

Transición Función

ω (pi) Descripción

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 D en rojo.

p2 (0,0,1,1,0,0,0,0,1,1,0,0) 

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 C en rojo.

p4 (1,0,0,0,0,1,1,0,0,0,0,1) 

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

Page 175: AutoI Libro Petri

Tabla 43. Funciones asignadas a las transiciones

Transición Receptividad

E (ti)●ϕ (ti) 

Retardo

τ(ti) Descripción

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 activarse el sensor por parte de las

personas. t6   τ = 1 Seg. 

Espera de los semáforos en Verde y Rojo

t7   τ = 20 Seg. 

Temporización de un segundo, al activarse el sensor por parte de las

personas. t8   τ= 1 Seg. 

Temporización de un segundo, al activarse el sensor por parte de las

personas. t9   τ = 1 Seg. 

t10   τ = 4 Seg.  Espera de los semáforos en Amarillo

Temporización de un segundo, al activarse el sensor por parte de las

personas. t11   τ = 1 Seg. 

t12 i5   Ambulancia en semáforo A

t13 i7   Ambulancia en semáforo C

t14 i2   Persona en semáforo B

150

Page 176: AutoI Libro Petri

Transición Receptividad Retardo

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

Page 177: AutoI Libro Petri

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

Page 178: AutoI Libro Petri

Símbolo Dirección Descripción

FOTO CELDA. Situada en la puerta del ascensor. Está a 0 si no se interpone ningún objeto, y a 1 si se interpone algún objeto.

FC i1

PUERTA CERRADA. Es un detector que se pone a 1 cuando la puerta se ha cerrado del todo.

SPC i2

PUERTA ABIERTA. Es un detector que se pone a 1 cuando la puerta se abre totalmente.

SPA i3

Detector que indica que la cabina del ascensor está en un piso. Está a 1 si el ascensor está situado en el piso 1.

SP1 i4

SP2 i5Detector que indica que la cabina del 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.

Entradas

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 SUBIR. Mueve el ascensor hacia arriba.

S q1BAJAR. Mueve el ascensor hacia abajo.

B q2PA q3 ABRIR Puerta.

Salidas

PC q4 CERRAR Puerta

153

Page 179: AutoI Libro Petri

Figura 111. PN para un ascensor de dos pisos

Tabla 46. Funciones asignadas a los lugares

154

Page 180: AutoI Libro Petri

Transición Función

ω (pi) Descripción

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

Page 181: AutoI Libro Petri

Tabla 47. Funciones asignadas a las transiciones

Transición Receptividad

E (ti)●ϕ (ti)

Retardo

τ(ti) Descripción

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 cierre de puertas.

t12 i9  

t13   τ  Retardo para el cierre de puerta.

Presión del pulsador interno para indicar el cierre de puertas.

t14 i9  

t15 i2   Puerta cerrada.

t16 i2   Puerta cerrada.

t17 i5   El ascensor está situado en el piso 2.

156

Page 182: AutoI Libro Petri

Transición Receptividad Retardo

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 cierre de puertas.

t22 i9  

Presión del pulsador interno para indicar el cierre de puertas.

t23 i9  

t24   τ  Retardo para el cierre de puerta.

t25 i2   Puerta cerrada.

t26 i2   Puerta cerrada.

Existe un objeto que impida el cierre de la puerta.

t27 i1

Presión del pulsador interno para abrir puerta.

t28 i8

Presión del pulsador interno para abrir puerta.

t29 i8

Existe un objeto que impida el cierre de la puerta.

t30 i1

3.7 EJERCICIOS PROPUESTOS

1. Reactor Químico

157

Page 183: AutoI Libro Petri

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

Page 184: AutoI Libro Petri

Dirección Descripción

i0 Botón de inicio

i1, i3 Máximo nivel en el vaso V1, V2

i2, i4 Mínimo nivel en el vaso V1, V2

i5 Mínimo nivel para activar el agitador ST

Entradas

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

q3, q4 Válvulas de descarga de los vasos V1, V2

q5 Agitador

Salidas

q6 Válvula de descarga del reactor V3

Tabla 50. Descripción de lugares

159

Page 185: AutoI Libro Petri

Lugar Descripción

p1 Estado inicial

Tanque V1 llenando p2

Esperando hasta que el tanque V2 esté lleno p3

Tanque V2 llenando p4

Esperando hasta que el tanque V1 esté lleno p5

Estado ocioso del agitador M p6

Llenado el tanque V3 desde los vasos V1 y V2p7

p8 Mezclando

Vaciando el tanque V3p9

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

Page 186: AutoI Libro Petri

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 41tt=σ .

4. Dado el diagrama temporal de la Figura 115, dibuje una que lo modele:

161

Page 187: AutoI Libro Petri

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

Page 188: AutoI Libro Petri

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

Retardo

τ(ti)

P1 (0,0,0,0)  t1 i1• q0=0   

P2 q0=1 t2   τ1

P3 q0=0  t3   τ2

P4 q1=0, q

0=1  t4 2p • i2  

P5 q1=3  t5 i1 τ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

Page 189: AutoI Libro Petri

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.

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

i0p1 (0,0,0,0)  t1

p2 q1=1 t2 i1

p3 q0=1  t3 i2

p4 q1=0  t4 i2

p5 q0=0  t5 i2

164

Page 190: AutoI Libro Petri

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.

V1 V2

R1 R2

L0

L1

L2

V3Mezclador M

Inicio

Paro

Fin de ciclo

Alarma

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 BB2, así como buffers de entrada B1B y de salida BB2 como se ilustra en la 121. Se asume que todos los buffers son infinitos y las maquinas y los brazos pueden atender un trabajo al tiempo. M

Figura 1 puede ser atendida por el brazo R1,

mientras M2 y M3 son atendidas por R2. Se tienen tiempos de maquinado de 30, 42 

165

Page 191: AutoI Libro Petri

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 B2B antes de parar por completo el proceso del taller de maquinado.

M1

M2

M3

R2B1 B2 B3

R1

M1

M2

M3

R2B1 B2 B3

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

Page 192: AutoI Libro Petri

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

Page 193: AutoI Libro Petri

168

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.

Page 194: AutoI Libro Petri

169

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:

Page 195: AutoI Libro Petri

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.

CPU Real-TimeClock

flashEPROMROM

buffers

signal conditioning

power amplifiers relays signal

conditioning

serial portcontroller

Ethernet

parallel bus

ethernetcontroller

RS 232

analog-digital

converters

digital-analog

convertersDigital Output Digital

Inputfieldbus

controllerexternal

I/Os

extensionbus

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

Page 196: AutoI Libro Petri

171

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.

Page 197: AutoI Libro Petri

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

Page 198: AutoI Libro Petri

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

Page 199: AutoI Libro Petri

174

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.

Page 200: AutoI Libro Petri

175

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.

Page 201: AutoI Libro Petri

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

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

Page 202: AutoI Libro Petri

177

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.

Page 203: AutoI Libro Petri

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

Page 204: AutoI Libro Petri

179

Tabla 55. Principales Operadores del lenguaje IL

Operador Operandos Comentarios

LD ANY

Inicio de una red de contactos.

Carga los operandos dentro de un registro resultado.

ST ANY Escribe el resultado de la red en una bobina (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.

Page 205: AutoI Libro Petri

• 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

Page 206: AutoI Libro Petri

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

Page 207: AutoI Libro Petri

• 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

Page 208: AutoI Libro Petri

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

Contacto NA Se activa cuando hay un uno lógico en el elemento que representa, esto es, una entrada (para captar información del proceso a controlar), una variable interna o un bit de sistema.

Contacto NC Su función es similar al contacto NA anterior, pero en este caso se activa cuando hay un cero lógico.

PP Contacto de Detección de Cambio Positivo

El contacto Detectar evento positivo (EU) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 0 a 1 (de “apagado" a “encendido").

NN El contacto Detectar evento negativo (ED) permite que la corriente circule durante un ciclo cada vez que se produce un cambio de 1 a 0 (de “encendido" a “apagado").

Contacto de Detección de Cambio Negativo

Bobina NA ( )

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

Bobina NC ( )

Bobina SET ( S )( S )

Una vez activa (puesta a 1) no se puede desactivar (puesta a 0) si no es por su correspondiente bobina en RESET. Sirve para memorizar bits y usada junto con la bobina RESET dan una enorme potencia en la programación.

( R )( R ) Permite desactivar una bobina SET previamente activada. Bobina RESET

183

Page 209: AutoI Libro Petri

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 1i (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 1i .

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

iq .

Figura 131. Símbolo de una función de salida interna o externa: a) Normal; b) negada.

184

Page 210: AutoI Libro Petri

185

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.

Page 211: AutoI Libro Petri

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

Page 212: AutoI Libro Petri

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

Page 213: AutoI Libro Petri

188

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.

Page 214: AutoI Libro Petri

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

Page 215: AutoI Libro Petri

190

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.

Page 216: AutoI Libro Petri

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

Page 217: AutoI Libro Petri

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

Page 218: AutoI Libro Petri

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

Page 219: AutoI Libro Petri

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

Page 220: AutoI Libro Petri

Figura 142. Ejemplo generación de código

195

Page 221: AutoI Libro Petri

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

196

Receptividad

E (ti)●ϕ (ti) Transición

i1t1

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

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

Page 222: AutoI Libro Petri

4.6.2 Función lógica OR Tabla 59. Funciones para la IPN de la función lógica OR

Transición Receptividad

E (ti)●ϕ (ti) 

t1 i1

i2t2

Figura 145. Función lógica OR convergente

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

Page 223: AutoI Libro Petri

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

198

Receptividad

E (ti)●ϕ (ti) Transición

1t1

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

Page 224: AutoI Libro Petri

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

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

p1   t1 i1• 2i  

p2 q1=C0+1     

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

199

Page 225: AutoI Libro Petri

200

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.

Page 226: AutoI Libro Petri

0000

0001

0010

4096

0020

0030

0040

Byte

Word

0002

Bit

Figura 149. Direccionamiento IEC.

201

Page 227: AutoI Libro Petri

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

Page 228: AutoI Libro Petri

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

Page 229: AutoI Libro Petri

Esto desde un modelo en redes de Petri se muestra en la Figura 153

Figura 153.

Tabla 1. Tabla de asignación de memoria

Lugar Función

ω (pi) Direccionamiento

p1

q0

Q0.0 (0,1)

q1

Q0.1

204

Page 230: AutoI Libro Petri

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

m0.2 p3

205

Page 231: AutoI Libro Petri

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

Page 232: AutoI Libro Petri

207

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

Page 233: AutoI Libro Petri

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

208

Temporizadores y contadores

Inicialización

Dinámica del marcaje (transición y lugares)

Activación de salidas

Temporizadores

Temporizadores

Contadores

Page 234: AutoI Libro Petri

IL

209

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.

Page 235: AutoI Libro Petri

210

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.

Page 236: AutoI Libro Petri

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

Page 237: AutoI Libro Petri

( 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

Page 238: AutoI Libro Petri

213

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.

Page 239: AutoI Libro Petri

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

214

Page 240: AutoI Libro Petri

215

Tabla 2. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

p1 (1,0,0)  t1 i2

p2 (0,1,0)  t2 1 

p3 (0,1,1)  t3 i3

Page 241: AutoI Libro Petri

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

216

Page 242: AutoI Libro Petri

217

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

Page 243: AutoI Libro Petri

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

Page 244: AutoI Libro Petri

Ejemplo 47

Figura 9. Ilustración de la representación grafica de una IPN

Tabla 3. Funciones para la IPN de la Figura 163

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

p1 (0,0) R q1 

R q2

t1 i1• 2i  

p2 q1=1  S q2 t2 1i • 2i

p3 (1,0) S q1

R q2

t3 i1• 3i  

    t4 i1 

219

Page 245: AutoI Libro Petri

Figura 10. Generación de código LD para la IPN de la Figura 43

220

Page 246: AutoI Libro Petri

Figura 165. Generación de código LD para la IPN de la Figura 163.

221

Page 247: AutoI Libro Petri

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

Page 248: AutoI Libro Petri

223

Tabla 66. Direccionamiento de las entradas

Dirección Descripción

i1 Entrada asociada a fs1

i2 Entrada asociada a fs2

i3 Entrada asociada a fs

i4 Control de acceso

i5 Interruptor de fin de Carrera de cierre de la puerta

Entradas

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

q2 Semáforo en rojo

q3 Cierre de Puerta

Salidas

q4 Apertura de puerta

Page 249: AutoI Libro Petri

La red de Petri será la que se presenta en la figura 167.

Figura 167. IPN de Parqueadero

224

Page 250: AutoI Libro Petri

Tabla 68. Funciones

Lugar Función

ω (pi) Transición

Receptividad

E (ti)●ϕ (ti)

Retardo

τ(ti) 

p1 (0,0,0,0)  t1, t2  i4● ,

i2●  i1 

p2 (0,0,0,1)  t3 i6  

p3 (0,0,0,0)  t4 i2●  i1  

p4 (0,0,0,1)  t5 i6  

p5 (0,0,0,0)  t6 i1●  i2  

p6 (0,0,0,0)  t7   

p7 C‐1 (Resta Cupo) 

t7   

p8 (0,0,0,0)  t9  i3  

p9 C+1 (Suma Cupo) 

t9  i3 

p10 (0,0,1,0)  t8, t10 i5 , i3  

p11 (0,0,0,1)  t12 i6  

p12 (0,0,0,0)  t11   τ 

225

Page 251: AutoI Libro Petri

p13 (1,0,0,0)  t14   

p14 (0,1,0,0)    t13

226

Page 252: AutoI Libro Petri

227

PROGRAMA EN STEP 7

Tabla 69. Inventario de señales:

Entradas Estados Salida

i1 = I0.0 M0.0 = M0  Q0.1 = Q1  

i2 = I0.2 M0.1 = M1  Q0.2 = Q2  

i3 = I0.3 M0.2 = M2  Q0.3 = Q3  

i4 = I0.4 M0.3 = M3  Q0.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:

Page 253: AutoI Libro Petri

228

Page 254: AutoI Libro Petri

229

Page 255: AutoI Libro Petri

230

Page 256: AutoI Libro Petri

231

Page 257: AutoI Libro Petri

Figura 168. Programa en Step 7 200

EJERCICIOS

1. Sea un proceso como se muestra en la figura 1.

Fotosensor1

Cilindro 1

V1

V2

Fotosensor2

Estampador

V3

V4

Motor 1

Motor 2

Cilindro 2

Figura 169. Esquema del proceso.

232

Page 258: AutoI Libro Petri

233

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.

Page 259: AutoI Libro Petri

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:

V1

V2 V3

V4

N1

N2

N3

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

Page 260: AutoI Libro Petri

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

Page 261: AutoI Libro Petri

236

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.

Page 262: AutoI Libro Petri

237

Inicialmente están pulsados tanto i3 como i2. Siempre hay piezas disponibles para colocar.

Nota: i2 e i5 son suiches normalmente cerrados.

Page 263: AutoI Libro Petri

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

Page 264: AutoI Libro Petri

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

Page 265: AutoI Libro Petri

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