Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dialnet TecnicasDeAutomatizacionAvanzadasEnProcesosIndustr 60 PDF
Dialnet TecnicasDeAutomatizacionAvanzadasEnProcesosIndustr 60 PDF
Tcnicas de automatizacin
avanzadas en procesos
industriales
TESIS DOCTORAL
Tcnicas de automatizacin
avanzadas en procesos
industriales
Universidad de La Rioja
Servicio de Publicaciones
2004
Esta tesis doctoral, dirigida por el doctor D. Emilio Jimnez Tof, fue leda el 25 de enero de 2002, y obtuvo la
calificacin de Sobresaliente Cum Laude Unanimidad.
ISBN 84-689-0360-4
UNIVERSIDAD
DE LA RIOJA
2001
Trabajo presentado por D. Emilio Jimnez Macas para la obtencin del ttulo de
Doctor.
TCNICAS DE AUTOMATIZACIN
PROCESOS INDUSTRIALES.
AVANZADAS EN
ndice
pag.
INTRODUCCIN
Presentacin del Trabajo
Objetivos planteados
Campos de influencia
Aportaciones
xiii
xiv
xv
xvi
Introduccin
Los Autmatas Programables
Arquitectura y Configuracin
Interfaces de Entrada/Salida
Programacin
Aplicaciones para la Supervisin y el Control de Produccin
Referencias
Los SCADAs
Estructura y configuracin
Supervisin
Elementos del SCADA
Aplicaciones
Referencias
Herramientas de automatizacin: GRAFCET
Los principios del GRAFCET
Reglas de Evoluci
Estructuras bsicas
Macroetapas
Programacin de alto nivel
Inicializacin del sistema
Ejemplo
Referencias y Bibliografa
Herramientas de automatizacin: RdP
Definicione
Clasificacin
Herramientas
Referencias y Bibliografa
1
1
1
5
7
13
15
17
19
20
21
23
24
26
26
28
31
35
37
38
39
41
49
49
59
73
83
94
94
94
96
98
101
102
103
103
104
105
113
113
114
115
116
117
117
119
120
122
123
Tema
3
IMPLEMENTACIN DE LAS
AUTOMATIZACIONES EN LOS DISPOSITIVOS
INDUSTRIALES DE CONTROL AUTOMTICO
3.1. Implementacin en los dispositivos
3.1.1. Introduccin
3.1.2. Implementacin de las RdP en los Dispositivos de Automatizacin
3.1.3. Anlisis de la Implementacin. Influencias del Dispositivo Usado
3.2. Algoritmos de traduccin a PLC
3.2.1. Metodologa para la Implementacin en PLC
3.2.2. Retardos o temporizaciones
3.2.3. Implementacin de Retardos
3.3. Conclusione
3.4. Referencias
125
125
126
128
132
132
137
144
150
150
Tema 4
METODOLOGA
DE
SIMULACIN
LENGUAJES DE PROGRAMACIN
4.1. Introduccin
4.2. Metodologa de Traduccin a Matlab
4.3. Redes temporizadas
4.3.1. Retardos en la sensibilizacin de la transicin
4.3.1.1. Ejemplo
4.3.1.2. Coherencia
4.3.2. Retardos en el disparo de la transicin
4.3.2.1. Ejemplo
4.3.2.2. Coherencia
4.3.3. Red totalmente temporizada
4.3.3.1. Ejemplo
4.4. Redes mixtas
MEDIANTE
153
154
156
156
157
159
160
161
161
162
162
164
168
169
171
172
173
173
173
175
177
177
181
182
183
184
184
186
186
186
188
189
192
193
193
Tema 5
IMPLEMENTACIN DE TCNICAS AVANZADAS EN
LA AUTOMATIZACIN
5.1. Introduccin
5.2. Automatizacin Adaptativa en Procesos de Produccin Flexibles
5.2.1. Introduccin
5.2.2. Generacin y Modificacin de la RdP
5.2.3. Modificacin de prioridades y restricciones
5.2.4. Reasignacin de recursos y tolerancia a fallos
5.3. Aplicaciones de Inteligencia Artificial en la optimizacin del control automtico
5.3.1. Introduccin
5.3.2. Conceptos tericos sobre inteligencia artificial. Definiciones y clasificaciones
5.3.3. Resolucin de problemas mediante bsqueda
5.3.4. Estrategias de bsqueda. Algoritmos para la resolucin de problemas mediante
bsqueda
5.3.4.1. Bsqueda ciega o sin informacin
5.3.4.2. Bsqueda respaldada con informacin o heurstica
5.3.5.
Control del almacn mediante IA
5.3.5.1. El problema del almacn
5.3.5.2. Planteamiento formal del problema
5.3.5.3. Solucin y heurstica empleada
5.3.5.4. Aplicacin informtica
5.4. Conclusione
5.5. Referencias
195
195
195
197
202
203
205
205
206
208
210
210
217
220
220
221
222
226
226
227
Tema 6
APLICACIN EN PLANTA INDUSTRIAL DE LTIMA
GENERACIN
6.1. Introduccin
6.2. Modelado y control de procesos con subsistemas cclicos
6.2.1 Introduccin
6.2.2 Sistemas que Incluyen Subsistemas Cclicos. Marcas e Interpretacin de Valores
6.2.3 Aplicaciones complementarias de las Petri Nets
6.3. Descripcin de la planta
6.3.1. Descripcin del proceso industrial
6.3.2. Descripcin del recorrido del material
6.3.3. Ciclos individuales
6.3.4. Ciclos complejos
6.3.5. Coordinacin de los ciclos
6.4. Automatizacin. Implementacin sobre PLC
6.5. Simulacin. Implementacin sobre Matlab
6.6.Implementacin en el SCADA
6.6.1. Las aplicaciones en el SCADA en general
6.6.2. Monitorizacin con SCADA
6.6.3. Control con el SCADA
6.7. Simuladores de herramientas grficas
6.8. Resultados
6.9. Bibliografa
231
231
232
232
234
236
236
238
239
241
245
247
260
267
267
268
270
276
277
277
Tema 7
RESULTADOS Y APORTACIONES
279
ndice Figuras
pag.
30
31
31
31
35
35
38
40
41
96
97
98
99
99
100
100
101
101
102
102
103
105
105
106
106
107
108
108
109
109
112
112
113
115
115
116
118
118
119
119
119
120
121
121
121
122
Tema
3
IMPLEMENTACIN DE LAS
AUTOMATIZACIONES EN LOS DISPOSITIVOS
INDUSTRIALES DE CONTROL AUTOMTICO
Figura 1: RdP elemental de ejemplo para traduccin
Figura 2: Tabla con el mapeado de memoria
Figura 3: Implementacin en mnemnico del programa de la Figura 1
Figura 4: Implementacin en Ladder correspondiente a la Figura 1
Figura 5: Implementacin correspondiente a la RdP de la Figura 1 en lenguaje de programacin
Genrico
Figura 6: RdP secuencial
Figura 7: Programa ladder de la RdP de la Figura 6
Figura 8: Programa ladder de la RdP de la Figura 6
Figura 9: Lgica cableada para la RdP de la Figura 6
Figura 10: Evolucin de acuerdo al programa ladder de la Figura 6
Figura 11: RdP con diferentes comportamientos, dependiendo de la implementacin en el
dispositivo lgico
Figura 12: Programa correspondiente a una correcta implementacin de la RdP
Figura 13: Programa correspondiente a una incorrecta interpretacin de la RdP, debido al orden
en las instrucciones
Figura 14: Transicin genrica desde el punto de vista de un PLC
Figura 15: Interpretacin de la nomenclatura de la Figura 14
Figura 16: Implementacin en Ladder de una transicin global en un PLC
Figura 17: Implementacin en mnemnico de una transicin global en un PLC
Figura 18: Retardos en el disparo de la transicin
Figura 19: Retardos en la sensibilizacin de la transicin
Figura 20: Esquema del temporizador a la conexin
Figura 21: Cronograma del temporizador a la conexin
Figura 22: Esquema del temporizador a la desconexin
Figura 23: Cronograma del temporizador a la desconexin
Figura 24: Esquema del temporizador a la conexin-desconexin
Figura 25: Cronograma del temporizador a la conexin-desconexi
Figura 26: Esquema del temporizador impulso
Figura 27: Cronograma del temporizador impulso
Figura 28: Esquema del temporizador monoestable
Figura 29: Cronograma del temporizador monoestable
Figura 30: Retardo en el disparo de la transicin
Figura 31: Implementacin en ladder
Figura 32: Implementacin en mnemnico
Figura 33: Implementacin (en ladder) para una transicin global
Figura 34: Implementacin (en mnemnico) para una transicin global
Figura 35: Traduccin del sistema de la Figura 30
Figura 36: Modificacin sobre la traduccin de una transicin genrica (Fig 16)
Figura 37: Temporizador a la conexin
Figura 38: Temporizador a la desconexin
Figura 39: Temporizador a la conexin y a la desconexin (conexin-desconexin)
Figura 40: Temporizador impulso
Figura 41: Temporizador monoestable
126
127
127
127
128
130
130
130
130
130
131
131
131
133
133
134
136
138
139
140
140
141
141
141
142
142
142
143
143
144
144
145
145
146
147
148
148
148
149
149
149
154
155
156
158
158
158
161
161
163
163
165
165
166
167
167
168
169
169
170
170
171
172
174
175
176
177
178
179
179
180
180
182
183
183
183
184
185
185
186
Figura 37-b: Modificacin del programa 8-b para ampliar el horizonte de simulacin
Figura 38: Modelo continuo correspondiente al problema de la Figura 8-a
Figura 39-a: Programa de simulacin de un sistema continuo a velocidad variable
Figura 39-b: Program ec_infinite, que describe las ecuaciones diferenciales del sistema de la
Figura anterior
Figura 40: Simulacin de la evolucin del marcado de los lugares de un sistema continuo a
velocidad variable
Figura 41-a: Programa de simulacin de un sistema continuo a velocidad constante
Figura 41-b: Program ec_finite, que describe las ecuaciones diferenciales del sistema de la
Figura anterior
187
189
190
190
191
191
191
Tema
5
IMPLEMENTACIN
DE TCNICAS
AVANZADAS EN LA AUTOMATIZACIN
Figura 1: Generacin del Programa
Figura 2: Modificacin de las especificaciones
Figura 3: Evolucin del sistema
Figura 4-a: Proceso industrial simple con dos robots
Figura 4-b: Tabla de interpretacin de la RdP de la Fig. 5, correspondiente al proceso de la
Figura 4-a
Figura 5: RdP del proceso de la Figura 4-a
Figura 6-a: RdP con restricciones
Figura 6-b: Tabla de restricciones y prioridades
Figura 7: Modificacin en el proceso de produccin
Figura 7-b: Datos de descripcin del proceso
Figura 8: RdP del proceso modificado
Figura 8-b: Tabla de datos para describir el proceso de la Figura 4-a
Figura 9: Restricciones lgicas en las transiciones: p1, p1
p1 p 2
Figura 11: Restricciones lgicas en las transiciones: p1 + p2 , p1 + p2
196
197
197
198
198
198
199
199
200
200
200
201
202
202
202
203
203
204
204
210
212
220
226
233
233
234
235
237
239
240
240
241
241
242
242
242
243
244
244
245
245
246
248
249
250
252
253
254
255
256
257
258
259
261
262
263
263
264
265
266
267
268
268
269
269
270
276
276
INTRODUCCIN
Procesos Industriales
SCADAS
GRAFCET y Redes de Petri
Simulacin de Procesos
Autmatas Programables (PLCs)
Supervisin
Ingeniera Grfica
Ingeniera Trmica y de Fluidos
Todos esos pilares son tratados con el fin comn de obtener los objetivos que ms
adelante se indican, y que creemos que han sido conseguidos de una manera muy
satisfactoria.
Precisamente, por tratarse de un trabajo enfocado a las aplicaciones que beneficien las
prestaciones de los procesos industriales, tanto por aspectos tcnicos como
metodolgicos, y basado en un considerable nmero de temas y aspectos, como los que
se han nombrado, e incluso algunos ms, ha sido considerable el esfuerzo realizado para
contar con la experiencia de equipos expertos en el tema. A ese respecto hay que
agradecer la ayuda recibida por muchos de ellos en las consultas que frecuentemente se
les ha realizado.
Dichos pilares debidamente coordinados en la investigacin, basada en la experiencia en
la Ingeniera Industrial y en la Industria en general tanto del doctorando como del
director de la tesis, tanto desde el mbito profesional como desde los mbitos docente y
investigador. Todo esto adems ha permitido prolongar el Trabajo de Investigacin a un
trabajo de I+D. El Desarrollo ha consistido en la aplicacin de algunos de los resultados
obtenidos, sobre una planta industrial de ltima generacin (concretamente una planta
cermica), con resultados muy satisfactorios. El hecho de que la Planta Industrial se
encuentre entre las ms modernas a nivel mundial, y el inters que ha despertado dicho
desarrollo, son un indicativo de que ciertamente se est caminando en un terreno
novedoso e innovador.
El trabajo se ha dividido en 7 captulos, de los cuales el ltimo constituye simplemente
un resumen de los resultados obtenidos a lo largo de esta tesis, y que han sido relatados
en cada uno de los captulos e incluso a veces en ciertos apartados en los que
consideraba interesante.
El primer captulo, Elementos de la automatizacin avanzada, constituye una visin de
los aspectos bsicos necesarios para poder avanzar eficientemente en el resto del
trabajo. Se centra en los autmatas programables, los SCADAs, y las herramientas
grficas de automatizacin (GRAFCET y redes de Petri). Este captulo constituye una
visin del Estado del Arte de los temas tratados, y evidentemente no presenta aportacin
alguna ni resultados, sino que puede entenderse como una gua de estudio para los no
expertos en automatizacin de plantas y procesos industriales puedan seguir el resto del
trabajo. Los lectores expertos en cada uno de los apartados pueden prescindir de su
lectura.
Y los dems captulos, desde el 2 hasta el 6, presentan el desarrollo de los diversos
temas sobre los que se ha realizado esta investigacin para mejorar las prestacines de
los procesos productivos automticos: el tema 2 centrado en la metodologa y las
arquitecturas bsicas para la automatizacin de procesos complejos, el 3 en la
implementacin de forma metodolgica y automtica sobre los PLCs de los
automatismos desarrollados mediante herramientas grficas, el 4 muestra una
metodologa similar pero para simular dichas herramientas, y por tanto el sistema y la
automatizacin, mediante lenguajes de programacin, el tema 5 muestra la
implementacin de tcnicas para mejorar las prestaciones en procesos flexibles muy
cambiantes, e introduce al lector a las tcnicas que ms se usan de inteligencia artificial
en las automatizaciones industriales, mediante un ejemplo, y el tema 6, tras analizar un
tipo especial de procesos en el que el producto avanza por sucesivos ciclos
interconectados, muestra los resultados de aplicar sobre un ejemplo real de uno de ellos
las tcnicas anteriores.
2. Objetivos Planteados
La primera reflexin que se debe de tener para comenzar cualquier trabajo, y ms an si
lo es de cierta envergadura, debe ir encaminada hacia los objetivos que se pretenden.
Con ello conseguimos que sea ms sencillo seguir hacia delante en nuestros propsitos
sin desviarnos, y tambin poder evaluar a medida que avanzamos lo cerca o lejos que
estamos de nuestra meta, o lo bien que ha resultado todo cuando por fin se da por
terminado.
Cuando se comenz este trabajo de investigacin se pretenda realizar una obra en la
que la produccin cientfica resultante se pudiese aplicar directamente a la Industria. De
esta manera se pretenda, por un lado dar un carcter prctico a la investigacin, y por
otro abrir el camino de mostrar cmo otras investigaciones pueden traducirse en
xiv
aplicaciones prcticas. Cuando, tras haber trabajado en la industria, asist a los primeros
foros de investigacin en los que se presentaban avances en automatizacin, siempre
tenda a pensar en los puntos fuertes y dbiles de su implementacin real en la industria.
Ah empez a gestarse la idea que ha desembocado en este trabajo, con el punto de vista
puesto en dichos objetivos.
Esta ha sido tambin la razn de que el trabajo haya resultado tan extenso, porque ya
parta con la idea no de concluir una investigacin, sino de abrirla para que
posteriormente se pueda avanzar ms sobre ella y sobre el tipo de objetivos comentados;
y ciertamente pese a que se ha avanzado mucho, tambin son muchos los nuevos
caminos que han aparecido.
3. Campos de influencia
Puesto que toda tesis debe clasificarse en algn campo, el ms apropiado en este caso
seguramente sea el anteriormente indicado, 3311, tecnologa de la instrumentacin, si
bien dado el carcter del trabajo, se presentan otros campos afines al mismo.
3304 TECNOLOGIA DE LOS ORDENADORES
330402
330404
330407
330408
330409
330412
330413
330417
330418
CONVERTIDORES ANALOGICO-DIGITALES
UNIDADES CENTRALES DE PROCESO
PERIFERICOS DE ORDENADORES
FIABILIDAD DE LOS ORDENADORES
MANTENIMIENTO DE LOS ORDENADORES
DISPOSITIVOS DE CONTROL
DISPOSITIVOS DE TRANSMISION DE DATOS
SISTEMAS EN TIEMPO REAL
DISPOSITIVOS DE ALMACENAMIENTO
3310 TECNOLOGIA INDUSTRIAL
331001
331002
331003
331005
331006
331007
331101
331102
331105
331114
TECNOLOGIA DE LA AUTOMATIZACION
INGENIERIA DE CONTROL
EQUIPOS ELECTRICOS DE CONTROL
SERVOMECANISMOS
3328 PROCESOS TECNOLOGICOS
332805
CRISTALIZACION
xv
332808
332819
DESECACION
MEZCLADO
MATERIALES CERAMICOS
PRODUCTOS DE ARCILLA
REFRACTARIOS (ver 3315.17)
4. Aportaciones
Afortunadamente este trabajo ya est dando resultados y aportaciones que compensan el
esfuerzo invertido en l. Estas aportaciones pueden dividirse en dos grupos:
aportaciones cientficas e industriales.
Como aportacin industrial destaca la aplicacin de los resultados obtenidos al
desarrollo de un control real en una planta de ltima generacin, y la satisfaccin y
expectativas que ha suscitado en los responsables de dicha industria.
Las aportaciones cientficas corresponden a la contribucin que ha aportado en los
congresos y jornadas, tanto nacionales como internacionales, en los que se ha
presentado. Y como foro ideal para comentar los resultados se puede indicar las
ponencias admitidas para su presentacin en noviembre, con el trabajo de tesis ya
concluido, que son las siguientes:
Ponencia:
Autores:
Congreso:
Celebracin:
Ponencia:
Autores:
Congreso:
Celebracin:
Ponencia:
Autores:
Congreso:
Celebracin:
Ponencia:
Autores:
Congreso:
Celebracin:
xvi
Una visin resumida de las aportaciones de los captulos puede encontrarse, como se ha
indicado en el Tema 7.
xvii
xviii
Tema 1
ELEMENTOS DE LA AUTOMATIZACIN
AVANZADA
1.1.
Introduccin
En este captulo se van a analizar los elementos principales de automatizacin que sern
empleados a lo largo de todo este trabajo. La visin tratar de ser amplia y enfocada
tanto desde un punto de vista terico como prctico. La visin prctica es necesaria
puesto que la culminacin de este trabajo es la aplicacin de los resultados de la
investigacin sobre las plantas industriales, para permitirles mejorar su funcionamiento
y sus prestaciones. La visin terica es igualmente importante en este captulo, base
para los dems, para disponer de un marco claro y conciso sobre el que asentar los
conceptos posteriores.
Por lo tanto, este captulo, incluye una visin concernienete al estudio del Estado del
Arte y constantemente hace referencia al material ms interesante en los campos que
sern posteriormente tratados, por lo que puede ser obviado por el lector experto en
Ingeniera Industrial (especialmente en automatizaciones mediante autmatas
programables PLC (Programmable Logic Controllers)). Si por el contrario se aventura
en esta tesis algn lector totalmente profano a la automatizacin industrial se
recomienda no slo leer el captulo con detenimiento sino adems trabajar sobre las
referencias que se indican, para poder profundizar en el resto de la tesis. Por esta razn
las referencias y la bibliografa son especialmente extensas en este captulo, y se
proporcionan en cada uno de los apartados.
1.2.
estado de las seales de entrada. Los tipos de interfaces de E/S son muy variados, segn
las caractersticas de las seales procedentes del proceso o las que se van a aplicar al
mismo (seales analgicas de tensin o corriente, pulsos de 0/5 V, 0/24 V, tensiones
alternas 110 V, 220 V, tensiones continuas 12/24/48 V, etc). En la mayora de los APIs,
el nmero (hasta la capacidad permitida por la CPU), tipo y ubicacin de las interfaces
lo define el usuario, adaptando as el autmata, junto con su programa, a las
necesidades de su proceso.
Ejemplos de seales de entrada son las procedentes de elementos digitales, como
interruptores, finales de carrera y detectores de proximidad, o analgicos, como
tensiones de dinamos tacomtricas, tensiones de termopares, etc.
Ejemplos de seales de salida son las rdenes digitales todo o nada o analgicas en
tensin o corriente, que se envan a los elementos indicadores y actuadores del proceso,
tales como lmparas, contactores, vlvulas, etc.
Ha de hacerse constar como caracterstica esencial de los APIs, el disponer de un
hardware estndar que posibilita la realizacin de sistemas de control de acuerdo con
las necesidades del usuario. La eleccin del API (gama baja, media o alta) ser funcin
de las necesidades de potencia de clculo y nmero y tipo de seales de entrada y de
salida.
La configuracin del autmata, llamada arquitectura interna, como en todo sistema
microprocesador, incluye fundamentalmente los siguientes cuatro bloques bsicos: una
CPU o unidad central de proceso, una memoria interna de trabajo (RAM), una memoria
de programa (RAM, EPROM, EEPROM), y las interfaces de entradas y salidas
conectadas al bus interno. A su vez, tanto la CPU como la memoria de programa estn
conectadas a dicho bus interno.
Las instrucciones de un programa de usuario almacenado en la memoria de un API son
ejecutadas correlativamente generando unas rdenes o seales de control a partir de las
seales de entrada ledas de la planta. Cuando se detectan cambios en las seales, el
autmata reacciona de acuerdo con el programa hasta que obtiene las rdenes de salida
necesarias. Esta secuencia se ejecuta continuamente a fin de conseguir el control
actualizado del proceso.
Adems de ejecutar las instrucciones del programa, el autmata realiza un conjunto de
acciones que aseguran su funcionamiento correcto: test de CPU y memoria,
comprobacin del reloj de guarda, etc. La secuencia o ciclo de operacin consta
bsicamente de las siguientes etapas:
1.- Test del sistema.
2.- Lectura de seales desde la interface de entrada.
3.- Escritura de seales en la interface de salida.
4.- Procesado del programa a fin de obtener las seales de control.
Para reducir los tiempos de acceso a las interfaces de E/S, la lectura y escritura de las
entradas y salidas involucradas se realiza a la vez, guardando las entradas ledas en una
memoria temporal o imagen de entradas a la que accede la CPU mientras ejecuta el
programa, en tanto que los resultados o seales de control se van guardando en otra
memoria temporal o imagen de salidas a medida que se van obteniendo. Al terminar la
ejecucin del programa los resultados se colocan de una sola vez en la interface de
salida.
Aparte de las cuatro etapas descritas anteriormente, el autmata eventualmente puede
establecer comunicacin con perifricos exteriores, por ejemplo para sacar datos por
impresora, comunicacin con otros autmatas u ordenadores, conexin con la unidad de
programacin, etc.
Las anteriores acciones, repitindose peridicamente, definen un ciclo de operacin que
requiere un cierto tiempo (dependiendo del nmero de entradas y salidas, y de la
longitud del programa) para ser ejecutado, de modo que el autmata no puede responder
en tiempo real a sucesos que ocurren en el sistema exterior. Este tiempo ser
determinante cuando con el autmata se pretendan controlar procesos rpidos, con
seales de muy corta duracin o alta frecuencia de conmutacin.
Los retardos aportados por entradas o salidas son debidos, respectivamente, al filtrado
de seal que incorporan (filtro pasa bajo), y a los tiempos de respuesta del interruptor
(rel, transistor, etc.) o convertidor digital/analgico.
Para las entradas, los retardos tpicos oscilan entre 10 ms y 100 ms, aunque hay
autmatas que permiten ajustes del tiempo de filtro menores.
Para los tiempos tpicos, la frecuencia mxima de seal de entrada queda limitada entre
100 Hz y 10 Hz, de forma que cualquier seal de frecuencia superior, o de periodo T
menor que el tiempo de filtro, no podr ser leda desde las entradas estndar del
autmata.
Los anteriores problemas debidos a los retardos pueden reducirse de las siguientes
maneras:
-
Para las entradas, con elementos de entrada de proceso rpido: filtrado dbil
asociado a programa de ejecucin rpida, entradas detectoras de flancos o entradas
de contador rpido.
Para el tiempo de procesado del programa: escribiendo subprogramas rpidos
contenidos en el principal asociados a algn elemento de proceso rpido y activados
peridicamente.
Para las salidas: utilizando elementos semiconductores en sustitucin de rels
electromecnicos.
proceso. De ah que de la adecuada eleccin de las interfaces E/S se derive una alta
fiabilidad y disponibilidad del sistema.
Teniendo en cuenta lo anterior, es frecuente que sistemas de control complejos que
incorporan un ordenador central con gran potencia de clculo, utilicen como elemento
de interface con el proceso industrial un autmata programable.
Adems de los tipos de interface que intervienen en el proceso industrial propiamente
dicho, existen otros tipos de interface dedicados a funciones especficas que incluso
incluyen su propia CPU.
Adems de las interfaces estndar digitales y analgicas, disponibles para todas las
gamas de autmatas, existen otros tipos de interfaces llamadas especficas que, de modo
opcional, pueden ser incorporadas al autmata base como tarjetas o mdulos en las
mquinas de las gamas media y alta.
Tales interfaces especficas hacen posible la conexin con elementos o procesos
particulares de la planta, pudiendo realizar funciones muy variadas: manejo de seales
particulares (cdigos binarios, impulsos, seales analgicas dbiles, etc.), regulacin
(PID, comparadores, control numrico), presentacin de sinpticos y control (SCADA),
posicionamiento de ejes, contadores rpidos, etc.
Por la funcin que realizan, las interfaces especficas pueden clasificarse como: de E/S
especiales, de E/S inteligentes, y procesadores perifricos inteligentes.
Las interfaces con E/S especiales son interfaces anlogas a las estndar pero que tratan
seales particulares por su forma o por su aplicacin, pero sin ningn control sobre las
variables de la planta. El tratamiento de las seales est predeterminado y no es
modificable por el usuario que slo puede actuar sobre los modos de trabajo o algn
parmetro de la tarjeta mediante instrucciones de programa o por micro-switchs
externos.
Las interfaces con E/S inteligentes permiten diferentes modos de configuracin
ordenados por programa, e incorporan un control elemental que posibilita, utilizando
seales binarias propias de la tarjeta, establecer lazos de regulacin ON-OFF sobre
variables de la planta, en funcionamiento transparente para la CPU. Desde la CPU y por
el programa de usuario se envan las consignas y controles necesarios a estas interfaces.
Tal forma de actuar descarga de trabajo a la unidad central y mejora de paso la
capacidad de direccionamiento al poder acceder a seales de E/S que no han de aparecer
en su memoria imagen.
Finalmente, los procesadores perifricos inteligentes son tarjetas o mdulos que
disponen de su propio procesador, memoria y puntos auxiliares de E/S. Tales
procesadores incorporan de origen un programa o intrprete de programa especializado
para la ejecucin de una tarea especfica, al que slo se le han de fijar las consignas y
los parmetros de aplicacin para que, de forma autnoma y sin intervencin de la CPU
principal ejecute el programa de control.
Los procesadores perifricos, de uso mucho ms general que las interfaces con E/S
inteligentes, necesitan de mucha ms informacin para definir, adems de la
configuracin del perifrico: las condiciones de aplicacin y de entorno, las condiciones
de control (respuesta en funcin de la evolucin del proceso) y las consignas a seguir. A
todos los anteriores valores, que en definitiva no programan sino que parametrizan la
tarjeta, se les denomina programa de la interface y son enviados al perifrico desde la
CPU principal o desde la unidad de programacin.
Aunque las tareas que realizan las interfaces especficas podran realizarse por el
programa de usuario desde la CPU principal, su especializacin permite evitar o
minimizar problemas tales como: a) Parte de las E/S estndar del autmata seran
ocupadas para el tratamiento, a veces sin xito, de seales especficas que por su
naturaleza (por ejemplo tiempo de respuesta), pueden requerir un tratamiento especial,
b) El aumento de la dificultad de programacin, y c) El incremento del tiempo de ciclo
del autmata que retardara las reacciones del mismo ante el proceso y que, en el caso
de procesamiento rpido de seales causara problemas.
1.2.3. Programacin
El autmata es una mquina electrnica integrando elementos de hardware que son
capaces de comunicarse fsicamente con un proceso para: a) Recibir desde el proceso
algunas variables (analgicas o digitales) que determinan su estado y que se denominan
seales de entrada, y b) Enviar otras variables que modifiquen tal estado en un
determinado sentido, y que se denominan seales de salida.
Por su condicin de programable, es necesaria la intervencin de un operador humano
que defina cmo ha de evolucionar el proceso y que intercambie informacin con el
autmata para: a) Establecer mediante una secuencia de instrucciones (programa), cul
ha de ser la ley general de mando. De la ejecucin de tal programa se obtienen las
seales de salida o de control; y b) Intervenir, espordica o continuamente sobre el
proceso a efectos de informarse de su estado o de modificar su evolucin. Al apartado a)
se le denomina programacin del autmata y a la secuencia de instrucciones programa
de la aplicacin. Al apartado b) se le llama comnmente explotacin de la aplicacin,
mediante la cual se pueden modificar ciertos parmetros (consignas, tiempos, mdulos
de cuenta, etc.), pero no modificar el programa.
Las intervenciones sobre la planta se realizan normalmente mediante el autmata, si
bien en casos de fuerza mayor (parada de emergencia por motivos de seguridad), el
operador puede actuar directamente sobre el proceso.
El intercambio de informacin entre autmata y proceso corre a cargo de las interfaces
de E/S, en tanto que la comunicacin con el operador para programacin/explotacin
requiere de un software que haga de intrprete entre el sistema real y los deseos del
usuario.
De este modo puede decirse que este software es "el conjunto de programas que
posibilitan la utilizacin del hardware para el control y la explotacin de las
aplicaciones".
De acuerdo con la anterior definicin, las herramientas de software son clasificables
como: a) Sistemas operativos residentes en el propio autmata que tienen la misin de
establecer las secuencias de intercambios de informacin, interpretar y ejecutar las
instrucciones del usuario y vigilar el correcto funcionamiento del equipo, y b) Software
de edicin/depuracin de programas, que permite al usuario introducir su propio
programa sobre soportes fsicos tipo cinta, disco, etc., modificarlo para perfeccionarlo,
obtener la documentacin que se precise del proceso y, en su caso sacar copias de
seguridad.
Segn los casos, el software de edicin/depuracin puede ser residente, es decir est
instalado en la mquina o, es instalable sobre un terminal denominado unidad de
programacin que a su vez puede ser autnoma o dependiente de la CPU. Las misiones
de la unidad de programacin son fundamentalmente: a) Permitir la edicin, depuracin
y modificacin del programa y, b) Servir de interface fsica entre el usuario y el
autmata, a fin de poder transferir programas y realizar la supervisin y el control del
equipo.
Las instrucciones u rdenes que el usuario introduce en el programa han de ser
entendibles por el autmata, es decir que han de ser codificadas mediante los lenguajes
de programacin y explotacin prefijados por el fabricante.
Por tanto, el lenguaje de programacin puede definirse como "el conjunto de smbolos y
textos, entendibles por la unidad de programacin, que utiliza el usuario para codificar
sobre un autmata las leyes de control que desea". Asimismo, el lenguaje de explotacin
se definira como "el conjunto de comandos y rdenes que, desde la CPU u otro
terminal adecuado, puede enviar el usuario para conocer el estado del proceso, y en su
caso para modificar alguna variable".
En esencia, el usuario introduce su secuencia de instrucciones (programa) en la unidad
de programacin, en un lenguaje que entienden ambos. La unidad de programacin
compila (convierte) las instrucciones del programa a unos cdigos binarios, nicos que
entiende el autmata (cdigo mquina del autmata) y los almacena en la memoria.
Finalmente el sistema operativo residente interpreta tales cdigos binarios para activar
los recursos fsicos que requiere la ejecucin del programa (procesador, interfaces E/S,
etc.).
En la tarea de programacin del autmata, es decir de establecer el programa a
introducir en la unidad de programacin, han de seguirse los siguientes pasos:
1. Establecer mediante un diagrama de flujo, una descripcin literal o grfica
(GRAFCET, RdP, etc.) que indique qu es lo que se quiere que haga el sistema y en
qu orden.
2. Identificar las seales de E/S del autmata.
Para el logro del mencionado lenguaje mixto se ha de actuar en los siguientes campos:
a) Potenciar el uso de estructuras de programacin avanzada en los lenguajes grficos
(GRAFCET a menor nivel y RdP a nivel superior) y aumentar el nmero de las actuales
instrucciones de expansin, b) Permitir el uso de instrucciones literales dentro de un
programa grfico, tratndolas como tales instrucciones dentro del programa o como
subrutinas accesibles desde l, y c) Desarrollar herramientas de edicin con las que el
usuario pueda almacenar sus sentencias en un bloque de expansin dentro de la librera
disponible.
En definitiva y en lo referente a los lenguajes de programacin, se prev una evolucin
de los lenguajes grficos en el sentido de hacerlos ms potentes, ms abiertos y de ms
fcil manejo por el usuario que, progresivamente podr desarrollar sus aplicaciones
sobre terminales tipo PC.
Los bloques funcionales, de mayor o menor complejidad, aaden al lenguaje bsico
instrucciones preprogramadas por el fabricante, de uso general en automatizacin
(contadores, temporizadores, transferencias, registros, etc.) aumentando as la potencia
de clculo del autmata y simplificando su programacin.
Tales bloques, que pueden introducirse en programas escritos en lenguajes literales,
lenguajes de alto nivel y lenguajes grficos, se clasifican en dos grupos en funcin de su
forma de operar y su disponibilidad en el programa:
- Bloques secuenciales bsicos.- Aquellos que son de uso generalizado en todo tipo de
autmatas, incluidos los de la gama baja (contadores, biestables, temporizadores y
registros de desplazamiento).
- Bloques de expansin o funciones.- Son los que hacen posible el tratamiento de
variables numricas y el registro de datos, con sentencias aritmticas (comparacin,
transferencias, etc.), aumentando as la potencia del lenguaje.
Los bloques secuenciales bsicos se pueden considerar parte de los lenguajes bsicos
del autmata, en tanto que los bloques de expansin son extensiones de aquellos.
El usuario ha de adaptar los anteriores bloques funcionales a sus particulares
necesidades fijando las condiciones de trabajo: nombre de los registros con los que
desea operar (direcciones), valores de temporizaciones en los temporizadores,
direcciones de origen y destino en las transferencias, etc..
Los bloques funcionales, en su caso ms general hacen intervenir tres tipos de variables
asociadas: a) Condiciones de operacin (entradas).- Son las que definen la habilitacin y
control del bloque, b) Operandos de funcin.- Son aquellos sobre los que actan las
sentencias preprogramadas del bloque funcional, y c) Salidas asociadas cuyo estado
depende de la ejecucin del bloque.
A su vez, los operandos de funcin pueden ser: a) Parmetros iniciales que normalmente
permanecen inalterados una vez fijados por programa o transferidos desde consola, y b)
Datos de operacin (constantes o variables expresadas en palabras de 8/16 bits y que
muestran el estado de valores internos, E/S, resultados, etc.
10
11
En efecto, el gestor de recursos es un ente software que puede ser parametrizado por el
usuario a fin de fijar las prioridades de las tareas de su programa, y que dependiendo del
fabricante puede correr sobre una CPU coordinadora (especfica) o sobre la CPU
principal.
Del mismo modo que los procesadores perifricos montados en bastidor pueden
considerarse como parte de una misma unidad de control, los programas que se ejecutan
sobre ellos (con lectura y generacin de seales sin intervencin de la CPU principal)
pueden tambin considerarse como parte de un tratamiento multitarea.
La clasificacin anterior de estructuras de programacin (mono y multitarea),
fuertemente dependiente de la configuracin del hardware de la unidad de control, no ha
de confundirse con las metodologas de programacin a utilizar.
En efecto, una vez elegida para la aplicacin a desarrollar un tipo de estructura mono o
multitarea para su programacin, cada una de las tareas parciales ha de ser programada
en una secuencia de sentencias que puede obedecer a una metodologa de programacin
lineal o estructurada.
En cuanto a la metodologa a utilizar se dice que la programacin es lineal cuando las
sentencias estn ordenadas en el mismo orden en que se van a consultar, y en su caso a
ejecutar. Por el contrario, se dice que la programacin es estructurada cuando la tarea de
control est repartida en mdulos o subprogramas relativos a distintas funciones y cuya
ejecucin puede ser necesaria varias veces dentro de un mismo ciclo de ejecucin del
autmata.
A pesar de que la programacin estructurada de una tarea se realiza con mayor
eficiencia en autmatas con coprocesadores en su CPU que estn especializados en las
funciones de cada subprograma, resulta tambin posible sobre autmatas con CPU
nica, que ejecutar los subprogramas o mdulos en el orden en que sean llamados por
el programa principal. En este sentido ha de hacerse constar que existen mdulos
pregrabados por el fabricante (para realizar tareas concretas o gobernar interfaces
especficas) que pueden ser adaptados por el usuario a su aplicacin concreta con slo
parametrizarlos adecuadamente.
En resumen, puede decirse que si bien, tanto los tratamientos monotarea como los
multitarea pueden desarrollarse en autmatas con un solo procesador o con varios
procesadores, ha de ser el programador quien segn la complejidad de la aplicacin, la
estructure o subdivida de la forma ms eficiente posible de acuerdo con los recursos
hardware de que disponga.
Finalmente, obsrvese como la programacin en lenguajes grficos (GRAFCET o RdP)
tambin puede ser considerada como una programacin estructurada especialmente til
para la programacin de los procesos secuenciales.
En cualquier aplicacin con autmata programable, tanto durante la fase de concepcin,
edicin y depuracin del programa como durante la fase de operacin o explotacin del
sistema, es necesaria una comunicacin o dilogo hombre-mquina. En la primera fase
12
1.2.4. Aplicaciones
La finalidad primordial de la automatizacin industrial es la de gobernar la evolucin de
un proceso sin la intervencin, salvo espordica, de un operador.
Cuando se trata de procesos de fabricacin rgidos con poca variacin en el tiempo o de
tipo independiente y sin interrelacin con tratamientos anteriores o posteriores, la
finalidad se logra programando sobre los controles locales de la planta las instrucciones
de control que se deseen y cerrando los bucles de control precisos para que los valores
de las variables significativas estn dentro del intervalo fijado por las seales de
consigna.
La mayora de los procesos industriales no cumplen las condiciones del punto anterior,
sino que han de ser flexibles adaptndose a determinados aspectos y adems estn
fuertemente interrelacionados entre s no ya slo por exigencias de factores propios de
la produccin sino por otros ajenos como p.e. la calidad total, minimizacin de costes de
stocks, ahorro de energa, etc.
13
14
1.2.5. Referencias
Pginas WEB
http://www.ee.umanitoba.ca/tech.archive
TECHNICAL
REPORTS
sobre
AUTOMATA,
COMPUTATIONAL
INTELLIGENCE, DATA AND SIGNAL COMPRESSION, FORMAL METHODS IN
SYSTEM
DESIGN,
FUZZY
SYSTEMS,
GENETIC
ALGORITHMS,
MATHEMATICS, MICROELECTRONICS AND SOFTWARE SYSTEMS, NEURAL
NETWORKS, PARALLEL PROCESSING, PETRI NETS, REAL-TIME SYSTEMS,
SPECIFICATION AND DESCRIPTION LANGUAGE (SDL)
http://www.informatik.uni-stuttgart.de/ifi/ti/fap98/fap98.html
WORKSHOP ON FORMAL LANGUAGES, AUTOMATA AND PETRI-NETS
http://www.aisa.uvigo.es/software.html
SOFTWARE DE
LIBRE
DISPOSICIN
DEPARTAMENTO
DESARROLLADO
EN
EL
http://www.cs.duke.edu/~magda/flap/index.html
FORMAL LANGUAGES & AUTOMATA PACKAGE. Demo sobre una herramienta
grfica usada para aprender los conceptos de los lenguajes del autmata.
Bibliografa y artculos
-
16
1.3.
Los SCADAs
17
18
entorno familiar multitarea con un intercambio de datos entre aplicaciones muy sencillo
(DDE, OLE), una potente interfaz de usuario (GUI) y caractersticas de sistema abierto
para incorporar fcilmente nuevos software de interfaz audiovisual o multimedia.
Mediante interfaces serie estndar (RS-232, RS-422 o RS-485) y utilizando los
protocolos adecuados, ya incluidos en el propio SCADA, se realiza la comunicacin
con los elementos de campo.
Tambin es importante saber el nmero de pantallas grficas de representacin
(sinpticos) que el sistema puede soportar, as como el nmero mximo de variables a
manipular.
Finalmente son tambin datos a considerar la capacidad de intercambio de datos con
otros entornos como dBase o Excel para integrar sus funciones dentro de la aplicacin
(clculos estadsticos, grficos, presentaciones, etc.) y, la posibilidad de programacin
de funciones complejas incluyendo en el SCADA ficheros y rutinas escritos en
lenguajes de propsito general (C, Pascal, Basic, etc.).
19
1.3.2. La supervisin
El ordenador habilita las funciones de supervisin de la planta al operador mediante una
ventana abierta a la planta desde el teclado, el ratn y el monitor. El proceso a
supervisar es representado por sinpticos grficos, almacenados en el ordenador de
proceso y generados previamente en la fase de configuracin. Los cambios que se
producen en la planta a lo largo del tiempo pueden ser contemplados en el grfico
mediante zonas dinmicas que varan con tales cambios. En efecto, los sinpticos
presentan zonas activas cambiantes en forma y color, siguiendo la evolucin del proceso
en la planta o las acciones del operador. As p.e. la pantalla podra configurarse de modo
que muestre las tres reas siguientes: a) proceso global, b) partes significativas del
proceso y c) zona con esquema de asignacin de teclas para el mando de las posibles
acciones. Cada una de las zonas pueden asimismo incluir valores numricos o
alfanumricos de variables segn la evolucin de la planta.
Han de tenerse en cuenta ciertas consideraciones o consejos que ayudan al diseo de
pantallas:
- La apariencia de las pantallas ha de ser tal que muestre zonas diferenciadas para
presentar la planta (sinpticos), las botoneras y entradas de mando (control) y, los
mensajes de salida del sistema (estados, alarmas).
- El proceso se debe representar preferentemente con sinpticos desarrollados de
izquierda a derecha siguiendo el hbito de lectura y escritura.
- Es conveniente que las seales de control estn agrupadas por funciones, y que la
informacin sobre cada elemento grfico se coloque sobre l.
20
Para procesos complejos puede haber necesidad de definir varias pantallas dentro de la
misma aplicacin, disponiendo cada una de ellas de sus sinpticos, zonas activas y
variables asociadas, y representando distintas secuencias como parte del proceso global.
El cambio de pantallas se produce automticamente segn va evolucionando el proceso
o bien a peticin del operador. Ante una situacin anormal, el sistema adems de
reaccionar ante tal situacin en la forma preprogramada, puede sugerir al operador en
forma de texto una orientacin sobre qu acciones correctoras debe ejercer.
Las actuaciones del operador pueden ser, bien sobre variables intermedias en el
ordenador o autmata, o bien sobre variables directas de la planta, posicionando el ratn
sobre alguna zona activa y modificando el valor de la variable seleccionada.
Determinadas acciones de mando pueden estar reservadas slo a operadores autorizados
que para ejercerlas han de activar previamente su cdigo personal.
21
22
1.3.4. Aplicaciones
La gestin y archivo de datos se realiza en bloque del SCADA que los almacena y
procesa, codificados de tal modo que puedan ser enviados a impresoras o registradores
(hardware) y a hojas de clculo o bases de datos (software) del propio sistema.
Los datos de planta seleccionados pueden ser capturados con una periodicidad fijada y
almacenados en formatos adecuados para ser vertidos en forma de histricos,
estadsticas, anlisis de calidad, etc. a perifricos grficos o alfanumricos. Lo anterior
es posible gracias a un intercambio dinmico de informacin entre el SCADA y las
aplicaciones que corren bajo el mismo sistema operativo.
Un ejemplo de lo anterior es el protocolo DDE de Windows que hace posible el
intercambio de datos en tiempo real, aunque con las limitaciones propias de Windows.
A tal fin, el SCADA opera como un servidor DDE cargando en memoria variables de
planta que posteriormente sern usadas en diversas aplicaciones.
Los datos, despus de procesados, pueden presentarse como histogramas, grficas
analgicas, grficos tridimensionales, etc., formando histricos y resmenes para el
posterior anlisis del funcionamiento de la totalidad de la planta que, permitir conocer
la influencia de cada elemento en el proceso y su intensidad.
Asimismo, los datos que ha procesado el mdulo de control pueden ser enviados de
inmediato a ficheros auxiliares donde quedan almacenados hasta ser llamados para su
tratamiento posterior.
El bloque de comunicaciones realiza la transferencia de informacin entre el hardware
del SCADA y la planta, y entre aqul y todos los dems elementos de gestin.
En el bloque de comunicaciones se encuentran los "drivers" de conexin con todos los
elementos digitales conectados, es decir, los programas software a los que se les
encomienda la iniciacin de los enlaces, la creacin de los formatos, la ordenacin de
las transferencias, etc. En resumen, la gestin de los protocolos de comunicacin, que
pueden ser abiertos como FieldBus, ModBus, Map, etc., o especficos del fabricante,
caso ste en el que frecuentemente requieren una licencia del mismo para incluirlos en
la aplicacin.
Tanto el protocolo como los parmetros de la aplicacin (puertos, velocidad, etc.) son
activados de forma automtica cuando el usuario elige el modelo de dispositivo E/S de
campo: autmatas, lectores de barras, reguladores PID, analizadores, etc., es decir
durante la configuracin.
En aplicaciones complejas, en los SCADA distribuidos en arquitecturas del tipo clienteservidor, los bloques de comunicaciones son asimismo los encargados de los enlaces
23
(generalmente establecidos sobre una red local) entre los distintos ordenadores de
proceso que soportan la aplicacin.
En el entorno Windows, los mdulos Net-DDE aportan todas las ventajas de los
protocolos DDE a los sistemas en red, de modo que pueden (sin necesidad de
servidores) establecer comunicaciones punto a punto permitiendo la conectividad del
software entre aplicaciones que corren sobre diversas plataformas estndar.
1.3.5. Referencias
Pginas WEB
http://www.csi.ull.es/docencia/asignaturas/332.html
TCNICAS DE SIMULACIN
http://www.keytelemetering.com/
Building SCADA Systems, Remote Terminals (RTU), Data Radio Modems, Voice
Reporter, Solar Power
http://www.advancedscadaandtelemetering.com
Advanced SCADA and Telemetering
http://www.scadaengine.com/
SCADA Gateway and ActiveX component for developing Man Machine Interfaces.
Drivers for Modbus, Carrier, BACnet and Atlas systems.
http://www.autosoln.com/
SCADA-Automation Solutions. Monitoring, data acquisition and remote control by
integrating various HMI's, RTU's, and PLC's with OPC Server...
Bibliografa y artculos
-
24
25
1.4.
26
27
28
una funcin lgica combinacional todo lo compleja que sea necesario, siempre que su
resultado sea un bit (1=condicin verdadera, 0=condicin falsa).
- Ha de tenerse presente que el grfico funcional simboliza en forma esttica un
conjunto de situaciones posibles. No obstante, es posible representar la situacin
dinmica en un instante dado, indicando qu etapa o etapas estn activas y cules estn
inactivas. El simbolismo utilizado para ello consiste en marcar con un punto las etapas
activas.
- Finalmente, ha de tenerse en cuenta que los nmeros de las etapas nada tienen que ver
con su orden de ejecucin, solamente tienen carcter de identificacin (puede ser una
etiqueta en vez de un nmero). Por tanto, se pueden numerar las etapas de la forma que
se desee, sin que ello tenga ninguna repercusin desde el punto de vista funcional.
Mensajes
Son mensajes en forma de textos, smbolos o ecuaciones lgicas asociados a las etapas o
a las transiciones y que indican la actividad desarrollada o las relaciones entre variables
del sistema que han de cumplirse. Existen dos tipos de mensajes:
- Mensajes de accin, que van asociados a cada etapa, e indican que actividad se ha de
desarrollar en dicha etapa cuando est activa (ver reglas de evolucin). Tales mensajes
pueden ser en forma de texto o en forma de ecuaciones lgicas indicando la relacin
salidas-entradas.
- Mensajes de receptividad asociados en este caso a cada transicin. Tales mensajes
indican las condiciones lgicas necesarias y suficientes para el paso de cada etapa a la
siguiente o siguientes.
Reglas
Las reglas de evolucin son las que permiten definir e interpretar de forma unvoca el
comportamiento dinmico del sistema. Unas hacen referencia a las etapas y otras a las
transiciones, por lo que algunas pueden resultar redundantes entre s. A continuacin se
expone una lista de las fundamentales:
- Cada etapa lleva asociada una variable de estado X1 de tipo bit.
- Se distinguen dos estados posibles de una etapa: activa o inactiva. Se dice que una
etapa est activa si su variable de estado vale 1 e inactiva si vale 0.
- Se denomina arranque en fro a la inicializacin de un proceso automtico sin guardar
memoria de situaciones anteriores. La orden de arranque en fro puede darla un operador
humano o proceder de un sistema automtico jerrquicamente superior.
Recibida la orden de un arranque en fro se activan todas las etapas iniciales y se
desactivan todas las dems.
- Se denomina arranque en caliente a la reinicializacin de un automatismo cuando ste
guarde memoria de situaciones anteriores. Tal situacin suele corresponder a un
rearranque sin prdida del contexto anterior, es decir, manteniendo memorizadas las
variables de estado del proceso.
En caso de un arranque en caliente pueden activarse las etapas iniciales o mantener el
estado anterior al arranque en caliente (contexto). Esta decisin es generalmente tomada
por una parte especfica del automatismo destinado a ejecutar lo que se llama una tarea
previa.
- En la evolucin normal de un proceso, una etapa no inicial se activar cuando est
activada la etapa anterior y se cumplan las condiciones de transicin entre ambas.
29
1
T1/2
T1/2=0
1
T1/2=1
T1/2
Transicin no
validada
Transicin
validada
Transicin
franqueable
Transicin
franqueada
30
31
0
T3/5
10
T6/7-8
T4/5
T0/2
T0/1
T9-10/11
2
5
Figura 1.2: Divergencia y
convergencia en O
8
7
11
Figura 1.3: Divergencia y
convergencia en Y
10
T6/7-8
T4/5
T3/5
T0/2
T0/1
T9-10/11
11
32
De otra parte, si en una estructura lineal progresan varias etapas activas a la vez pueden
darse caza y ello podra provocar condiciones contradictorias de que una etapa deba
activarse y desactivarse a la vez.
- Cada etapa se activa cuando se encuentre activada la anterior y adems se cumplan las
condiciones de transicin entre ambas.
- La activacin de una etapa implica automticamente la desactivacin de la etapa
anterior.
- Una secuencia lineal puede estar integrada en una estructura ms compleja.
Es usual que una estructura lineal aparezca casi siempre a nivel de descripcin genrica
con macroetapas y tambin como parte de estructuras ms complejas.
Divergencia y convergencia en O
La divergencia y convergencia en O, a las que se denominan conjuntamente
bifurcacin en O, forman una estructura integrada por los siguientes elementos:
- Una divergencia en O, como comienzo de varios caminos o subprocesos alternativos
posibles.
- Una serie de caminos alternativos, cada uno con una macroestructura lineal, aunque
pueden contener otras estructuras ms complejas.
- Una o ms confluencias (convergencias) en O de tales caminos alternativos, de
modo que la macroestructura ha de ser globalmente cerrada.
Tal tipo de estructura se prev para representar procesos alternativos que han de
ejecutarse dependiendo de ciertas condiciones lgicas. Por ejemplo en una
embotelladora, si el llenado es correcto poner el tapn y meter en la caja, si no, retirar
para su rellenado. Informticamente hablando, la bifurcacin en O corresponde a una
estructura del tipo IF...THEN...ELSE.
Dependiendo de cules sean las condiciones de transicin que se cumplan a partir de la
etapa previa a la bifurcacin, se seguir uno u otro camino o subproceso a partir de la
misma.
Si bien no es necesario que los subprocesos que parten de una misma divergencia deban
confluir en una misma convergencia, lo que si ha de ocurrir en todo proceso es que
parta de una divergencia y termine en una convergencia en algn lugar del ciclo, para
que se cumpla que el grfico de fluencia visto globalmente sea cerrado.
Las propiedades bsicas a cumplir por la estructura de bifurcacin en O son las
siguientes:
- Partiendo del punto de divergencia el proceso puede evolucionar por uno de los
distintos caminos alternativos, cada uno de los cuales tiene su propia condicin de
transicin.
- Las condiciones de transicin de los distintos caminos de divergencia han de ser
excluyentes entre s (interseccin nula), de forma tal que el proceso slo podr progresar
en cada caso por uno de ellos.
En rigor, las reglas del GRAFCET no imponen esta restriccin, pero su incumplimiento
da lugar a una incoherencia. En efecto, si las condiciones no son excluyentes entre s,
existira la posibilidad de poder iniciarse simultneamente varios procesos en caso de
33
34
1.4.4. Macroetapas
Al aplicar las tcnicas del GRAFCET a la representacin de procesos complejos, se
comienza por representar un diagrama con las tareas principales a ejecutar en el
proceso, definiendo grandes bloques de acciones llamados macroetapas y sin desarrollar
en principio los detalles del proceso.
El smbolo empleado para representar una macroetapa es un cuadrado dividido en tres
partes (vertical u horizontalmente). En una de las partes puede colocarse un nmero, en
otra la identificacin de la macroetapa y en la tercera la etiqueta.
Por tanto las macroetapas representan tareas y equivalen a lo que en algunos lenguajes
se definen abreviadamente como macros. Desde un punto de vista formal, una
macroetapa no es ms que un conjunto de etapas agrupadas que se definen
35
E10
1
macro
E10
2
S20
11
T E10/11
T1/2
E10
E10
2
S20
11
E10
7
S20
T7/8
T2/3
S20
3
S20
36
37
Inicializar
contador
Tarea
1
condicin
condicin
Fin tarea
Tarea
condicin
3
While...do
Incrementar
contador
Contador=preseleccin
For next
Tarea
condicin
Contador<preseleccin
3
condicin
Repeat tarea until condicin
38
variables de sistema como los datos memorizados suelen emplearse para decidir el
preposicionamiento del sistema.
El siguiente bloque de tratamiento secuencial se ejecuta, en general, cclicamente en
condiciones normales de funcionamiento y recorre las distintas fases de evolucin que
ha de seguir el proceso.
El bloque final de tratamiento combinacional queda tambin incluido dentro del ciclo
normal de ejecucin y contiene todas las acciones a ejecutar en cada una de las etapas
del proceso. La posibilidad de condiciones anmalas de funcionamiento es otro aspecto
a considerar. En efecto, ante tales situaciones se desea generalmente que el sistema de
control reaccione de distintas maneras, en funcin de la gravedad de la anomala. Para
incluir estas condiciones en el GRAFCET, cada etapa debera tener al menos dos salidas
(divergencia en O), una de ellas para la evolucin normal y otra para responder a
condiciones de alarma (aviso, parada, etc.). Sin embargo, si se quisiera representar esto
resultara un grfico funcional excesivamente complicado, optando por tanto por
representar en el grfico funcional slo la evolucin normal del proceso y dando por
supuesto que dicho funcionamiento normal puede ser interrumpido en cualquier etapa
por una condicin genrica de alarma.
1.4.7. Ejemplo
A modo de ejemplo se propone un simple ascensor de tres plantas. Antes de nada
quisiera indicar que la forma en la que se va a resolver no es la ms adecuada para
modelizar un ascensor en general. Para un nmero de plantas mayor que el de este
problema, o cuando existe alguna dificultad adicional (memorias, comportamiento
inteligente, etc.) se debe realizar un grafcet de gestin de las maniobras y varios subgrafcet o macroetapas que las vayan realizando. La razn de emplear este modelo como
ejemplo se debe a la facilidad de descripcin por ser un elemento muy popular: se
necesita mucho menos esfuerzo (y sobre todo espacio) para definir cmo es el sistema a
tratar.
El ascensor es el que se puede ver en la figura 1.8. Consta de tres plantas a las que se
puede llamar desde el interior de la cabina o desde las propias plantas. Se ha supuesto
que se trata del mismo pulsador (el de la cabina y el de la planta), es decir, que la seal
que se emplea es un funcin lgica O de ambas. Las seales que la automatizacin (el
GRAFCET) proporciona al sistema a controlar (el ascensor) son las rdenes de subir o
bajar (las salidas del GRAFCET). Cuando no se manda ni subir ni bajar el ascensor
queda bloqueado en la planta. Se dispone como entradas a la automatizacin de sensores
de posicin de las plantas (D1, D2 y D3) adems de los ya mencionados
correspondientes a los pulsadores (P1, P2, P3). Cuando el ascensor se detiene en una
planta debe permanecer un cierto tiempo de espera hasta atender a las llamadas que se le
realicen. El esquema est indicado en la figura 1.8.
39
Planta 3
Subir
D3 (Detector 3)
Planta 2
P3 (planta 3)
P2 (planta 2)
P1 (planta 1)
cabina
D2 (Detector 2)
Bajar
Planta 1
D1 (Detector 1)
40
Set Bloque
Marcha
Chequeo
del sistema
Chequeo
del sistema
10
Bajar
Fin chequeo
espera
11
espera
12
D1
Espera en T1
T1
P3T1
P2T1P3
Subir a 2
Subir a 3
Subir
D2
Espera en 2
D3
T1
Espera en 3
P1T1P3
Bajar a 1
Bajar a 2
T1
P2T1P1
P3T1
Bajar
P1T1
Bajar
6
D2
D1
Subir
1.4.8. Referencias
a) Pginas WEB
http://www.lurpa.ens-cachan.fr/grafcet.html
Presentacin de Grafcet
http://www.lurpa.ens-cachan.fr/cgibin/grafcet/redirection?http://www.eerie.fr/~chapurla/enseignements.html
Soporte de curso
http://www.lurpa.ens-cachan.fr/cgibin/grafcet/redirection?http://www.lisi.ensma.fr/~manu/GRAFCET0.HTM
Automatismos y Grafcet.
http://www.lurpa.ens-cachan.fr/cgi-bin/grafcet/redirection?http://www-ipst.ustrasbg.fr/pat/autom/index.htm
El modelo Grafcet
http://www.lurpa.ens-cachan.fr/cgi-bin/grafcet/redirection?http://www.gsip.cran.unancy.fr/~herve/grafcet/
El Grafcet
http://www.lurpa.ens-cachan.fr/cgibin/grafcet/redirection?http://perso.wanadoo.fr/papanicola/s_i/Auto/logique/Grafcet/grafcet.htm
41
Los Automatismos
http://www.lurpa.ens-cachan.fr/cgi-bin/grafcet/redirection?http://artemmis.univmrs.fr/colleges/pcl2/grafcet.htm
Lenguage grfico de funciones secuenciales
http://www.lurpa.ens-cachan.fr/cgibin/grafcet/redirection?http://rolf.ece.curtin.edu.au/~clive/plc/6SFC.HTM
Curso de Automtica Grafcet
http://www.lurpa.ens-cachan.fr/cgibin/grafcet/redirection?http://www.lab.ens2m.fr/cours%20automatique/INTRO.HTM#intro
automatique
b) Tesis Doctorales
Synthese de la commande des systemes a evenements discrets par GRAFCET
C. NDJAB HAGBEBELL, Tesis de la Universidad de Reims Champagne Ardenne, 1999
Un langage de specification pour la conception structuree de la commande des systemes a evenements
discrets
J.J. DUMERY, Tesis de lEcole Centrale de Pars, 1999
Elaboration d'un langage de specification comportementale de systemes automatises
L. GUILLEMAUD, Tesis Doctoral de la Universidad de Rennes I, 1998
Ingenierie inverse en genie automatique: une methodologie d'elaboration d'une representation
structuree d'une commande preexistante
F. LOUNI, Tesis Doctoral de lEcole Nationale Suprieure dArts et Mtiers, 1998
De la verification de cahiers des charges de systemes a evenements discrets a la validation des
specifications decrites en grafcet
S. LAMPERIERE-COUFFIN, Tesis Doctoral de lEcole Normale Suprieure de Cachan, 1998
Modelisation du grafcet temporise et verification de proprietes temporelles
D. L'HER, Tesis Doctoral de la Universidad de Rennes I, 1997
Control and supervision of event-driven systems
H. YAZDI, Tesis Doctoral de la Universidad Tcnica de Dinamarca (DTU), 1997
Du TTM/RTTL pour la validation des systemes commandes par grafcet
P. DE LOOR, Tesis Doctoral de la Universidad de Reims Champagne Ardenne, 1996
Le modele GRAFCET: reflexion et integration dans une plate-forme multiformalisme synchrone
D. GAFFE, Tesis Doctoral de la Universidad de Nice-Sophia Antipolis, 1996
Prototype implementation of the PLC standard IEC 1131-3
S. JOHANSSON, M. OHMAN, Tesis ISSN 0280-5316 ISRN LUFTFD2/TFRT5547SE, Lund
Institue of Technology, Lund, Suiza, 1995
D'une theorie des systemes sequentiels a la notion de codeur: validation globale du GRAFCET
M. GUILLAUME, Tesis Doctoral de la Universidad de Rennes I, 1995
Analyse de GRAFCETS par generation logique de l'automate equivalent
J.M. ROUSSEL, Tesis Doctoral de lEcole Normale Suprieure de Cachan, 1994
42
43
c) Normativa
Project of amendment to IEC 848 : Preparation of function charts for control systems
International Electronical Commission
Geneve : IEC Editions, 1994
d) Libros
44
e) Ponencias
45
46
f) Artculos en revistas
Demarche progressive d'implantation d'une commande sre dans un a.p.i. a partir d'une
specification GRAFCET
V. CARRE-MENETRIER, J. ZAYTOON
Revue R.E.E. 2000, pp 69-76
Methods and tools for the synthesis of an optimal control implementation for GRAFCET
V. CARRE-MENETRIER, C. NDJAB HAGBEBELL, J. ZAYTOON
JESA, Ed HERMES, Volume 33 - n8-9/1999, pages 1073 1092
GRAFCET et graphe d'etats : comportement, raffinement, verification et validation
J. ZAYTOON, V. CARRE-MENETRIER
JESA, Ed HERMES, Volume 33 - n7/1999, pages 751 782
GRAFCET et graphes d'etats : synthese hors ligne de la commande
Janan ZAYTOON, C. NDJAB HAGBEBELL, V. CARRE-MENETRIER
JESA, Ed HERMES, Volume 33 - n7/1999, pages 783 814
GRAFCET revisited with a synchronous data-flow language
P. LE PARC, D. L'HER, J.L. SCHARBARG ET L. MARCE
47
Revue IEEE Transactions on Systems, Man and Cybernetics - Part A: Systems and Human - Vol.
29, No. 3 - 1999
Implementation aspects of the plc standard iec 1131-3
M. OHMAN, S. JOHANSSON, K.E. ARZEN
IFAC - Control Engineering Practice 123, Vol 6 Num 4 , pp. 547-555, 1998
L'enseignement du GRAFCET: pas si facile !
D. GENDREAU
Revue Technologies, numro 94, pp. 11-18, 1998
Le GRAFCET revisite a l'aide d'un langage synchrone flot de donnees
P. LE PARC, D. L'HER, J.L. SCHARBARG, L. MARCE
Revue Technique et Science informatiques Volume 17, numero 1, 1998 pp. 63-86
Un systeme expert base sur le grafcet pour le controle de procede
O.M. BADIE, J.Y. JOURNEAUX, B. GRAVIL
JESA-AFCET/CNRS, Ed. HERMES, Vol. 31-N8, pp. 1259-1274, 1997
Contribution to the GRAFCET formalisation: a static meta-model proposition
F. COUFFIN, S. LAMPERIERE, J.M. FAURE
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N4, pp. 645-667, 1997
Comportement temporel du GRAFCET
P. LHOSTE, J.M. FAURE, J.J. LESAGE, J. ZAYTOON
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N4, pp. 695-711, 1997
Verification et validation du GRAFCET
J. ZAYTOON, J.J. LESAGE, L. MARCE, J.M. FAURE, P. LHOSTE
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N4, pp. 713-740, 1997
Modelling discrete event systems bahaviour using the hyperfinite signal
J.P. FRACHET, S. LAMPERIERE, J.M. FAURE
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N3, pp. 453-470, 1997
GRAFCET: from theory to implementation
E. BIEREL, O. DOUCHIN, P. LHOSTE
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N3, pp. 543-559, 1997
Abstractions and heuristics for the validation of grafcet controlled systems
P. DE LOOR, J. ZAYTOON, G. VILLERMAIN-LECOLIER
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N3, pp. 561-580, 1997
Formal semantics for reactive GRAFCET
F. CASSEZ
JESA-AFCET/CNRS, Ed HERMES, Vol. 31-N3, pp. 581-603, 1997
N'attendez pas trop de la programmation en cei 1131-3 ...
J.F. PEYRUCAT
MESURES n690, pp. 65-68, 1996
Le systeme sacaloo et l'algorithme d'interpretation du GRAFCET
K. ABDERRAHIM, M. TAHAR BHIRI, M. KSOURI
JESA-AFCET/CNRS, Ed HERMES, Vol. 30-N9, pp. 1253-1272, 1996
Specification and design of logic controllers for automated manufacturing systems
J. ZAYTOON
Robotics and Computer Integrated Engineering, vol. 12, no. 4, P. 353-366, 1996
Un modele pour la specification, la conception et la validation des systemes de
controle/commande repartis : le modele ACSY-R
V. CHAPURLAT, F. PRUNET
JESA-AFCET/CNRS, Ed HERMES, Vol. 30-N1, pp. 25-62, 1996
48
1.5.
A lo largo de todo este trabajo se emplean constantemente las RdP como una
herramienta para el modelado y el diseo de automatizaciones. Si bien poseen una
extensa base terica que las avala en todos los campos en los que son empleadas, entre
ellos la automatizacin industrial, y es considerable la produccin cientfica que se
produce en torno suyo, en este caso sern empleadas como herramientas para la
investigacin sobre los procesos industriales automticos, no como el objeto de la
investigacin.
An as se ha considerado interesante incluir las definiciones ms interesantes, una
clasificacin de los tipos y las herramientas comerciales que pueden encontrarse para
cada tipo, para poder recurrir a estos apartados o a sus referencias en cualquier
momento en que se necesite.
1.5.1. Definiciones
Uno de los trminos principales en este trabajo es el de autmata programable. La
definicin de autmata segn el diccionario de la Real Academia Espaola es:
Del latn automata, y ste del griego atmatoj, espontneo.
1. [m.] Instrumento o aparato que encierra dentro de s el mecanismo que le
imprime determinados movimientos.
2. [m.] Mquina que imita la figura y los movimientos de un ser animado.
Y la definicin de programar, en sus acepciones 2, 3 y 5 es:
2. [tr.]Idear y ordenar las acciones necesarias para realizar un proyecto. . t. c.
prnl.
3. [tr.]Preparar ciertas mquinas por anticipado para que empiecen a funcionar
en el momento previsto.
5. [tr.]Inform. Elaborar programas para los ordenadores
De ambas definiciones se obtiene una idea aproximada de lo que es un autmata
programable: es un dispositivo lgico en el que se puede programar la respuesta de las
salidas en funcin de la secuencia de entradas que se ha recibido (o en funcin de las
entradas que se est recibiendo y del estado interno). Su traduccin al ingls es
Programmable Logic Device (PLC), dispositivo lgico programable, que da una idea de
la definicin que se acaba de dar.
Pero autmata tambin se puede definir desde un punto de vista matemtico. En ese
caso su definicin es:
Autmata es un sistema discreto tal que:
Recibe un nmero finito de smbolos. El conjunto de los smbolos que
recibe se denomina alfabeto de entrada, E.
Emite un nmero finito de smbolos. El conjunto de los smbolos que
emite se denomina alfabeto de salida, S.
Si el autmata es tal que el conjunto de los estados, Q, es finito, se dice que el
autmata es de estados finito o simplemente, que es un autmata finito.
49
50
Un GR es un grafo en el que la condicin lgica que provoca una transicin entre dos
estados es cualquier funcin lgica de las entradas. Un GR permite modelar autmatas
finitos (AF).
Una red de Petri es un grafo orientado en el que intervienen dos clases de nudos, los
lugares (representados por circunferencias) y las transiciones (representadas por
pequeos segmentos rectilneos), unidos alternativamente por arcos. Un arco une un
lugar con una transicin, o viceversa, pero nunca puede unir dos transiciones o dos
lugares. Un lugar puede contener un nmero positivo o nulo de marcas. Una marca es
representada por un punto en el interior del crculo que representa al lugar. El conjunto
de marcas asociadas a cada uno de los lugares en un instante dado constituye lo que se
denomina un marcado de la RdP.
Para describir funcionalmente los sistemas concurrentes, a los lugares se les asocian
acciones o salidas del sistema que se desea modelar, y a las transiciones se les asocian
los eventos (funciones lgicas de las variables de entrada del sistema) y acciones o
salidas.
El disparo de una transicin supone quitar un cierto nmero de marcas a cada uno de los
lugares de entrada y aadir otro cierto nmero de marcas a cada uno de los lugares de
salida.
En un grafo reducido un sistema se representa mediante el conjunto de estados totales
en los que tal sistema se pueda encontrar. En una RdP el estado est representado por el
marcado. Como el marcado puede contener varios lugares marcados simultneamente,
el estado est definido por un conjunto de subestados (estados locales o parciales) del
sistema. De la anterior consideracin, se deduce que una RdP est mejor adaptada que
los GR para la descripcin de evoluciones simultneas.
Un lugar con varios arcos de entrada y/o de salida se denomina nudo O. Un grafo
reducido est formado a base de nudos O. Existen dos casos particulares de nudos O.
La seleccin (un arco de entrada y varios de salida).
La atribucin (varios arcos de entrada y uno de salida).
Una transicin con varios arcos de entrada y/o salida se denomina nudo Y. Ha de
observarse que estos nudos no existen en los grafos reducidos. Tales nudos Y son los
que permiten la creacin y extincin de las evoluciones simultneas. Dos casos
particulares de nudos Y son:
La distribucin (un arco de entrada y varios de salida).
La conjuncin (varios arcos de entrada y uno de salida).
A una RdP que no contenga nudos Y se la denomina mquina o grafo de estados. Vase
como, segn la interpretacin dada, esta definicin no coincide con la de grafo reducido,
ya que en un grafo de estado podemos tener simultneamente varias marcas. Para que
un grafo de estados coincida con un grado reducido es necesario que su marcado se
limite a una sola marca.
51
Se dice que una transicin es viva, para un marcado Mo, cuando para todo marcado M
alcanzable a partir del marcado inicial Mo existe un marcado M sucesor de M a partir
del cual puede dispararse esa transicin. Una RdP es viva, para un marcado dado,
cuando todas sus transiciones son vivas para ese marcado.
A partir de un marcado inicial dado, una RdP es binaria cuando cualquier marcado
alcanzable es tal que ningn lugar posee ms de una marca. En una RdP binaria
cualquier lugar estar marcado con una marca o no estar marcado.
Para transformar una RdP en un GR la idea bsica consiste en obtener todos los
marcados posibles y las transiciones entre stos.
Una red de Petri generalizada es una cudrupla R = P,T , , tal que
P es un conjunto finito y no vaco de lugares.
T es un conjunto finito y no vacio de transiciones.
P T = ; es decir, lugares y transicin son conjuntos disjuntos.
. : PxT es la funcin de incidencia previa.
. : PxT es la funcin de incidencia posterior.
Grficamente una RdP se representa por un grafo bipartido orientado. Los lugares se
representan por circunferencias y las transiciones por barras. Existe un arco que va del
lugar pi a la transicin tj sii ( pi , tj ) 0 . Anlogamente, existe un arco que va desde la
transicin tk al lugar pi sii (tk , pi ) 0 . Cada arco se etiqueta con un entero natural,
( p, t ) (t , p ) , denominado peso de arco. Como convencin se admite que un arco
no etiquetado posee un peso unitario. A efectos de claridad y legibilidad, los arcos con
peso mayor que la unidad se dibujan usualmente con dos o ms trazos paralelos. o con
un trazo grueso.
Matricialmente una RdP se representa mediante de dos matrices. Sea P = n (nmero
de lugares de la red) y sea T = m (nmero de transiciones de la red). Se denomina
Una red es ordinaria cuando sus funciones de incidencia slo pueden tomar los valores
0 y 1.
( p, t ) {0,1}
(t , p ) {0,1}
Una red es pura cuando ninguna transicin contiene un lugar que sea simultneamente
de entrada y de salida:
t j T
p i P ( p i , t j ) ( t j , p i ) = 0
52
t = {p P ( p, t )}> 0
c)
p = {t T (t , p )}> 0
PP
T T.
M ( p ) ( p, t ).
M j ( p ) = M i ( p ) + (t, p ) - ( p, t ) p P
53
Mk = M$ +C
= M o + C
j =1
donde M $ M K .
1) M K = M K 1 + C U K
2) M $ M K M K = M $ + C
54
es decir, tal que en ella cualquier transicin tiene un lugar de entrada y uno de salida.
Un grafo de estados no posee nudos Y.
Un grafo marcado (GM ) o grafo de sincronizacin es una RdP tal que:
p P p = 1 y p = 1 ,
de modo que en ella cualquier lugar tiene como mximo una transicin de entrada y una
transicin de salida. Un grafo marcado no posee nudos O.
Una RdP libre eleccin (RLE) es una red tal que:
p P, si p = 1 , entonces t K p , t K = 1 ,
es decir, si dos transiciones ti y t j tienen un lugar de entrada p en comn, se deduce que
p es el nico lugar de entrada de ti y de t j .
Una red de Petri simple (RS) es una RdP en la que toda transicin tiene como mximo
un lugar de entrada compartido con otras transiciones.
La primera extensin de las RdP ordinarias (RdP) son las RdP generalizadas (RdPG).
Con respecto a las redes ordinarias, las RdPG son RdP mejoradas introduciendo el
concepto de peso de un arco. La RdPG es tal que el peso de los arcos que van de la
transicin a a p2 y de p3 a a es k: (a, p2 ) = (p 3 , a ) = k .
Una red de Petri con capacidad limitada (RdPC) es una quntupla P, T , , , , donde
R= P, T , , , , es una RdPG y es una funcin que asocia a cada lugar su capacidad;
es decir, su valor indica el mximo nmero de marcas que puede contener
( : P {}). ( p ) es la capacidad del lugar p.
Teniendo en cuenta que el disparo de una transicin t conduce del marcado M i al
marcado M j definido por:
M i ( p ) = M i ( p ) + (t , p ) ( p, t ) p P,
resulta que el marcado de una RdPC evoluciona de acuerdo con la siguiente regla de
sensibilizacin de transiciones: una transicin t est sensibilizada cuando:
p t
M ( p ) + (t , p) ( p, t ) ( p). p t
M ( p ) ( p,t ).
( p, t ) = (t , p ) y (t , p ) = ( p, t )
t T ( p, t ) = (t , p ) y (t , p) = ( p, t ) ,
es decir, el disparo de cualquier transicin de la red quita o aade tantas marcas de p
como aade o quita de p .
t T
Una red de Petri con arcos inhibidores (RdPAI) es una red a la que se aaden unos arcos
que slo parten de lugares y van a transiciones, denominados arcos inhibidores, I(p,t).
La regla de disparo de una transicin en una RdPAI exige que estn desmarcados todos
los lugares que se encuentren unidos a la transicin mediante un arco inhibidor. Desde
55
desde un punto de vista grfico, un arco inhibidor se distingue de un arco normal por
una pequea circunferencia situada en el extremo que incide sobre la transicin.
Las redes de Petri coloreadas se introducen a fin de condensar la descripcin (y el
anlisis) de sistemas en los que se identifican diversos subsistemas con estructura, y
comportamientos similares, pero que trabajan en paralelo.
Una RdP temporizada (RdPT) es un par R, Z tal que R= P,T , , y Z es una funcin
que asigna un nmero real no negativo, zi , a cada transicin de la red: Z: T R +
zi =Z(t) es llamado tiempo de disparo de la transicin t
La regla de evolucin del marcado es idntica a la de una RdPG, con la nica diferencia
de que el disparo de t dura zi unidades de tiempo.
Una RdPT es un par R, Z tal que R= P,T , , y Z es una funcin que asigna un
nmero real no negativo, zi , a cada lugar de la red:
Z: P R + .
Una marca en una RdPT puede encontrarse en dos estados: dispuesta o indispuesta. Las
reglas de evolucin del marcado son idnticas a las de las RdP cuando las marcas estn
dispuestas. Si las marcas estn indispuestas, es como si no existieran en lo que se refiere
a la evolucin de la red. Al pasar a un lugar una marca, entra en estado indispuesto y
pasa a estado dispuesto despus de zi =Z( pi ) unidades de tiempo. Esta clase de modelos
se usualmente empleado para la evaluacin de prestaciones.
Un lugar pi est implcito en la red marcada
alcanzable se verifica que:
M (p ) +
n
1) M( pi )=
j Q+ , Q
j =i
i j
p j P {pi } M ( p j ) (p j , t K ) M ( pi ) ( pi , tk ).
2) p j P {p i } M ( p j ) ( p j , t k ) M ( p i ) ( p i , t k )
Todo conjunto de lugares
implicantes de p i .
Propiedad de vivacidad. Se dice que una transicin t es viva, para un marcado inicial
dado M 0 , sii existe una secuencia de disparos a partir de cualquier marcado M, sucesor
de M 0 , que comprenda a t:
Una RdP marcada es viva para M 0 sii todas sus transiciones son vivas para M 0 .
La importancia de la propiedad de vivacidad estriba en su capacidad para caracterizar el
bloqueo de un sistema. En efecto, si una RdP es viva, el sistema no puede bloquearse,
ya que que todas las transiciones pueden llegar a dispararse. Evidentemente, la
56
proposicin contraria no es cierta. Tambin puede suceder que una RdP marcada no
viva no se bloquee. Para caracterizar esta ltima situacin se define la nocin de RdP
marcada parcialmente viva.
Se dice que una RdP marcada es parcialmente viva para M 0 si, tomando como punto de
partida cualquier marcado alcanzable a partir de M 0 , existe al menos una transicin
disparable y otra transicin no viva.
Toda RdP marcada parcialmente viva, tiene la posibilidad de evolucin global,
independientemente de que existan transiciones que no puedan ser disparadas.
Una RdP es estructuralmente viva si existe un M 0 finito para el cual la RdP marcada es
viva.
Se dice que una RdP posee un comportamiento globalmente cclico para M 0 cuando
existe una secuencia de disparos que permite alcanzar el marcado inicial M 0 a partir de
cualquier marcado M alcanzable a partir de M 0 :
M M (R, M 0 ) ,
tal que M M 0 .
57
{ } { }
A su vez, una trampa es un subconjunto de lugares de una RdP tal que el conjunto de
sus transiciones de salida est contenido en el conjunto de sus transiciones de entrada.
Consideramos que R, P es una trampa sii . En las definiciones de cerrojos y
trampas, slo se considera la estructura de la RdP, hacindose abstraccin del marcado
inicial.
58
1.5.2. Clasificacin
Clasificacin de las Redes de Petri (RdP)
Nivel 1
Redes de Petri caracterizadas por lugares que pueden representar valores booleanos, i.e.,
un lugar est ocupado por al menos una marca.
Sistemas Condicin/Evento (C/E)
Sistemas de Redes Elementales (EN)
Sistemas 1-safe
Mquinas de Estado (SM)
Nivel 2
Redes de Petri caracterizadas por Lugares que pueden representar valores enteros, i.e.,
un lugar es marcado por un nmero de marcas.
Redes Lugar/Transicin (P/T)
(Ordinarias) Redes de Petri (RdP)
Sistemas de Redes 1-safe
Redes de Libre Eleccin
Sistemas S
Mquinas de Estado (SM)
Sistemas T
Grafos Marcados (MG)
Estructuras de Extensiones Libre Eleccin
Nivel 3
Redes de Petri caracterizadas por Lugares que pueden representar valores de altas
prestaciones, i.e., un lugar est marcado por un conjunto mltiple de marcas
estructurales.
Redes de Petri de Altas Prestaciones con Tipos de Datos Abstractos (HL+ADT)
Redes de Petri Algebraicas (ALG)
Redes OBJSA
Redes de Relacin con el Entorno (ER)
Redes de Produccin (Prod)
Redes Bien Formadas (Coloreadas) (WN)
Redes Regulares (RN)
Redes de Petri Tradicionales de Altas Prestaciones
Redes Predicado/Transicin
Redes de Petri Coloreadas
Redes de Petri Continuas e Hbridas
Redes de Petri Continuas
Redes de Petri Hbridas
59
60
(ii)
uc
(iii) uc=
c[uc denota la relacin elemental transitoria en P(B)xP(E)xP(B) definida como sigue:
c[uc = {(c, u, c)c[u and c = (c-u)u}
El estado espacio (conjunto de casos CN) de N es generado por un caso inicial Cin y la
regla de transicin:
CN es el menor subconjunto de P (B) que satisface:
(i)
CinCN
(ii)
si c CN , uE y c B tal que c [uc entonces cCN
Propiedades
Transiciones con condiciones indirectas no estn permitidas (muertas).
Referencias: [4]; [5]; [1].
MQUINA DE ESTADO
Definicin
De acuerdo con [6], una Mquina de Estado es una Red de Petri donde cada transicin
tiene slo un lugar de entrada y un lugar de salida:
Referencias: [6]; [7]
61
62
sS: K(s) = y fF: W(f)=l, denotado por = (S, T; F, Mo) es conocido como
Redes de Petri (ordinarias).
Regla de Transicin
Una transicin t es permitida bajo un cierto marcado M (M[t) sii
st: M(s)>0
Si ocurre t cambia el marcado M a un nuevo marcado M
(M[tM ) tal que:
sS
M(s) -1 si (st) (st)
M (s) = M(s) +1 si (st) (st)
M(s)
si no
Herramientas: ANARCO, INA, MetaDesign, NETMAN, PAPETRI, PN^3-EDITOR,
XPETRI.
Referencias: [1]; [3]
63
SISTEMAS S
Definicin
(de acuerdo con [5])
=(S, T; F, Mo) es un Sistema S sii su red subyacente es una red S, i.e.
tT:t1 t1
GRAFOS MARCADOS
Definicin
Un Grafo Marcado es puramente un Sistema de Red de Petri (ordinaria) donde cada
lugar tiene slo una transicin de entrada y una transicin de salida:
sS: s=s =1
Herramientas: PESIM
Referencias: [15]
64
65
REDES ALGEBRAICAS
Esquemas de Redes Algebraicas
Un esquema de red algebraica es un par consistente en una especificacin algebraica y
una red con lugares tipificados, con transiciones que tiene predicado (un conjunto de
ecuaciones) y con arcos marcados con trminos sobre la especificacin.
Un esquema de red algebraica consiste en una red coloreada bsica donde colores y
reglas de disparo son representados por la interpretacin de trminos sobre las
especificaciones algebraicas dadas.
Definicin
(de acuerdo con [16])
Un esquema de red algebraica es un ctuplo N=(SPEC,X,P,T,Pre,Post,eqns,sort) donde:
1. SPEC=(SO,OP,EQ) es una especificacin algebraica de tipos de datos abstractos
2. X es una familia de variables tipo SO
3. P y T son conjuntos de lugares y transiciones
4. Pre y Post son funciones que asignan a un conjunto de trminos con variables
para cada par lugar/transicin
5. eqns es una funcin que asocia con cada transicin un conjunto de ecuaciones
6. sort es una funcin que asigna a cada lugar un tipo SO
Redes Algebraicas de Altas Prestaciones
Redes Algebraicas de altas prestaciones son parejas (esquema de red algebraica,
lgebra).
Definicin
Una red algebraica de altas prestaciones (AHL net) es un duplo (N,A) donde N es un
esquema de red algebraica y A es un lgebra SPEC.
Regla de Transicin
La semntica de una red algebraica de altas prestaciones es aquella de redes coloreadas
asociadas donde los trminos y las ecuaciones son interpretados en el lgebra dada.
Herramientas: PAPETRI, SANDS-COOPN.
Referencias: [17]; [18]; [19]; [16]
67
Este suceso remueve los marcados envolventes de los lugares de entrada y suma a cada
lugar de salida los marcados obtenidos de acuerdo con los etiquetados de los arcos de
las transiciones de salida, bajo la misma asociacin
Herramientas: ONE.
Referencias: [23]; [22]
REDES ER
Redes Entorno/Relacin (ER) son redes de Petri de altas prestaciones donde los
marcados son desarrollados, i.e. funciones asociando valores a variables.
Definicin
(de acuerdo con [24])
Una Red ER es una Red de Petri donde
1) Los marcados son desarrollados en ID (conjunto de identificadores) y V
(conjunto de valores), i.e. (posibilidad vaca) funciones: IDV
Deja ENV = VID ser el conjunto de todo entorno .
2) Cada transicin est asociada con una accin. Una accin es una relacin
(t)ENVK(t) x ENVh(t) donde K(t) =ty h (t) =t
La proyeccin de (t) en ENVK(t) es denotada por (t) y es llamada el predicado de
la transicin t.
3) Un marcado m es una asignacin de conjuntos mltiples de entornos con lugares.
Regla de transicin
Una transicin t est permitida en un marcado m sii
para cada lugar de entrada pi de t existe al menos un marcado en vi tal que
(env1, ..., envK(t)(t)
(env1, ..., envK(t) es denominado el tuplo permitido para la transicin t.
Un disparo es un triple x = (enab, t, prod tal que (enab, prod(t)
enab es denominada la tuple entrada, mientras prod es denominada la tuple salida.
La ocurrencia del disparo (enab, t, prod en el marcado m consiste en la
produccin de nuevos marcados m para la red, obtenidos del marcado m por el
movimiento permitido del tuple enab de los lugares de entrada de la transicin t
y almacenado del tuple prod en los lugares de salida de la transicin t.
Dando un marcado inicial m0, una secuencia de disparos s es una secuencia
finita (enab1,1,,prod1,.......,enabn,n,prodn) tal que la transicin t1 es permitida en
el marcado m0 por el tuple enab1, cada transicin ti, 2 i n est permitida en el
marcado mi-l producido por el disparo (enabi-l, i-l, prod i-l y su disparo produce el
marcado mi.
Herramientas: CABERNET.
Referencias: [24]
68
REDES PRODUCTO
Las redes Producto resultan del aumento de las Redes de Petri con los arcos inhibidores
y los arcos de borrado con las etiquetas de arco, inscripciones de transiciones y
marcados individuales.
Definicin
Una Red Producto consiste en
1. un prembulo en el que los conjuntos usados y las funciones son definidos
2. una red sin etiquetado con un conjunto de lugares S, un conjunto de transiciones
T y un conjunto de arcos comprendiendo arcos inhibidores y arcos de borrado
3. un etiquetado con
etiquetas de arco para cada arco, que son n-tuples de trminos, las cuales
pueden ser precedidas por multiplicidades
inscripciones de transicin (opcional), que son predicados en las
variables destino de la transicin
dominios de lugares (define el marcado que puede ser presentado en los
lugares), que son producto de los conjuntos o subconjuntos de productos
Marcado
Un Marcado M de las Redes Productos es una familia de mapeados, cada uno colocando
(uno o ms) elementos especficos del dominio apropiado a cada lugar de la red.
Interpretacin
Una interpretacin es la asignacin a cada variable x del valor del rango especificado de
valores.
Una interpretacin permisible de las variables destino de la transicin t es una
interpretacin que satisface:
1. A las variables destino se les asigna slo nmeros naturales o esos valores que
son elementos del conjunto definido en el prembulo.
2. Las interpretaciones de las variables de destino de la transicin t son extensibles
a todos los trminos que aparecen en las etiquetas de los arcos de entrada y
salida y, posiblemente, en las inscripciones de las transiciones.
3. La extensin de la interpretacin sobre las etiquetas de los arcos de entrada y
salida debe resultar en el marcado acorde con el dominio de los lugares
respectivos
Cada interpretacin permisible de las variables de destino de las transiciones son
asignadas a un marcado umbral que es definido a travs de la extensin de la
interpretacin en las etiquetas de los arcos de entrada.
Regla de Transicin
Una transicin t est permitida bajo un marcado M y es una interpretacin permisible de
una variable destino si sostiene lo siguiente:
En los lugares de entrada de t debe haber al menos los marcados del marcado
umbral.
La inscripcin de la transicin si presenta- debe ser verdad bajo la
interpretacin dada.
Ningn marcado del respectivo conjunto inhibidor puede residir en el lugar
inhibidor de t.
Si ocurre la transicin t genera el marcado sucesor que puede ser descrito en tres pasos:
1. El marcado de los lugares de entrada est reducido al marcado que es descrito
por la extensin de la interpretacin de t sobre las etiquetas de sus respectivos
arcos de entrada; i.e., el marcado es decrementado por el marcado umbral.
69
2. Todos los marcados que son elementos de los respectivos arcos de borrado, estn
sacados de los lugares de borrado.
3. El marcado de los lugares de salida est incrementado por el marcado que es
descrito por la extensin de la interpretacin de t sobre los respectivos arcos de
salida.
Herramientas: Product Net Machine.
Referencias: [25]
70
REDES REGULARES
Una Red Regular (RN) es una Red de Petri Coloreada en la cual los dominios de color
de los lugares y transiciones son hechos por un Producto Cartesiano de clases de objetos
bsicos; cada clase aparece no ms que una vez en el producto.
Definicin
Una Red Regular RN={P, T, C, I, I+, m0 es definida por:
P el conjunto de lugares
T el conjunto de transiciones
C el conjunto de clases de objetos: C={C1,.......,Cn}, con Ci CJ =
I y I+ las matrices de entrada y salida definidas en P x T, cuyos elementos son
funciones coloreadas estndar definidas debajo.
m0 el marcado inicial, que debe ser simtrico, i.e. debe verificar la siguiente
propiedad:
pP, c, c C (p), m0(p,c) = m0(p,c)
donde m (p,c) denota el nmero de marcas de color c en p.
Una funcin estndar de color de una Red Regular ni=1 = ai.Si + bi .Xi : CxC
es definida por: ni=1 = ai.Si + bi .Xi((c1,....., cn).( c1,....., cn)) = ni=1 = ai.Si + bi
.Xi( ci .(c1,.....,cn))
con Xi:Ci xC tal que Xi(ci.(c1,...,cn)) = Id (ci,ci) un etiquetado de arco Xi
distinguiendo exactamente un objeto de clase Ci
Si: Ci x C tal que Si (ci.(c1,...,cn)) =1 un etiquetado de arco Si significa que todo
objeto de clase Ci juega una parte similar
Las dos funciones estn combinadas por:
ai.Si + bi.Xi : CixC tal que
ai.Si + bi.Xi(ci.(c1,...,cn)) = (if ci = ci then (ai+bi) else ai)
Referencias: Una categora regular de Redes de Petri de otro nivel: Definicin,
propiedades y reducciones.
71
72
1.5.3. Herramientas
A continuacin veremos una tabla con el resumen de las principales herramientas que se
pueden encontrar para el tratamiento de las RdP as como un resumen de sus
caractersticas principales. De nuevo no se pretende clasificar las herramientas
existentes, ni siquiera enumerar todas las existentes. El objetivo vuelve a ser
proporcionar una visin global de algunas de las herramientas disponibles y de sus
caractersticas.
73
HerraDescripcin
mienta
ALPHA/Si ALPHA/Sim
es
una
m
herramienta de simulacin
de eventos discretos de
propsito general basada
en el paradigma de las
Redes de Petri
ANARCO ANARCO (ANAlisador
de Redes de Petri
COloreadas)
es
una
herramienta
para
el
anlisis de Redes de Petri
y
Redes
de
Petri
Coloreadas.
Plataforma (entorno)
Funcionalidades
Notas/ Disponibilidad
POLTICA: Precio especial para
Universidades
PC/DOS
CABERNE CABERNET
es un
T
software del entorno de la
ingeniera
para
la
especificacin y anlisis
en sistemas de tiempo real
basados en Redes de Petri
para datos, predicados,
acciones, e informacin
temporal.
CAPSNET REDES
C.A.P.s MS-DOS
(Computer Aided Petri
NET Simulator) es una
herramienta de simulacin
para Redes de Petri.
COMBAG
Unix
CPN/AMI
POLTICA:
disponible a
annimos
Redes
Predicado/Transicin
herramienta
travs de ftp
74
EXSPECT La
herramienta SunOS o SOLARIS en Redes
de
Petri
EXecutable SPECification SPARC o Intel x86
Coloreadas jerrquicas
es un marco de trabajo
con tiempo, retrasos de
para
especificaciones
tiempo asociados con
formales ejecutables de
marcas.
sistemas
distribuido
Cada marca tiene un
basada en un lenguaje
valor y un tiempo:
funcional.
tiempo de sistema en su
produccin y retraso de
tiempo
(determinado
75
FORSEE
GRAF
FORSEE
(FORmal Estacin de
Systems
Engineering Sun con Unix
Environment)
contiene
una
coleccin
de
herramientas que provee
de
asistencia
base
computerizada
en
el
comportamiento
de
sistemas concurrentes.
GRAF es una etapa MS-DOS
general e integrada para la
edicin y simulacin de
Redes
de
Petri
jerrquicas.
HYPERNE Hypernet
es
una Macintosh
T CE
aplicacin, realizada con
MetaDesign, que permite
el modelado y el anlisis
de sistemas complejos.
INA
INCOME
por
la
transicin)
denotando el menor
tiempo
que
puede
consumir.
Trabajo Redes
de
Petri El entorno consiste en tres componentes:
Coloreadas,
Redes Paquete de Editado y Simulacin Design/CPN
Lugar/Transicin.
Herramientas de verificacin TORAS
Herramienta de implementacin automtica PROMPT
POLTICA: en la solicitud
Redes
Condicin/Evento
POLTICA: en la solicitud
EDITOR grfico
SIMULACIN
ANLISIS (rbol e Invariantes alcanzabilidades) para la verificacin de propiedades de red
como pureza, simplicidad, viveza, seguridad
La descripcin grfica de redes puede transformarse en un prlogo de clausulas y exportarse a
otras aplicaciones
INA (Integrated
Net MS-DOS, Sun-Unix
Redes Lugar/Transicin EDITOR textual
Analyser)
es
una
(P/T) y Redes de Petri Del mismo modo simulacin
herramienta
para
el
coloreadas (CPN) con ANLISIS:
anlisis de Redes de Petri.
tiempo y prioridades.
Anlisis de propiedades estructurales como viveza, seguridad, cubrimiento, conservacionismo,
cerrojos y trampas, chequeos de la descomposicin de mquinas de estado si la red es una Red
de Petri Ordinaria, Libre Eleccin, Mquina de Estado o un Grafo Marcado
Computacin de la grfica de alcanzabilidad
Reduciones simtricas
Desarrollo de Redes de Petri Coloreadas
INCOME se crea como MS-DOS,
MS Redes
EDITOR grfico
un mtodo versatil y una Windows,
Sun Predicado/Transicin
SIMULACIN DE ANIMACIN GRFICA
serie de herramientas de (Solaris), HP9000, IBM
Modelos creados con INCOME pueden ser reusados en proyectos CASO (Oracle CASE and
orientacin al usuario, RS/6000;
requiere
Oracle Designer/2000)
para
modelado, Oracle
El DICCIONARIO sirve como una reposicin para toda informacin del proyecto. Est
simulacin
e
implementado como una base de datos Oracle7 y soportes distribuidos de etapas como
implementacin
de
Cliente/Servidor o Cliente/Agente/Servidor.
procesos empresariales.
El MODELADO DE PROCESOS es usado para la captura, documentacin y evaluacin de
procesos empresariales.
un
76
LOOPN
MERLOT
SIMULADOR: Las ms importantes componentes del Simulador son: el KERNEL que realiza
simulaciones de los modelos, el ANIMADOR que genera visualizaciones orientadas al usuario
del comportamiento dinmico; y el ANALIZADOR que puede evaluar simulaciones de
diferentes formas.
INCOME MOBILE proporciona el uso con toda la funcionalidad del modelado del Proceso de
Modelado pero no necesita la base de datos Oracle7.
Redes de Petri Objeto Simulacin
POLTICA:
jerrquicas
disponible a
Generacin de cdigo C
annimos
Caractersticas de Objetos orientados
Redes TB
Herramienta
travs de ftp
METADE
SIGN
Redes de Petri
extensiones
MOBY
Redes
Condicin/Evento,
Lugar/Transicin
y
Objeto
(Redes
temporizadas
jerrquicas de altas
prestaciones
con
POLTICA:
EDITOR grfico
disponible a
SIMULADOR paso a paso y automtico
ANLISIS de las siguientes propiedades estructurales: viveza, seguridad, alcanzabilidad, annimos
cobertura e invariantes
herramienta
travs de ftp
77
NETOBJ
ONE
Macintosh
Sun4
DesignML
Interpreter)
PAPETRI
PENECA
PNC
PENECA
es
una MS-DOS
Herramienta
de
Simulacin de Redes de
Petri para el aprendizaje
Redes
de
Comunicadas.
(requiere Sistemas
Lugar
/Transicin, Redes de
Petri ordinarias, Redes
de Petri Coloreadas,
Redes Algebraicas
Mdulos de la herramienta:
ONESyst permite al usuario dar una especificacin alta-baja del sistema.
ONEGen sostiene la produccin de las especificaciones ejecutables OBJSA proporcionando un
editor grfico de red y un soporte para el entorno de las especificaciones del marcado
algebraico.
ONERed soporta la Red transformacin NET, que transfiere la informacin contenidad en la
componente OBJSA(N,SPEC) desde la red N hasta la especificacin algebraica asociada
SPEC, preservando su semntica.
ONEComp sostiene el mecanismo de composicin OBJSA
ONESim simula la especificacin usando ecuaciones OBJ como reglas de escritura.
ONEUnf realiza el desarrollo de una red OBJSA en una red 1-safe SA.
ONEInv calcula las invariantes S/T del desarrollo.
ONEVer genera la grfica caso del desarrollo.
ONEGSPN convierte Redes OBJSA en Redes de Petri Estocsticas Generalizadas.
EDITOR interactivo grfico (PETRIX)
SIMULADOR grfico
Construccin de la grfica de alcanzabilidad y cobertura que comprueba algunas propiedades
de red (viveza, terminacin...) y construccin de la grfica de cobertura mnima
Generacin de Invariantes S y T (COMBAG)
Anlisis usando tcnicas de reescritura (PETRIREVE): verifica la terminacin de la Red de
Petri para una clase inicial de marcados.
Anlisis y Simulacin de Redes Algebraicas (VAERA)
Composicin/Descomposicin de Redes
Reduccin de Redes
EDITOR grfico
SIMULACIN: animacin grfica
Generacin de cdigo C
POLTICA: gratis
POLTICA:
gratis
para
universidades a travs de ftp
annimos
78
PEP
PESIM
PN^3Editor
MS-DOS
Windows
MS Redes
de
Jerrquicas
Petri
EDITOR grfico
SIMULACIN
Verificacin de propiedades en trminos de frmula lgica temporal
El modelado puede realizarse con lenguaje de programacin B(PN)^2
PEP consiste en cinco diferentes tipos de componentes:
Editores para programas B(PN)^2 (lenguaje de programacin de altas prestaciones), programas
PBC (un lgebra de procesos llamada Petri Box Calculus), Redes de Petri, Simuladores de
frmulas y documentacin de proyectos para Redes de Petri
Algoritmos standard (como libre eleccin, sistema T, viveza, alcanzabilidad, reversibilidad)
Algoritmos de comprobacin de modelo para sistemas T y para Redes de Petri 1-safe, que
pueden determinar si una Redes de Petri satisface la propiedad dada en trminos de una
frmula lgica temporal
EDITOR grfico y de texto
SIMULACIN paso a paso
ANLISIS:
Construcin del rbol de Alcanzabilidad (para verificar viveza, seguridad, ...)
Invariantes S y T
Tcnica de Reduccin para Grafos Marcados
Anlisis de prestaciones de estado (probabilidades de estado, funcin de densidad de
probabilidad de marcados para cada lugar, promedio de nmero de marcas en cada conjunto de
lugares, ...)
EDITOR BSICO DE REDES DE PETRI: editor multi-ventana con todos los rasgos
necesarios para dibujar/editar y simular redes y sus estructuras jerrquicas
EDITOR ALGEBRAICO: construccin de redes complejas usando operaciones de red (red
atmica, composicin secuencial, pre y postfix, eleccin, componentes paralelas, iteracin,
recursividad)
NIVEL DE ARQUITECTURA: Este nivel es intentado para el diseo de sistemas complejos
de alto nivel de composicin y describe estructuras generales de sistemas, que pueden ser
detalladas en niveles de red.
EDITOR grfico
SIMULACIN/ANIMACIN con condiciones de puntos rotos
Redes
de
Petri EDITOR de texto
Coloreadas, Redes de SIMULACIN interactiva o estadstica
Petri Temporizadas con ANLISIS de alcanzabilidad: rbol de cobertura
POLTICA:
disponible a
annimos
herramienta
travs de ftp
herramienta
travs de ftp
79
arcos inhibidores
POSES++
PROD
TOOL
Product
Net
Machine
PROMPT
POSES++
es
una
simulacin y desarrollo
del modelado de modelos
de redes extremadamente
grandes (limitado slo por
el hardware) con reglas
derivadas del lenguaje de
programacin C.
Redes
de
Petri
Temporizadas C/E, P/T,
CPN, Pr/T, Transicin
Temporizada/Arco
y
Redes
de
Petri
Modulares, acceso por
cola para predicados,
expresiones booleanas y
temporizadas
para
arcos, prioridades y
paralelismo
para
transiciones
Redes
/Transicin
Redes de Petri
POLTICA: gratis para usos
acadmicos
POLTICA:
herramienta
disponible gratis bajo licencia a
travs de ftp annimos
Predicado Las Redes son descritas en el lenguaje preprocesador C extendido con directivas de
descripcin de redes (prpp)
ANLISIS:
Generacin de la grfica de alcanzabilidad
Depuracin de Redes Pr/T a Redes P/T
Un conjunto de Mtodos para reducir la generacin de estados de espacio (en el depurado)
Programa de cuestiones grficas (prueba)
Computacin de los componentes fuertes de conexin de la grfica
Lenguaje de cuestiones grficas CTL (Computation Tree Logic) para la inspeccin de estados
de espacio generados
Symbolic
-Lisp- Redes Producto
EDITOR grfico y de texto (cdigo LISP)
Machine (Genera)
SIMULACIN controlada del usuario en modo simple o multi paso
ANLISIS:
Computacin de la grfica de alcanzabilidad
REDUCCIN de la grfica de alcanzabilidad
Anlisis de cerrojos, caminos de conclusin
Referencias
disponibles
en
saturn.hut.f
POLTICA: libre de cargo a
travs de ftp annimos para PCpara Unix
SUN Workstation (con Redes de Petri de Altas PROMPT dispone de los siguientes componentes:
Unix + SunView o X- Prestaciones
Un compilador que traduce redes que han sido expresados en XNL (eXtended Net Language),
Windows), VAX/VMS
en cdigo C
(con Curses), MS-DOS
XDB, un depurador simblico de pantalla completa, que permite la depuracin de
caracterizarse en la especificacin de protocolo (expresado en XNL)
SCI (System Control Interface), un interface para redes de ejecucin de estudio y control
(SIMULACIN)
LFA (Log File Analyzer), una sola utilidad para la lectura y formato de archivos log creadas
POLTICA:
disponible a
annimos
herramienta
travs de ftp
80
PSITool
NET
QPN Tool
Unix
SunView)
SANDS for El
entorno
SANDS
COOPN
(Structured Algebraic Net
Development System) ha
sido desarrollado para
construir especificaciones
CO_OPN
(Concurrent
Object-Oriented
Petri
Nets).
SPNP
El Stochastic Petri Net
Editor (SPNP) es una
herramienta de Redes
Petri basada en un
formalismo como GSPN,
llamado RN Estocstica.
TORAS
TORAS
es
una
herramienta
para
el
anlisis de Redes de Petri
usando el anlisis de la
alcanzabilidad.
VISUAL
Visual Simnet es un
SIMNET
entorno para la simulacin
de sistemas, que son
describos por Redes de
Petri Estocsticas.
SUN
con Redes
Modulares
OpenWindows 3.0
Algebraicas
Unix
Estacin de
Sun con Unix
MS-DOS
RN Estocstica (SRN)
POLTICA: en la solicitud
TORAS es un componente de
FORSEE.
POLTICA:
todava
no
disponible, pero existe prototipo
Redes
de
Petri EDITOR de texto y grfico
POLTICA:
Temporizadas,
disponible a
SIMULACIN animada
Estocsticas
(con Anlisis de la grafica de alcanzabilidad
annimos
diferentes
Anlisis de caractersticas: tiempo de espera, longitud de cola, valor momentneo, valor
distribuciones),
principal,...
Coloreadas con colas, Filtro exportador para herramientas WINPETRI e INA
herramienta
travs de ftp
81
VOLTAIRE
WIN
PETRI
arcos
Redes
de
Petri SIMULACIN con verificacin de coherencia
Coloreadas jerrquicas ANLISIS cuantitativo
con arcos inhibidores y
extensiones estocsticas Caractersticas objeto orientado
Redes Lugar/Transicin
y
Redes
Condicin/Evento con
arcos inhibidores
POLTICA: en solicitud
POLTICA:
EDITOR grfico
disponible a
Simulacin paso a paso o automtica usando la regla de transicin
ANLISIS de la grfica de alcanzabilidad (lugares conflictivos, cerrojos, viveza, annimos
reversibilidad)
herramienta
travs de ftp
XPETRI
POLTICA:
disponible a
annimos
herramienta
travs de ftp
XSIMNET
Unix
XWindows)
POLTICA:
disponible a
annimos
herramienta
travs de ftp
EDITOR grfico
SIMULACIN
ANLISIS ESTRUCTURAL:
Invariantes S y T
Grfica de ocurrencia
Grfica de cobertura
Anlisis de caractersticas continuas
(requiere Red de Simuluacin Descripcin de redes en SNL (Simulation Net Language)
Extendida
SPN/CPN Interpretador para simulacin enfatizando el resultado final
con jerarquas
Transformaciones de Redes para el anlisis
Estadsticas finales
82
1.5.4. Referencias
[1] L. Bernardinello, F. De Cindio, A survey of Basic Net Models and Modular Net Classes, LNCS vol.
609, Springer Verlag, 1992
[2] H. J. Genrich, K. Lautenbach, P. S. Thiagarajan, Elements of general Net Theory, LNCS vol. 84,
Springer Verlag, 1980
[3] E. Best, C. Fernandez: Notations and Terminology on Petri Net Theory, Arbeitspapiere der GMD 195,
1986
[4] P. S. Thiagarajan, Elementary Net Systems, LNCS vol. 254, Springer Verlag, 1987
[5] G. Rozenberg, P. S. Thiagarajan, Petri Nets: Basic Notions, Structure, Behaviour, LNCS vol. 424,
Springer Verlag, 1986
[6] M. Hack, Analysis of production schemata by Petri Nets, TR-94, MIT, Boston, 1972
[7] F. De Cindio, G. De Michelis, L. Pomello, C. Simone, A. Stragapede, Le Reti di Automi Sovrapposti:
Una classe Modulare di Reti di Petri, ENEL-DSR-CRA, Milano, 1987
[8] M. Jantzen, R. Valk, Formal properties of Place/Transition Nets, LNCS vol. 84, Springer Verlag,
1981
[9] G. Winskel, Categories of Models for Concurrency, LNCS vol. 197, Springer Verlag, 1985
[10] R. Devillers, The semantics of capacities in P/T nets, LNCS vol. 424, Springer Verlag, 1990
[11] W. Reisig: On the semantics of Petri Nets, in: Neuhold, Chroust (eds.), Formal Models in
Programming, North Holland Publ. Company, IFIP, 1985
[12] W. Reisig, Place/Transition Systems, LNCS vol. 254, Springer Verlag, 1987
[13] K. Lautenbach, Linear Algebraic Techniques for Place-Transition Nets, LNCS vol. 254, Springer
Verlag, 1987
[14] E. Best, Structure Theory of Petri Nets: the Free Choice Hiatus, LNCS vol. 254, Springer Verlag,
1987
[15] F. Commoner, A. W. Holt, S. Even, A. Pneuli: Marked Directed Graphs. JCSS vol. 5, 1971
[16] C. Dimitrovici, U. Hummert, L. Petrucci, Semantics, Composition and Net Properties of Algebraic
High-level Nets, LNCS vol. 524, 1991
[17] J. Vautherin: Un modle algbrique, bas sur les rseaux de Petri, pour l'tude des systmes
parallles, Thse de doctorat d'ingnieur, Universit de Paris-Sud, 1985
[18] J. Vautherin: Parallel Systems Specifications with Colored Petri Nets and Algebraic Specifications,
LNCS vol. 266, 1987
[19] U. Hummert, Algebraische Theorie von High-Level-Netzen, Doktorarbeit, TU Berlin 1989
[20] K. Jensen, Coloured Petri Nets: A high-level Language for System Design and Analysis, LNCS vol.
483, Springer Verlag 1990
83
[21] K. Jensen, Coloured Petri Nets and the Invariant Method, Theoretical Computer Science vol. 14,
1981
[22] A. Chizzoni, CLOWN: CLass Orientation With Nets, Tesi di Laurea, DSI Milano, 1994
[23] E. Battiston, F. De Cindio, G. Mauri, OBJSA Nets: a class of High-Level Nets having Objects as
Domains, In: G. Rozenberg, Advances in Petri Nets 1988, LNCS vol. 340, Springer Verlag, 1988
[24] C. Ghezzi, D. Mandrioli, S. Morasca, M. Pezz, A unified High-Level Petri Net formalism for timecritical systems, IEEE Transactions on Software Engineering, February 1991
[25] H. J. Burkhardt, P. Ochsenschlger, R. Prinoth, Product Nets - A formal description technique for
cooperating systems, GMD - Studien Nr. 165, Sept. 1989
[26] G. Chiola, C. Dutheillet, G. Franceschinis, S. Haddad: Stochastic Well-Formed Coloured Nets and
Symmetric Modelling Applications. IEEE Transactions on Computers, Vol. 42, No. 11, 1993
[27] J.-M. Ili, O. Rojas, On Well-Formed Nets and Optimizations in enabling tests, LNCS vol. 691,
Springer Verlag, 1993
[28] G. Chiola, C. Dutheillet, G. Franceschinis, S. Haddad, On Well-Formed Coloured Nets and their
Symbolic Reachability Graph, 11th Int. Conf. on Applications and Theory of Petri Nets, Paris, France,
1990
[29] K. Jensen, G. Rozenberg, High-level Petri Nets - Theory and Application, Springer Verlag, 1991
[30] H. Alla, R. David: Continuous and Hybrid Petri Nets. Journal of Circuits, Systems and Computers,
vol 8 num. 1. World Scientific Publishing Company. 1998
[31] [4] Silva, M. (1985). Las Redes de Petri: en la automtica y la informtica. AC, D.L., Madrid.
[bau93] F. Bause, Queueing Petri Nets - A formalism for the combined qualitative and quantitative
analysis of Systems, 5th Int. Workshop of Petri Nets and Performance Models, Toulouse, France, Oct.
1993
[bb91] M. Baldassari, G. Bruno, PROTOB: An Object Oriented methodology for developing Discrete
Event Dynamic Systems, in: K. Jensen, G. Rozenberg (ed.s), High-Level Petri Nets. Theory and
Application, 1991
[bg92] D. Buchs, N. Guelfi: Distributed System Specification using CO-OPN. IEEE, 3rd Workshop on
Future Trends of Distributed Computing Systems, Taipei, April 1992
[bg93] D. Buchs, N. Guelfi, Formal development of actor programs using structured algebraic Petri Nets,
LNCS vol. 694, Springer Verlag, 1993
[bil91] J. Billington, FORSEEing Quality Telecommunications Software, Invited paper for the first
Australian Conference on Telecommunications Software (ACTS), Melbourne, April 1991
[bjp91] G. Berthelot, C. Johnen, L. Petrucci, PAPETRI: Environment for the Analysis of Petri Nets,
LNCS vol. 531, Springer Verlag, 1991
[bv95] G. Bucci, E. Vicario, Compositional Validation of Time-Critical Systems Using Communicating
Time Petri Nets, IEEE Transactions on Software Engineering, Dec. 1995
[bww88] J. Billington, G. R. Wheeler, M. C. Wilbur-Ham, PROTEAN: A High-Level PetriNet Tool for
the Specification and Verification of Communication Protocols, IEEE Trans. Software Eng. vol. 14 no. 3,
March 1988
[cba93] G. Conte, G. Balbo, M. Ajmone Marsan, G. Chiola, Generalized Stochastic Petri Nets: A
Definition at the Net Level and its Implications, IEEE Transactions on Software Engineering, Vol. 19,
1993
[cbc92] G. Ciardo, A. Blakemore, P. F. Chimento, J. K. Muppala, K. S. Trivedi: Automated Generation
and Analysis of Markov Reward Models using Stochastic Reward Nets, IMA Volumes in Mathematics
and its Applications, Vol. 48, Springer Verlag, 1992
[cj85] C. Choppy, C. Johnen, PETRIREVE: Proving Petri Net properties with rewriting systems, LNCS
vol. 202, Springer Verlag, 1985
[cm91] J. M. Couvreur, J. Martinez, Linear Invariants in Commutative High-Level Nets, in: K. Jensen, G.
Rozenberg (ed.s), High-Level Petri Nets. Theory and Application, 1991
[ctm89] G. Ciardo, K. S. Trivedi, J. Muppala, SPNP: stochastic Petri net package, Proc. 3rd Int.
Workshop on Petri Nets and Performance Models (PNPM89), IEEE Computer Society Press, 1989
[dan91] G. Degli Antoni, Communicanting Petri Nets, Rapporto interno n.86/91, DSI, Univ degli Studi
Milano, Novembre 1991
[dtg84] J. B. Dugan, K. S. Trivedi, R. M. Geist, V. M. Nicola, Extended Stochastic Petri Nets:
Applications and Analysis, Proc. PERFORMANCE '84, Paris, France, Dec. 1984
[eph92] E. Best, R. Pinder Hopkins, B(PN)^2 - a Basic Petri Net Programming Notation, Hildesheimer
Informatik-Bericht no. 27/92, Univ. Hildesheim, 1992
[es91] J. Esparza, M. Silva, Circuits, handles, bridges and nets, LNCS, vol. 483, Springer Verlag, 1991
[fel86] F. Feldbrugge, Petri Net Tools, LNCS vol. 222, Springer Verlag, 1986
[fj91] F. Feldbrugge, K. Jensen, Computer Tools for High-level Petri Nets, in: K. Jensen, G. Rozenberg
(ed.s), High-Level Petri Nets. Theory and Application, 1991
[fl93] H. Fleischhack, U. Lichtblau, MOBY - A tool for high-level Petri Nets with objects, Proc.
IEEE/SMC 93, Le Touquet, Vol. 4, 1993
[fls93] Hans Fleischhack, Ulrike Lichtblau, Michael Sonnenschein, Ralf Wieting, Generische Definition
{hierarchischer} {zeitbeschrifteter} {hherer} Petrinetze, Bericht der Arbeitsgruppe Informatik-Systeme
Nr. AIS-13, Fachbereich Informatik, Universitt Oldenburg, December 1993
[for86] I. R. Forman, petri - A Unix Tool for the analysis of Petri Nets, Proc.1986 Fall Joint Computer
Conf., 1986
[gl73] H. J. Genrich, K. Lautenbach: Synchronisationsgraphen. Acta Informatica vol. 2, 1973
[gl81] H. J. Genrich, K. Lautenbach, System Modelling with High-Level Petri Nets, Theoretical
Computer Science, vol. 13, 1981
[gl83] H. J. Genrich, K. Lautenbach, S-Invariance in Predecate-Transition Nets, in "Application and
Theory of Petri Nets", IFB66, Springer Verlag, 1983
85
[gm89] J. A. Goguen, J. Meseguer, Order-sorted algebra I: Equational deduction for multiple inheritance,
overloading, exceptions, and partial operations, Technical Report SRI-CSL-89-10, Computer Science
Lab, SRI International, July 1989
[grt95] B. Grahlmann, S. Rmer, T. Thielke, B. Graves, M. Damm, R. Riemann, L. Jenner, S. Melzer, A.
Gronewold, PEP: Programming Environment Based on Petri Nets, in Hildesheimer Informatik-Berichte
no. 14/95, Univ. Hildesheim, 1995
[hjs86] P. Huber, K. Jensen, R. M. Shapiro: Design/CPN extensions - Timed simulation, Colour set
restrictions and reporting facilities, Meta Software, version II, February 1986
[hol88] G. J. Holzmann: An improved protocol reachability analysis technique. Software Practice and
Experience, Vol. 18, No. 2, Febr. 1988
[hsv89] K. M. van Hee, L. J. Somers, M. Voorhoeve, Executable Specifications for Distributed
Information Systems, in E. D. Falkenberg, P. Lindgreen (eds.), Information System Concepts: an in-depth
analysis, North Holland, 1989
[hsv91] K. M. van Hee, L. J. Somers, M. Voorhoeve, The EXSpect Tool, LNCS vol. 551, 1991
[kb94] R. K. Keller, G. von Bochmann, Petri Net based business modelling and simulation with the
Macrotec environment, June 1994, Handout at tool presentation at the 15th International Conference on
Application and Theory of Petri Nets, Zaragoza, Spain
[kel95] C. Kelling, TimeNET-SIM - a parallel Simulator for Stochastic Petri Nets, Proc. 28th Annual
Simulation Symp., Phoenix, Arizona, USA, 1995
[kfl87] J. Kaltwasser, G. R. Friedrich, P. Leipner, B. Mller, T. Vieweg, Dialog-orientiertes graphisches
Petri-Netz-Entwicklungssystem (DIOGENES), Akademie der Wissenschaften der DDR, ZKIInformationen 4/87, Berlin,1987
[klo93] R. K. Keller, R. Lajoie, M. Ozkan, F. Saba, X. Shen, Tao Tao, G. von Bochmann, The Macrotec
toolset for CASE-based business modelling, Proc. of the 6th International Workshop on Computer-Aided
Software engineering, Singapore, July 1993
[lin92] C. Lindemann, DSPNexpress: A Software package for the efficient solution of deterministic and
stochastic Petri Nets, Proc. 6th International Conf. on Modelling Techniques and Tools for Computer
Performance Evaluation, Edinburgh, Great Britain, 1992
[lin93] C. Lindemann, Performance Modelling using DSPNExpress, LNCS vol. 729, Springer Verlag,
1993
[lin94] C. Lindemann, Stochastic Modeling using DSPNexpress, Oldenbourg Verlag, 1994
[lm91] C. Lin, D. C. Marinescu, Stochastic High-Level Petri Nets and Applications, in: K. Jensen, G.
Rozenberg (ed.s), High-Level Petri Nets. Theory and Application, 1991
[mb83a] M. Menasche, B. Berthomieu, An Enumerative Approach for Analysing Time Petri Nets,
Proceedings of the Information Processing 83, IFIP - Ninth World Congress, Paris, September 1983
[mb83b] M. Menasche, B. Berthomieu, Time Petri Nets for Analysing and Verifying Time Dependent
Protocols, Proceedings of the Third International Workshop on Protocol Specification, Testing and
Verification, Zurich, June 1983
[men85] M. Menasche, PAREDE: An Automated Tool for the Analysis of Time(d) Petri Nets,
Proceedings of the International Workshop on Timed Petri Nets, Torino, July 1985
[met94] S. Metge et al., SURF-2: outil d'evaluation de la sret de fonctionnement par chaines de Markov et
reseaux de Petri stochastiques. 9eme Colloque International de Fiabilite et de Maintenabilit et ESREL '94
(European Safety and Reliability Conference), Lau Baule, France, 1994
[mol86] M. K. Molloy, A CAD Tool for Stochastic Petri Nets, Proc. 1986 Fall Joint Computer Conf.,
1986
[ms93] J. F. Meyer, W. H. Sanders: Specification and construction of performability models, in Second
Int. Workshop on Performability Modelling of Computer and Communication Systems, Le Mont SaintMichel, France, June 1993
[mur89] T. Murata, Petri Nets: Properties, Analysis and Applications, Proc. IEEE vol. 77, no. 4, April
1989
[nat80] S. Natkin: Les Reseaux de Petri Stochastique et leur Application a l'Evaluation des Systmes
Informatique, Thse de Docteur Ingegneur, CNAM, Paris, France, 1980
[och91] P. Ochsenschlger, Die Produktnetzmaschine - Eine bersicht, Arbeitspapiere der GMD 505,
Jan. 1991
86
Pginas WEB
http://www.daimi.aau.dk/PetriNets
WELCOME TO THE WORLD OF PETRI NETS
http://diana.cps.unizar.es/banares/
PETRI NETS IN KNOWLEDGE BASED CONTROL. MODELS FOR
MANUFACTURING SYSTEMS SIMULATION
http://dreyer.dsic.upv.es/users/oom/reports.html
REPORTAJES TCNICOS sobre modelo OASIS que es de RdP orientadas a objetos
http://www.ac.upc.es/homes/marcoa/Papers/abstract_tesina.html
SNTESIS DE CIRCUITOS ASNCRONOS MEDIANTE LA TRADUCCIN DE
CIRCUITOS DE SINCRONIZACIN A REDES DE PETRI
http://www.informatik.hu-berlin.de/PNT/
CONCEPTION, THEORETICAL FOUNDATION AND VALIDATION OF AN
APPLIED PETRI NET TECHNOLOGY
http://www.informatik.hu-berlin.de/PNT/pnt-overview.html
PROJECT OVERVIEW DETAILED RESULTS OF NSE. Conception, theoretical
foundation and validation of an applied Petri Net Technology
http://www.informatik.hu-berlin.de/PNT/pnt-public.html
PROJECT PUBLICATIONS (Universidad de Berln)
http://www.informatik.hu-berlin.de/top/pnk/index-engl.html
ANLISIS Y SIMULACIN DE LAS REDES DE PETRI (PETRI NET KERNEL)
contiene software, publicaciones, aplicaciones, contactos y linca con otras direcciones..
http://www.informatik.hu-berlin.de/top/pnk/anwendungen-engl.html
APPLICATIONS. THE FOLLOWING APPLICATIONS BASED ON THE PETRI
NET KERNEL EXIST:
http://www.informatik.hu-berlin.de/top/pnk/literatur-engl.html
PUBLICATIONS
http://www.laas.fr/~robert/workshop.d/index.html
CONFERENCE ON APPLICATIONS AND THEORY OF PETRI NETS TOULOUSE,
JUNE 23, 1997
http://www.informatik.uni-hamburg.de/TGI/tools/tools_eng.html
RENEW IS A JAVA-BASED PETRI NET TOOL THAT WAS DEVELOPED HERE
AT HAMBURG.
http://ls4-www.informatik.unidortmund.de/QPN/QPN_article/qpn_final/qpn_final.html
QUEUEING PETRI NETS A FORMALISM FOR THE COMBINED QUALITATIVE
AND QUANTITATIVE ANALYSIS OF SYSTEMS
Enfoque desde un punto de vista matemtico de las Redes de Petri
http://sun195.iit.unict.it/~webspn/webspn2/website/other/paper.html
A WEB-ACCESSIBLE PETRI NET TOOL. Redes estocsticas
http://www.ee.umanitoba.ca/tech.archive
88
TECHNICAL
REPORTS
sobre
AUTOMATA,
COMPUTATIONAL
INTELLIGENCE, DATA AND SIGNAL COMPRESSION, FORMAL METHODS IN
SYSTEM
DESIGN,
FUZZY
SYSTEMS,
GENETIC
ALGORITHMS,
MATHEMATICS, MICROELECTRONICS AND SOFTWARE SYSTEMS, NEURAL
NETWORKS, PARALLEL PROCESSING, PETRI NETS, REAL-TIME SYSTEMS,
SPECIFICATION AND DESCRIPTION LANGUAGE (SDL)
http://www.ee.uwa.edu.au/~braunl/pns/
PNS - AN S/T PETRI-NET SIMULATION SYSTEM
http://www.informatik.uni-bremen.de/uniform/vm97/methods/m-pnet.htm
PETRI NETWORKS
http://www.cis.um.edu.mt/~jskl/petri.html
PETRI NETWORKS
Ideas bsicas sobre las redes de Petri, programa Psim para simularlas
http://www.cis.um.edu.mt/~jskl/simweb/index.html
SIMULATOR OF QUEUEING NETWORKS .
http://pdv.cs.tu-berlin.de/~azi/petri.html
PETRI NETS
http://www.daimi.au.dk/PetriNets/tools/complete_db.html
COMPLETE OVERVIEW OF PETRI NETS TOOLS DATABASE
Complete Overview of Petri Nets Tools Database
http://ls4-www.informatik.uni-dortmund.de/QPN/
QUEUEING PETRI NETS (QPNS)
http://www.cs.purdue.edu/homes/saw/cs406/lectures/11/petrinets-1.html
http://www.elet.polimi.it/Users/DEI/Sections/Compeng/Mauro.Pezze/Tutorials/PN
PM99/slides/index.htm
TIME PETRI NETS A PRIMER INTRODUCTION (Software engineering and petri
nets)
http://www.abo.fi/~atorn/Petri/PCont.html
Course material prepared by Aimo Trn in the Spring 1998 for a course on Petri Nets at
the Computer Science Department of bo Akademi University and TUCS Turku,
Finland
http://www.informatik.hu-berlin.de/PNT/Coll/index.html
COLLOQUIUM ON PETRI NET TECHNOLOGIES
http://www.cs.pitt.edu/~chang/365/2petri.html
PETRI-NET AND AUGMENTED-PETRI-NET
http://www.mech.kuleuven.ac.be/pma/project/complan/pnppm.html
PETRI NET PROCESS ; PLANNING MODULE
http://home.arcor-online.de/wolf.garbe/petrinets.html
TERMS FOR PETRI-NETS AS DEFINED IN THE LITERATURE: Direccin que
trata sobre los trminos bsicos conformados en las redes de Petri
http://www-src.lip6.fr/logiciels/framekit/cpn-ami2.rdp-arrange.html
PETRI NET BEAUTIFIER. Como se trabaja con Macintosh las redes de Petri
http://www.cse.unsw.edu.au/dblp/db/conf/ac/petri2.html
ADVANCED COURSE: PETRI NETS
http://everest.ento.vt.edu/~sharov/PopEcol/lec1/petrinet.html
89
http://www.abo.fi/fak/mnf/infbeh/software/simnet/
SIMNET, FOR EXECUTING SIMULATION NETS
http://www.amazon.de/exec/obidos/ASIN/3540582762/artvisitwww/028-28897984866159
COLOURED PETRI NETS. BASIC CONCEPTS, ANALYSIS METHODS AND
PRACTICAL USE.
http://www.brics.aau.dk/BRICS/RS/94/3/index.html
Lgica lineal en las RdP
http://206.67.72.201/catalog/np/dec98np/3-540-65306-6.html
LECTURES ON PETRI NETS I: BASIC MODELS
http://206.67.72.201/whatsnew.html
LECTURES ON PETRI NETS I: BASIC MODELS ADVANCES IN PETRI NETS
http://www.brics.dk/RS/95/39/index.html
PETRI NETS, TRACES, AND LOCAL MODEL CHECKING
http://cpe.gmu.edu/courses/ece545/lectures/545_13/sld024.htm
PETRI NETS EXAMPLES
http://www.gmd.de/SCAI/Projectpages/petrinet/petrinet.html
PETRI NETS AND COMPUTER ALGEBRA
http://www.cas.mcmaster.ca/~cs3sd3/cwnotes/mdlsl/sld058.htm
MODELING: CONCURRENCY AND CONTENTION (SIMULTANEOUS
RESOURCE USAGE) ANALYSIS: REACHABILITY TREE, CTMC ANALYSIS
http://vega.icu.ac.kr/~cyu/courses/perf98/note_petri/index.htm
PETRI NET (FROM "PETRI NETS" BY
J.L.PETERSON, ACM COMPUTING
SURVEYS,
http://www.csr.unibo.it/~lumini/pindar/petrinet.htm
PETRINET
http://taylor.ces.clemson.edu/ie340/files/340-16.htm
ARQUITECTURA DEL NIVEL DE RED
http://www.msel.naoe.t.utokyo.ac.jp/staffs/aoyama/Class/Info_system/No3/sld036.htm
http://rutcor.rutgers.edu/~pinzon/papers/rrr1/node38.html
USING PETRI NETS
http://user.cs.tu-berlin.de/~gebert/Simulation/petrinete.html
INTRODUCTION TO PETRI NETS (Stochastic Petri-Nets)
http://www.ele.puc-rio.br/~menasche/petri/petridef.htm
A Short Introduction to Petri Nets
http://www.ship.edu/~jlsieb/theory/App-h40.htm#Petri%20Nets
PETRI NETS
ftp://ftp.informatik.uni-stuttgart.de/pub/petri-nets/
http://www.icsi.berkeley.edu/techreports/1992.abstracts/tr-92-008.html
LINEAR TIME ALGORITHMS FOR LIVENESS AND BOUNDEDNESS IN
CONFLICT-FREE PETRI NETS
http://www.aisa.uvigo.es/fvazquez/cursos/petri/index.htm
INTRODUCCIN A LAS REDES DE PETRI. (40 pginas). Transparencias
http://www.aisa.uvigo.es/software.html
91
SOFTWARE DE
LIBRE
DISPOSICIN DESARROLLADO EN
EL
DEPARTAMENTO
http://www.diee.unica.it/~aldo/bibliohpn.html
BIBLIOGRAPHY ON HYBRID PETRI NETS
Dip. di Ingegneria Elettrica ed Elettronica, Universit di Cagliari, Italy.
http://www.laas.fr/~robert/workshop.d/index.html
Manufacturing and Petri Nets
http://www.di.unito.it/~portinal/ispn.html
APPLICATIONS AND THEORY OF PETRI NETS
Petri Nets'99 and 98 Conference Program
http://homes.dsi.unimi.it/~alberti/Pubbl/OO-Petri.html
MODELLING GEOMETRIC OBJECTS WITH OBJSA NETS
http://www.ee.umanitoba.ca/tech.archive/mat1.html
MATRIX REPRESENTATION OF PETRI NETS
http://sadko.ncl.ac.uk/~nay/hwpn/hwpn.html
WORKSHOP ON HARDWARE DESIGN AND PETRI NETS (HWPN)
http://www.dbis.informatik.uni-frankfurt.de/~door/docs/spadecourse/sld032.htm
Transparencias (32 de 145) sobre RdP
http://www.math.upatras.gr/~vasilis/petri.html
Petri Nets: a Formal Method for Systems Modeling and Analysis
Bibliograpy on Petri Nets
http://dalton.abo.fi/~atorn/Petri/P42.html
COLOURED PETRI NETS,
http://faculty.winthrop.edu/snyderr/CS475.WEB/petri-01.asp#1v
PETRI NETS: INTRODUCTION
http://www.laas.fr/~robert/logic.d/austra.html
PETRI NETS AND ARTIFICIAL INTELLIGENCE
http://www.aut.utt.ro/~mappy/petri/nets/CPN.html
COLOURED PETRI NETS (CPN)
http://faculty.winthrop.edu/snyderr/9C.OLD/CS475.WEB/petri-01.htm
PETRI NETS: INTRODUCTION
http://taylor.ces.clemson.edu/ie340/files/340-19.htm
COLORED PETRI NETS
http://www.laas.fr/~robert/hybrid.d/adedops95.html
PETRI NETS FOR CONTROL AND MONITORING: SPECIFICATION,
VERIFICATION AND IMPLEMENTATION,
http://www.aut.utt.ro/~mappy/petri/nets/pn-intro.html
ORDINARY PETRI NETS INTRODUCTION ; 1-SAFE NET SYSTEMS;
CONDITION/EVENT (C/E) - SYSTEMS ; Elementary Net (EN) System ; Extensions
to Free Choice Nets ; FREE CHOICE (FC) SYSTEMS
http://www.laas.fr/~robert/logic.d/ieeesmc93_dia.html
PETRI NETS AND LINEAR LOGIC FOR PROCESS ORIENTED DIAGNOSIS
http://www.aut.utt.ro/~mappy/petri/nets/PRT.html
PREDICATE TRANSITION NETS
http://www.aut.utt.ro/~mappy/petri/nets/OPN.html
92
Tema 2
METODOLOGA Y ARQUITECTURAS
PARA
LA
AUTOMATIZACIN
DE
PROCESOS COMPLEJOS.
2.1. Introduccin
En el presente captulo, en el que comienza la aportacin innovadora de esta tesis, se
analiza la forma ms eficiente de empleo de las herramientas de automatizacin para el
diseo de aplicaciones industriales, especialmente en procesos complejos o muy
extensos.
La aportacin se divide principalmente en tres puntos. En el primero se comienza a
analizar cmo se pueden implementar sobre los dispositivos industriales los diseos
generados con herramientas grficas, aunque a tal respecto en el siguiente captulo se
desarrolla toda la metodologa necesaria para su realizacin. En el punto segundo se
analiza la influencia de desarrollar un modelo apropiado del sistema. En el tercero de
los puntos importantes se presentan alternativas al control clsico, que consiste en
control mediante PLC y supervisin con SCADA, proponiendo un control redundante
adaptativo capaz de determinar malos funcionamientos de la automatizacin (ante lo
que seguira funcionando con la automatizacin redundante) e incluso capaz de detectar
desviaciones en el funcionamiento del sistema, causados por factores como el
envejecimiento de las instalaciones o el mal funcionamiento de alguno de los sistemas.
Se ha decidido agrupar esos tres puntos, correspondientes a los apartados 2, 3 y 4 de
este tema, por la estrecha relacin que mantienen entre s, pero se ha realizado una
introduccin dentro de cada uno para indicar sus peculiaridades.
95
96
representar el listado de instrucciones). Puesto que el trmino en ingls para este ltimo
tipo de contactos de autmata (ladder) est sumamente extendido en la bibliografa
(incluso la de nuestra lengua) en adelante tambin ser utilizado.
Programando as los autmatas podemos implementar las RdP empleadas para la
resolucin de la automatizacin, y el autmata evoluciona tal cual lo hara la RdP
correspondiente. Pero puesto que el autmata evoluciona segn su diagrama de
contactos, se pierde en el autmata el concepto de la RdP que rige la automatizacin,
pasando a un concepto de listado de contactos, que es mucho ms difcil de seguir y de
comprender, y que sin embargo no aporta ms informacin que la que aporta la RdP de
una manera grfica e intuitiva [17]. Por eso resulta muy interesante disponer de una
representacin grfica de la evolucin del sistema en forma de la RdP que lo maneja.
Cuando tenemos un programa secuencial de autmata que no viene de una traduccin
de una RdP, siempre es posible determinar una RdP que realice lo mismo. En estos
casos puede ocurrir que el programa en contactos sea ms simple que la RdP, pero aun
as siempre se gana en claridad y comprensin del proceso.
Esto ltimo podemos verlo en las figuras 2 y 3, en las que tenemos el programa en
contactos de un tpico mando bimanual de seguridad y una RdP que modela su
funcionamiento. Este mando es muy empleado en mquinas peligrosas, tipo prensas o
sierras, para proteger las manos de los operarios. Consiste en que la salida slo se activa
mientras se pulsan los dos pulsadores, que adems deben pulsarse en menos de un cierto
tiempo (normalmente medio segundo). Transcurrido ese tiempo desde que se pulsa el
primero, si la salida est activa y se suelta alguno de los dos, se desactiva la salida y
queda bloqueada hasta que se suelten ambos pulsadores.
P1
Tim
P2
P1
P2
Tim
K1
K1
K1
Sal
97
98
DDE
OLE
etc.
Histrico de
Datos
PC SCADA
Tratamiento de datos:
- Redes Neuronales
- Inteligencia Artificial
- etc.
MODEM
PLC
PLANTA
Tratamiento de
Alarmas
99
100
han obtenido aplicaciones satisfactorias programadas en Visual Basic, C++ y Java (ver
figura 7).
2.2.4. Resultados
Como parte de los resultados se pueden mostrar dos de los ejemplos en los que se han
simulado estas redes. El primero lo podemos ver en las figuras 8 y 9, donde tenemos
una planta automtica de produccin de componentes para automvil en la que las
piezas deben pasar sucesivamente por los nueve puestos de produccin superiores o por
los nueve inferiores, empleando un nico transbordador comn a todos los puestos. Con
la automatizacin que exista se daba prioridad tan slo a los puestos ms avanzados,
con lo cual el sistema funcionaba pero de forma poco eficiente. Al implementarse la red
de supervisin que modelaba el funcionamiento se pudo comprobar dnde y por qu
aparecan los cuellos de botella que acaparaban el recurso compartido del carro
transbordador.
101
(ms influencia que las entradas y salidas) con lo cual no era suficiente recolectar los
valores de planta.
102
AUTOMATIZACIN
Programa
rdenes
(consigna)
Estado
sistema
rdenes
(accin)
Respuesta
SISTEMA
Eventos
Respuesta
Estado Interno
103
Como entradas la automatizacin tiene las rdenes del usuario (que se puede entender
como una consigna, continua o discreta) y la informacin que recibe del sistema. Como
salidas tiene las rdenes de actuacin al sistema.
La automatizacin es (habitualmente) secuencial, por lo que tendr su estado interno
que identifica su comportamiento en cada momento frente a las entradas. La
informacin del estado del sistema puede estar contenida dentro de dicho estado interno
de la automatizacin, o tambin puede recibirse del propio sistema como parte de la
respuesta. Por ejemplo, si estamos automatizando un garaje con capacidad para 10
coches, la automatizacin puede levar la cuenta de los que van entrando y saliendo, o
puede solicitar al sistema la informacin en cada momento, si es que el sistema dispone
de un sensor del nmero de coches.
104
2.3.4. Ejemplo
Todo esto lo podemos entender grficamente mediante un simple ejemplo. El ejemplo
consiste en la automatizacin de una cinta transportadora en una planta dedicada a la
fabricacin de ladrillos. La descripcin del sistema se puede ver en la figura 13.
Inicio
Fin
105
106
107
108
La automatizacin y la simulacin unidas forman un todo que slo posee las entradas de
los eventos externos de "Ladrillo Nuevo" y "Quitar Ladrillo".
Implementacin en PLC
El mapeado de memoria del ejemplo es el siguiente:
Entradas:
Quitar ladrillo: IR 000.00
Ladrillo muevo: IR 000.01
Inicio: IR 000.02
Fin: IR 000.03
Salidas:
Avanzar: IR 100.00
Variables:
Huecos1: DM 0100
Ladrillos1: DM 0101
Huecos2: DM 0102
Ladrillos2: DM 0103
Estados intermedios:
Lug1: IR 016
Lug2: IR 017
Lug3: IR 018
Lug4: IR 019
Lug5: IR 020
Lug6: IR 021
Lug7: IR 022
Lug8: IR 023
Lug9: IR 024
Bits auxiliares
de deteccin de flancos:
Aux1: IR 025.00
Aux2: IR 025.01
Temporizadores:
Timer1: TIM 000
Timer2: TIM 001
LD
OR
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
MOV
253.15
000.15
#0001 016
#0000 017
#0000 018
#0001 019
#0000 020
#0000 021
#0001 022
#0000 023
#0000 024
#0000 DM0101
#0003 DM0100
#0000 DM0103
#0003 DM0102
SCAN
RESET
#0001
#0000
#0000
#0001
#0000
#0000
#0001
#0000
#0000
#0000
#0003
#0000
#0003
00015
00016
00017
00018
LD
OR
OR
DIFU
000.02
021.00
022.00
025.00
INICIO
LUG6.00
LUG7.00
AUX1
00019
00020
LD
CMP
253.13
DM0100 #0000
ON
HUECOS #0000
00021
LD
255.05
MAYOR
LUG1
LUG2
LUG3
LUG4
LUG5
LUG6
LUG7
LUG8
LUG9
LADRILLOS
HUECOS
LADRILLOS2
HUECOS2
109
00022
00023
00024
AND
INC
DEC
025.00
DM0101
DM0100
AUX1
LADRILLOS
HUECOS
00025
00026
LD
CMP
253.13
DM0101 #0000
ON
LADRILLOS #0000
00027
00028
00029
00030
00031
LD
AND
INC
DEC
DEC
255.05
016.00
017
DM0101
016
MAYOR
LUG1.00
LUG2
LADRILLOS
LUG1
00032
00033
LD
OUT
017.00
100.00
LUG2.00
AVANZAR
00034
00035
00036
00037
00038
00039
LD
LD
OR
AND LD
INC
DEC
017.00
000.03
024.00
LUG2.00
FIN
LUG9.00
018
017
LUG3
LUG2
00040
00041
00042
LD
OR
DIFD
000.03
024.00
025.01
FIN
LUG9.00
AUX2
00043
00044
00045
00046
00047
LD
AND
INC
INC
DEC
025.01
018.00
016
DM0100
018
AUX2
LUG3.00
LUG1
HUECOS
LUG3
00048
00049
LD
CMP
253.13
DM0102 #0000
ON
HUECOS2 #0000
00050
00051
00052
00053
00054
00055
00056
LD
AND
AND
INC
DEC
INC
DEC
255.05
019.00
000.00
020
019
DM0103
DM0102
MAYOR
LUG4.00
LADRILLO_NUEVO
LUG5
LUG4
LADRILLOS2
HUECOS2
00057
00058
00059
00060
LD
AND
INC
DEC
020.00
100.00
021
020
LUG5.00
AVANZAR
LUG6
LUG5
00061
00062
LD
TIM
021.00
000 #0050
LUG6.00
TIMER1 #0050
00063
00064
00065
00066
LD
AND
INC
DEC
021.00
TIM000
019
021
LUG6.00
TIMER1
LUG4
LUG6
00067
00068
LD
CMP
253.13
DM0103 #0000
ON
LADRILLOS2 #0000
110
00069
00070
00071
00072
00073
LD
AND
INC
DEC
DEC
255.05
022.00
023
022
DM0103
MAYOR
LUG7.00
LUG8
LUG7
LADRILLOS2
00074
00075
LD
TIM
023.00
001 #0070
LUG8.00
TIMER2 #0070
00076
00077
00078
00079
LD
AND
INC
DEC
023.00
TIM001
024
023
LUG8.00
TIMER2
LUG9
LUG8
00080
00081
00082
00083
00084
LD
AND
INC
DEC
INC
024.00
000.01
022
024
DM0102
LUG9.00
QUITAR_LADRILLO
LUG7
LUG9
HUECOS2
00085
END
111
Type
AI
AI
AI
AI
DI
DI
DI
DI
DI
DI
DI
DI
DI
I/O Device
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
OMR
I/O Address
PLC:DM:100
PLC:DM:102
PLC:DM:101
PLC:DM:103
PLC:IR:100:0
PLC:IR:000:0
PLC:IR:000:1
PLC:IR:000:2
PLC:IR:000:3
PLC:IR:016:0
PLC:IR:017:0
PLC:IR:018:0
PLC:IR:019:0
112
MLUG5
MLUG6
MLUG7
MLUG8
MLUG9
DI
DI
DI
DI
DI
OMR
OMR
OMR
OMR
OMR
PLC:IR:020:0
PLC:IR:021:0
PLC:IR:022:0
PLC:IR:023:0
PLC:IR:024:0
2.4.
2.4.1. Introduccin
Cuando una automatizacin es implementada por medio de una herramienta de
descripcin, todo el poder y propiedades de la herramienta son usados en el sistema.
Hemos visto que las RdP ofrecen muchos estudios y trabajos que permiten deducir un
alto nmero de propiedades de su comportamiento, y hay muchas herramientas y
aplicaciones basadas en computador capaces de llevar a cabo rpida y fcilmente su
anlisis [23, 24] (ver el Tema 1). Al igual que en la programacin orientada a objetos, el
113
2.4.2. Automatizacin
Como hemos visto en la seccin anterior, cuando queremos desarrollar un sistema
complejo, el uso de una metodologa muy estructurada que permita aplicar tcnicas bien
conocidas y resultados a nuestro sistema puede ser indispensable. La primera tarea a
llevar a cabo es la descripcin y modelado del sistema, que consiste en una
representacin simple pero vlida y fiable de su comportamiento. Dependiendo del tipo
de sistema, habr algunas herramientas de modelado ms apropiado que otras. Para los
sistemas de eventos discretos, concurrentes, con paralelismos y sincronizaciones, las
RdP constituyen una herramienta muy clara y poderosa. El paso siguiente consista en
llevar a cabo la automatizacin. El dispositivo donde la automatizacin es
implementada recibe las seales del sistema como entradas, y enva las rdenes como
salidas. Tambin hemos visto que hay muchos dispositivos donde, en la prctica, las
automatizaciones son implementadas, pero normalmente esta implementacin no se
realiza de un modo grfico, sino por medio de lenguajes de programacin. Y cuando es
posible implementarlos de un modo grfico, no es usual hacerlo con RdP. As, es
necesario traducir la RdP usada para el modelado al lenguaje del programa del
dispositivo. sta es una tarea simple y muy mecnica, pero despus se mostrar que es
necesario tener cuidado con ciertos resultados.
La automatizacin est normalmente incorporada con un sistema de monitorizacin con
el que la evolucin de las entradas y las salidas del sistema y sus estados internos
pueden ser expuestos de una manera grfica. Tambin se ha visto que no slo puede ser
muy interesante visualizar el sistema sino tambin la herramienta grfica (la RdP) que
114
2.4.3. Monitorizacin
La monitorizacin del sistema consiste en la capacidad de mostrar sus datos en tiempo
real, incorporando formatos alfanumricos y grficos, y se realiza mediante un SCADA
que consiste en un software de control de produccin con acceso mediante
comunicacin digital a los elementos de control de la planta, y con interface grfica de
alto nivel con usuario [25]. Se pueden realizar a medida (programados en lenguajes de
programacin de propsito general), o bien se puede emplear alguno comercial de los
muchos que existen en el mercado (Figuras 25 y 26).
Si bien la monitorizacin del sistema es imprescindible por la facilidad y fiabilidad que
ofrece de manejo [11], es poco lo que aporta innovador a la automatizacin. Sin
embargo los SCADAs no slo realizan monitorizacin, sino tambin supervisin,
adquisicin y almacenamiento de datos, y otras tareas adicionales importantsimas
(tratamiento de datos on-line, comunicacin con base de datos, operaciones sobre hojas
de clculo, control remoto, etc.) que permiten un control mucho ms potente.
115
2.4.4. Simulacin
La simulacin se emplea muchas veces como mtodo de anlisis del sistema de
produccin. Sin embargo el anlisis por simulacin slo es preciso cuando se realiza de
forma exhaustiva, por lo que es conveniente realizar, siempre que sea posible, anlisis
de tipo cualitativo.
La simulacin del proceso puede ser tambin muy interesante para conseguir diseos de
altas prestaciones. Al simular el proceso podemos detectar errores de funcionamiento
antes de que se produzcan. Por otro lado, y esto es muy importante, podemos comparar
el funcionamiento real con la simulacin, para detectar desviaciones del funcionamiento
de la planta.
Los propios SCADAs disponen a menudo de herramientas de simulacin, por lo que no
hace falta recurrir a otras aplicaciones para ello, como se muestra en el ejemplo de la
Figura 27.
116
2.4.5. Supervisin
La supervisin consiste en la capacidad de monitorizacin junto a la de cambiar los
datos y programas de los elementos del sistema desde el terminal [4]. Con el SCADA
de las Figuras 25 y 27 podemos modificar desde la pantalla grfica las consignas de la
temperatura del horno, para que el sistema real evolucione hasta obtener la curva de
temperatura que necesita [12]. Igualmente se puede hacer desde la hoja de clculo
(Figura 26) o desde una base de datos, puesto que se emplean tanto para monitorizar
como para supervisar.
117
SDM 100
SIMULATION
SUPERVISION
IR 00000
PROGR 0
PROGR 2
PROGR 3
DM 100
IR 00002
IR 00003
SIR 00000
IR 00000
PROGR 1
IR 00001
SDM 101
DM 101
El grfico anterior corresponde a una pantalla de SCADA con las dos RdP, una para la
supervisin del sistema y otra para la simulacin, segn el programa siguiente, que es
similar a un programa de automatizacin pero en el lenguaje de programacin del
SCADA.
Tag Name
DM100
DM101
CONDIC
IR10000
IR00000
IR00001
IR00002
IR00003
Type
Device Address
Analog Input
PLC DM100
Analog Input
PLC DM101
Boolean
Digital Input
PLC IR10000
Digital Output PLC IR00000
Digital Output PLC IR00001
Digital Output PLC IR00002
Digital Output PLC IR00003
118
2 ADDOUT
-1,00 TO S_DM100
r(k)
A/D
e(k)
H(s)
Ecuacin
diferencial
u(k)
(t)
D/A
y(t)
PLANTA
y(k)
Reloj
y(t)
A/D
T
( Fn y n 1 ) +
TI
T K P En
K P TD
+
( E n + 3 E n 1 3 E n 2 E n 3 )
TI
6 T (T D + 1 )
1 cycle
70 ms
PID Processing
Initial values (0 ms)
60 ms
70 ms
60 ms
PID Processing
(70+30=100 ms)
CONTROL PID
Valor E/S
DISPOSITIVO DE
CONTROL
PROCESO
Realimentacin
Entrada a la realimentacin
Figura 32: Control simple en lazo cerrado con bloques PID de un SCADA.
119
PROCESO
IN
120
correctamente cuando ocurran esos fallos, puesto que el control redundante puede
manejar el sistema, y es tambin capaz de detectar errores en el modelado del sistema o
su comportamiento (Fig. 35 y 36)[12]. Esta ltima caracterstica tambin permite la
modificacin en tiempo real de los parmetros de la automatizacin y de la simulacin
(control adaptativo, Fig 37) para optimizar el sistema [19].
PLC Memory
CONTROL
OUT System
IN System
OUT System
IN System
SYSTEM
PLC
PLC Memory
CONTROL
OUT System
IN System
OUT System
IN System
SYSTEM
PLC
SIMULATION
CONTROL
SCADA
OUT System
IN System
Comp.
SCADA Blocks
IN System
(Redundant)
SCADA
SIMULATION
CONTROL
OUT System
IN
System
SCADA Blocks
IN System
(Redundant)
Comp. 2
(model)
Comp. 1
(Automation)
SIMULATION
PROCESS
OUT System
(Simulated)
121
PLC
CONTROL
SCADA
ADAPTIVE
SIMULATION
CONTROL
Comp. 1
IN System
(Redundant)
OUT System
IN System
SCADA Blocks
SIMULATION
PROCESS
Comp. 2
OUT System
(Simulated)
Con todo esto vemos que se puede pasar de tpico esquema en el que el sistema es
controlado por un PLC y monitorizado y supervisado por un SCADA, a otro tipo de
arquitectura, que enriquece sustancialmente a la anterior y la hace mucho ms robusta
sin a penas incrementar el precio, en la que tambin se simula con el PLC y/o con el
SCADA, y se realiza la automatizacin sobre el SCADA.
2.5. Conclusiones
Como conclusin cabe destacar las ventajas de que las automatizaciones se basen en
algn sistema formal y metodolgico (se proponen redes de Petri pero hay otros, que
incluso en algunas aplicaciones pueden ser ms apropiados). No siempre se usan, pero
en todo caso siempre existe una equivalencia de la automatizacin usada con otra
basada en tales mtodos, y al emplearlas disponemos de todas las prestaciones que
ofrecen. Adems la monitorizacin de la red de Petri que dirige el automatismo, se
puede realizar a muy bajo coste (si se emplea un SCADA, sin coste adicional), y
permite una supervisin global ms completa y til que la que se obtiene monitorizando
slo la planta.
Con esto se consiguen unas prestaciones muy interesantes: se dispone de una
representacin grfica muy clara e intuitiva con la que poder conocer el estado interno
del sistema (no slo sus entradas y salidas) y su evolucin, se pueden emplear los
amplios estudios existentes sobre RdP para detectar fallos y mejorar prestaciones en el
programa del autmata, se puede ampliar la automatizacin con las aplicaciones que
ofrece el SCADA (especialmente en partes crticas), etc. Esta aplicacin se puede
realizar sobre el paquete SCADA de monitorizacin del proceso, si es que se emplea
uno en la planta, y si no es as se puede implementar como una aplicacin especfica a
medida programada en lenguajes orientados a objetos.
Otra conclusin importante es que el empleo de un modelo del sistema a automatizar,
empleando las mismas herramientas que se emplearn posteriormente en la
automatizacin, permite, aparte de la evidente posibilidad de trabajar con las
caractersticas que nos interesen del sistema sin entretenernos en las superfluas, detectar
errores en el diseo de la automatizacin, comprobar el sistema automatizado (sistema
ms automatizacin) empleando los simuladores correspondientes a las herramientas, y
sobre todo, garantizar el correcto funcionamiento de la automatizacin, al comprobarlo
122
off-line pero en tiempo-real sobre el modelo del sistema implementado sobre el mismo
dispositivo de control.
Adems esa implementacin del modelo del sistema (sin automatizar) sobre el
dispositivo empleado para la automatizacin, puede servir tambin para deteccin de
errores en el propio sistema (por envejecimiento o por averas). Para ello se emplea una
forma de control supervisor redundante empleando PLC y SCADA, as como elementos
adicionales para realizar las comparaciones. Dicha propuesta ha sido implementada en
una de las empresas colaboradoras con la lnea de investigacin, con un resultado muy
satisfactorio. La implementacin en empresa real era necesaria para determinar el
mtodo ms apropiado para detectar a partir de los datos obtenidos en el funcionamiento
cundo exista una desviacin considerable de los datos esperados y los reales, que
indicase que poda ocurrir un error productivo. De ah se dedujo que variaba mucho de
una automatizacin a otra, pero el empleo de redes neuronales con el suficiente
entrenamiento ha proporcionado buenos resultados en todos los sistemas analizados.
2.6. Referencias
[1] Xing KY., Hu BS., Chen HX., Deadlock avoidance policy for Petri-net modelling
of flexible manufacturing systems with shared resources, IEEE Trans on
Automatic Control 1996, 41 (2) ,289-294 (1996)
[2] Astrm, K.J., and B. Wittenmark (1997). Computer controlled systems. PrenticeHall, Englewood Cliffs, New Jersey.
[3] Astrm, K.J., C.C. Hang, P. Persson and W.K. HO (1992). Towards intelligent PID
control. Automatica, 28, 1-9.
[4] Balcells, J. and J.L. Romeral (1997). Automatas programables. Marcombo
Boixareu Editores, Barcelona.
[5] Belli F, Grosspietch KE., Specification of fault-tolerant systems issues by
predicate/transition nets and regular expressions: Approach and case study, IEEE
Trans on Software Engineering, 17 (6), 513-526 (1991)
[6] Burns, A. and A. Wellings (1996). Real-Time Systems and Programming
Languages. Addison-Wesley, California.
[7] David R., Grafcet: A powerful tool for specification of logic controllers, IEEE
Trans on Control Systems Technology, 3 (3) , 253-268 (1995)
[8] Ezio, F. (1993). Ceramic technology. Iberian Faenza Editrice, Milan.
[9] Giua A, DiCesare F, Silva M., Petri net supervisors for generalized mutual
exclusion constraints, 12th IFAC World Congress Sydney, 1 , 267-270 (1993)
[10] Jensen K., Coloured Petri nets: basic concepts, analysis methods and practical
use, EATCS Monographs on Theoretical Computer Science, Springer, Berlin
(1994)
[11] Jimnez E., Redes de Petri de Supervisin y Simulacin de Procesos Industriales
Automatizados XXI Jornadas de Automtica CEA-IFAC, (2000)
[12] Jimnez E., Miruri JM., Martnez de Pisn JF., Gil M., Supervised Real-Time
Control with PLCs and SCADA in Ceramic Plant, 6th IFAC Workshop on
Algorithms and Architectures for Real-Time Control, 1 , 221-226 (2000)
123
[13] Koivo, H.N. and J.T. Tanttu (1991). Tuning of PID controllers: survey of SISO and
MIMO techniques. IFAC Intelligent tuning and adaptive control Proceedings,
Singapore, pp. 75-80.
[14] Laplante, P.A. (1993). Real-Time Systems Design and Analysis: An Engineer
Handbook. IEEE Press.
[15] Lee DY, DiCesare F.., Scheduling flexible manufacturing systems using Petri nets
and heuristic search, IEEE Trans on Robotics and Automation, 10 (2) , 123-132
(1994)
[16] Levi, A. (1990). Real-Time System Design. McGraw-Hill, New York.
[17] Malpica, J. A. (1998). Introduccin a la teora de autmatas. Ed. Universidad de
Alcal, Madrid.
[18] Morriss, B. (1999). Programmable Logic Controllers. Prentice Hall, New Jersey.
[19] Ogata, K.(1998). Engineering of Modern Control. Spanish American Prentice Hall,
Mexico.
[20] Silva, M. (1985). Las Redes de Petri: en la automtica y la informtica. AC, D.L.,
Madrid.
[21] Villarroel JL., Muro P., Using Petri net models at the coordination level for
manufacturing systems control, Robotics and Computer-Integrated Manufacturing,
11 (1), 41-50 (1994)
[22] Herbert Taub, Circuitos digitales y microprocesadores, Mc Graw Hill, 1984
[23] N. Konstas, S. Lloyd, H. Yu, C. Chatwin. Generic Net Modelling Framework for
Petri Nets. IASTED Intelligent Systems and Control ISC'99 (1999)
[24] W.T. Goh, Z. Zhang. Autonomous Petri-Net for Manufacturing System Modelling
in an Agile Manufacturing Environment. IASTED International Confer. Robotics and
Applications 1999.
[25] Mitormat S.L. Terrassa. Manual HTERM, 1993.
[26] Pascual Gonzalez Lpez, Jess Garca-Consuegra Bleda (1998). Informtica
Grfica. Ediciones de la Universidad de Castilla-La Mancha.
[27] Paredes, P., El PC en aplicaciones industriales. Automtica e instrumentacin, n
271, pag. 73, febrero 1993.
124
Tema 3
IMPLEMENTACIN
DE
LAS
AUTOMATIZACIONES
EN
LOS
DISPOSITIVOS INDUSTRIALES DE
CONTROL AUTOMTICO.
3.1.
3.1.1. Introduccin
Cuando un sistema fsico es modelado, las restricciones debidas a las limitaciones
tecnolgicas deberan ser incluidas como restricciones en la interpretacin de la RdP,
puesto que el comportamiento del sistema implementado puede ser ligeramente
diferente del comportamiento en el sistema ideal usado en el modelo. Y estas pequeas
diferencias, que normalmente no tienen importancia, a veces pueden llevar al control
automtico a una operacin errnea. Por ejemplo dos eventos simultneos pueden ser
detectados por nuestro autmata en momentos diferentes, pueden ocurrir retrasos en las
entradas y salidas, la evolucin de las marcas podra no suceder en un punto particular,
etc. Por consiguiente, es muy importante saber el comportamiento real del sistema fsico
donde el control automtico ser implementado.
Tambin, si queremos usar la red eficazmente en el modelado, automatizacin, o
simulacin, debera ser interpretado correctamente el significado de nuestro modelo en
la fase de diseo, para que corresponda perfectamente al comportamiento de nuestro
sistema. Si es posible realmente implementar la RdP interpretada, es decir, desarrollar la
red que intrnsecamente incorpora las restricciones debidas a la interpretacin, esta red
se usar como el propio sistema, bien para determinar las propiedades o bien llevar a
cabo la implementacin. Otras veces, ser necesario usar las RdP como la base del
modelado, pero introduciendo algunas caractersticas adicionales que el sistema real
presenta para conseguir el modelo del sistema real. En este caso, ser necesario
implementar esas funciones adicionales a la RdP, y se deber prestar atencin al
trasladar el comportamiento de la RdP usada al modelo (o el sistema real).
Por tanto la aportacin de las siguientes secciones de este captulo consisten en el
anlisis de los efectos en los sistemas reales en los que es implementado el control, as
como la metodologa para su correcta implementacin, y algunas de las caractersticas
especiales implementadas en RdP o con ellas para conseguir un modelo ms similar al
real.
3.1.2. Implementacin
Automatizacin
de
las
RdP
en
los
Dispositivos
de
P1
P2
D
B
P3
Variable
A
B
C
D
P1
P2
P3
Type
bit
bit
bit
bit
integer
bit
integer
Memory address
IR 000.00
IR 000.01
IR 000.02
IR 000.03
DM 0100
IR 100.00
DM 0101
LD
AND
@INC
RSET
LD
CMP
LD
AND
@INC
@DEC
LD
MOV
END
DM0100 #0000
TR0
100.00
100.00
DM0100
000.03
100.00
000.01
DM0101
100.00
253.13
DM0101 #0000
255.05
000.02
DM0100
DM0101
253.15
#0003 DM0100
DM0100
100.00
000.00
SET; 100.00
016.00
@DEC (39); DM 0100
000.03
INC (38); DM 0101
DEC (39); DM 0100
100.00
000.01
@INC (38); DM 0101
RSET; 100.00
253.13
CMP (20); DM 0101; #0000
255.05
000.02
@INC (38); DM 0100
@DEC (39); DM 0101
253.15
MOV (21); #0003; DM 0100
END (01)
127
128
(1)
donde disparo_transicin implica modificar las marcas de todos los valores afectados
por el encendido de la transicin (*t y t*).
Los valores binarios de la red pueden ser almacenados en el dispositivo como variables
booleanas o como bits de memoria. Sin embargo, en el modelado de valores binarios
con *p>1 o p*>1, sera necesario poner a 1 0 (set o reset) el marcado de p desde
varios puntos del programa (varias transiciones). Esto no puede hacerse en la mayora
de los PLCs, puesto que cada bit puede solamente ser modificado desde un nico punto
en el programa. Las instrucciones de lenguaje "incrementar" y "decrementar" pueden
ser usadas desde varios puntos del programa, pero solamente con valores enteros (o
contadores, o palabras = 16 bits). Entonces es necesario usar un entero en lugar de una
variable booleana para este tipo de valores (a pesar de corresponder a valores binarios)
debido al funcionamiento del dispositivo de automatizacin.
Debe tambin tenerse cuidado si la solucin propuesta consiste en modificar las marcas
de los bits correspondiendo al valor con un "or" lgico de los valores t*p (o los
valores tp*) y sus eventos asociados, es decir, si el razonamiento lgico es:
si alguna_ transicin_de_entrada y evento entonces incrementar_marcado
(2)
si incrementado_siguiente entonces decrementar_marcado
En este razonamiento, donde simplemente parece haber un cambio en el orden (y el
punto de vista desde los valores, en lugar de desde las transiciones), podra cometerse
un error, puesto que los dispositivos (PLCs o computadoras) son secuenciales, y de esta
manera, estn ejecutando las rdenes que corresponden independientemente a un solo
disparo de transicin. Este tipo de error es desgraciadamente frecuente, debido a la
herencia de los sistemas implementados por medio de lgica cableada.
Esto puede verse mejor con el ejemplo de la RdP de la Figura 6, que simplemente es
una red secuencial. Con este marcado la red es binaria, y puede ser implementada por
medio de bits ya que |*p|=1 y |p*|=1 p. Una implementacin por medio del
razonamiento lgico (2) produce el programa correspondiente a la Figura 8. Una
implementacin por medio de la lgica (1), que es la usada en todos los ejemplos
anteriores, produce el programa mostrado en la Figura 7. Aunque los dos pueden
parecer similares, son diferentes. Siguiendo el programa mostrado en la Figura 7, si los
eventos asociados a t2 y t3 son siempre ciertos, y en un cierto instante, t1 pasa a cierto,
desde este momento en adelante, la marca que inicialmente estaba en p1 ir desde p1
hasta p4 saltando los valores intermedios, como es necesario para completar la
evolucin correcta de la red. Sin embargo, siguiendo la evolucin segn el programa en
Figura 8, la evolucin de las marcas es la mostrada en la Figura 10.
129
P4
t4
SET P1
P1
RSET P4
t1
P1
t1
P2
SET P2
t4
t2
RSET P1
P3
t3
P4
t4
SET P1
P2
RSET P1
P1
P4
P1
P2
P1
t1
SET P2
t4
t1
P2
P3
P3
RSET P2
P1
P2
P1
t1
P2
t4
P2
P1
P1
P1
t1
t1
t1
t4
P2
P2
t4
t4
t2
t2
t2
P3
P3
t3
t3
t3
P4
P4
P4
P3
t2
P3
t3
P4
130
P1
t1
P2
t4
t5
t2
P5
P3
t3
t6
P4
Figura12:
Programa
correspondiente a una correcta
implementacin de la RdP.
p1:=1
repeat
if p4 and t4 then p1:=1
if p2 then p1:=0
if p1 and t1 then p2:=1
if p3 then p2:=0
if p2 and t2 then p3:=1
if p4 then p3:=0
if p3 and t3 then p4:=1
if p1 then p4:=0
until end_program
131
Los problemas que ocasionan caractersticas especiales de la red. Por ejemplo, una
red que no sea pura cuando tiene asociados eventos a los flancos de los lugares
132
a lugares
de entrada
binarios
leb 1
leb a
c lugares
de entrada
binarios
arco inhib.
b lugares
de entrada
no binarios
len 1
....
len
lebi 1
....
leni 1
leni
....
....
pen
pen 1
lebi
d lugares
de entrada
no binarios
arco inhib.
pen 1
pen
evento
psn 1
....
lsb 1
psn f
....
lsb e
e lugares
de salida
binarios
lsn 1
lsn f
f lugares
de salida
no binarios
donde:
es el lugar de entrada binario i
leb i
a
es el nmero de lugares de entrada binarios
len i
es el lugar de entrada no binario i
pen i
es el peso del arco de entrada no binario i
b
es el nmero de lugares de entrada no binarios
lebi i
es el lugar de entrada binario con arco inhibidor i
c
es el nmero de lugares de entrada binarios con arco inhibidor
leni i
es el lugar de entrada no binario con arco inhibidor i
peni i
es el peso del arco de entrada no binario con arco inhibidor i
d
es el nmero de lugares de entrada no binarios con arco inhibidor
lsb i
es el lugar de salida binario i
e
es el nmero de lugares de salida binarios
lsn i
es el lugar de salida no binario i
psn i
es el peso del arco de salida no binario i
f
es el nmero de lugares de salida no binarios
evento
es el evento asociado a la transicin
Figura 15: Interpretacin de la nomenclatura en la Figura 14
La implementacin de una transicin global como la anterior es como se muestra a
continuacin:
133
ON
CMP
len 1
pen 1
MEN
CMP
len 2
pen 2
.....
.....
MEN
CMP
len b
pen b
MEN
( CONDICION )
ON
CMP
leni 1
peni 1
MEN
CMP
leni 2
peni 2
.....
.....
MEN
evento
CMP
leni d
peni d
CONDI
CION
MEN
leb 1
leb a
.....
lebi 1
lebi
.....
(1)
---
134
(1)
---
SET
lsb 1
....
SET
lsb e
RESET
leb 1
....
RESET
leb a
ADD
lsn 1
psn 1
....
ADD
lsn f
psn f
SUB
len 1
pen 1
....
SUB
len b
pen b
Figura 16: Implementacin en Ladder
de una transicin global en un PLC.
donde:
ON
MENOR
MAYOR
CONDICION
LOADNOT MEN
CMP len b, pen b
LOADNOT MEN
OUT Condicion
LOAD ON
CMP leni 1, peni 1
LOADNOT MEN
CMP leni 2, peni 2
....
LOADNOT MEN
CMP leni d, peni d
LOAD evento
AND Condicion
AND MEN
AND leb 1
....
AND leb a
AND lebi 1
....
AND lebi c
SET lsb 1
136
....
SET lsb e
SET leb 1
....
SET leb a
ADD lsn 1, psn 1, lsn 1
....
En el caso de que b=0 (no hay lugares de entrada no binarios), adems de eliminar sus
lneas correspondientes, se debe eliminar la lnea "AND Condicion"
En el caso de que d=0 (no hay arcos inhibidores no binarios), adems de eliminar sus
lneas correspondientes, se deben eliminar "AND MEN" as como "ANDNOT MEM" y
"OUT Condicion", y se debe sustituir la lnea "AND Condicion" por "ANDNOT MEN".
Una vez realizado lo anterior para cada transicin de la RdP, no se debe olvidar
inicializar la red con el marcado inicial, es decir, cargar con su marcado inicial las
posiciones no binarias (incluyendo las que estn a cero), as como poner a SET las
posiciones binarias inicialmente activadas y a RESET las inicialmente desactivadas.
Evidentemente esto ltimo slo se debe realizar en el primer ciclo de SCAN del
autmata. Adems, cuando se trabaje con posiciones de memoria que se resetean
automticamente cada vez que se pone en marcha el autmata no es necesario
inicializarlas a cero ni a reset. Aun as se recomienda reininicializar tambin esas
posiciones, puesto que el tiempo de ciclo del autmata es exactamente igual (cuando se
evala que no es primer ciclo de SCAN se salta directamente al siguiente bloque), y
ante posibles traducciones del programa a otro tipo de mquina u otra aplicacin puede
ser bueno que aparezca.
137
del tema 1). Estos estudios son ciertamente importantes en aspectos como el anlisis y
evaluacin de prestaciones. En la fase de automatizacin de los procesos industriales,
normalmente la temporizacin est definida, es decir, se conocen los tiempos de retardo
de los procesos. Pero adems del tiempo de retardo se debe definir el tipo de
temporizacin.
Vamos a tratar de encontrar los tipos de temporizacin para poder definir mediante ellos
cualquier proceso industrial, y tambin vamos a clasificarlos y agruparlos. Estos tipos
de retardo, como ya se ha dicho, estn ampliamente analizados desde un punto de vista
formal y matemtico, pero ahora se va a ver desde el punto de vista de los procesos
industriales, modelados mediante RdP.
Es muy frecuente al modelar o automatizar un proceso industrial asignar sin ms un
tiempo de retardo, sin pensar en qu tipo de retardo se trata, y ello lleva muchas veces a
un error que adems es posible que cueste esfuerzo detectar posteriormente.
A. Retardos en redes no coloreadas
A.1.Retardos en el disparo de la transicin
Cuando tenemos una RdP en la que el disparo de cada transicin ti dura un tiempo ( ti)
tenemos una RdP temporizada (RdPT). Formalmente se puede decir que una RdPT es
un par R , Z tal que R es una RdP y Z es una funcin que asigna un nmero real no
negativo zi a cada transicin de la RdP. zi= Z (ti) recibe el nombre de tiempo de disparo
de la transicin ti.
Otra forma de ver el mismo caso consiste en decir que en una RdPT una marca puede
estar dispuesta o indispuesta. Cuando la marca est indispuesta es como si no existiese a
efectos de disparo de la transicin. Cuando aparece una marca en un lugar entonces est
indispuesta, y permanece as durante ( ti) unidades de tiempo, desde que llega y desde
que se produce el disparo de la transicin.
Como caso real podemos encontrar esta temporizacin en un proceso en el que la
transicin representa el tiempo que tarda un robot en coger una pieza de una zona (un
lugar l1) y llevarlo a otra (otro lugar l2).
l1
t1
l2
l1
(t1)
t1
(t1)
l2
De esta manera aunque haya varias marcas en l1, todas tienen que esperar el tiempo de
la transicin desde que llegan y tambin desde que se ha disparado la transicin la
138
ltima vez (debido a otra transicin distinta). Si llegan todas a la vez, esperan a que se
dispare la transicin con la primera marca, y despus cada una de las siguientes esperar
ese mismo tiempo desde que se dispare la anterior.
Este es el tipo de retardo que presenta una RdPT, es decir, si estamos modelando un
proceso e incluimos una temporizacin en una transicin, el comportamiento que
presenta el modelo es el que acabamos de describir.
l1
tim
l1
tim
t1
tim
t1
tim
l2
l2
Ahora cuando hay varias marcas en l1, si han llegado todas a la vez, esperan a que
transcurra el tiempo de la temporizacin y en ese momento se consideran todas
dispuestas y todas ellas pueden evolucionar a l2 sin tener que volver a esperar. Resulta
evidente que este tipo de retardo es totalmente equivalente al anterior cuando se trata de
redes binarias.
Podemos encontrarla por ejemplo en una compuerta que tarda t segundos en abrirse, se
abre cada vez que llega algn vagn (marca), y permanece abierta hasta que han pasado
todos los vagones.
Este tipo de retardos deriva de los que se emplean en GRAFCET, donde los Estados son
una especie de lugares binarios, y por eso su representacin es anloga a la de los
retardos en GRAFCET, indicando la temporizacin en el lugar y el fin de la
temporizacin en la transicin. Los retardos corresponden simplemente a retardos a la
conexin. Este tipo de retardo es el que ms se encuentra en los procesos industriales.
139
Entrada
Entrada
Tim
Tim
Salida
Entrada
Tim
Entrada
Salida
Figura 21: Cronograma del temporizador a la conexin
140
Entrada
Salida
Entrada
Entrada
Tim
Salida
Tim
Tim
Entrada
Salida
Figura 23: Cronograma del temporizador a la desconexin
Entrada
Entrada
Tim1
Tim1
Entrada
Salida
Entrada
Tim2
Salida
Tim2
141
No se debe caer en la tentacin de pensar que puede construirse uno exactamente igual
simplemente enlazando los dos anteriores, es decir, empleando la salida de un
temporizador a la conexin como la entrada de uno a la desconexin. Para muchos tipos
de entradas el comportamiento s es igual, pero para otras no lo es (Figura 25)
Tim1
Tim2
Entrada
Salida (conexin)
Salida (conexin, desconexin)
Tim1
Tim2
Salida (conexin-desconexin)
Figura 25: Cronograma del temporizador a la conexin-desconexin
Entrada
Tim
Salida
Tim + Entrada
142
Entrada
Tim
Salida
Tim
143
Para implementar en los dispositivos modelos llevados a cabo con redes coloreadas hay
que tener en cuenta en cada lugar el nmero de marcas que tenemos de cada color.
Siendo as no existe ninguna diferencia con lo visto en el punto anterior. Por lo tanto
tenemos los mismos tres tipos de retardos.
No hay que caer en la trampa de pensar que el tercer tipo de retardo de los vistos
anteriormente, el asociado a cada marca en un lugar, est incluido en los otros dos en
redes coloreadas. Ello slo ocurre cuando los lugares no pueden tener ms de un
elemento distinto (ms de una marca) de cada color, es decir, cuando para cada color
son binarias.
(t1)
l2
MEN
CMP
l1
p ll
TIM
TIM
(tl)
144
TIM
ADD
l2
p l2
SUB
l1
p ll
o en mnemnico:
LOAD ON
CMP l1,p l1
LOADNOT MEM
ANDNOT TIM
TIM ( ti)
LOAD TIM
ADD l2, p l2
SUB l1, p l1
Figura 32: Implementacin en mnemnico
Para un caso general en el que se tengan ms lugares de entrada y salida, incluyendo
binarios y arcos inhibidores, la traduccin consiste en insertar los elementos de
temporizacin entre las condiciones de disparo y la actuacin que ste produce (tal
como acabamos de hacer). Es decir, en el grfico de la Figura 16 de la seccin anterior,
que habamos seccionado para que entrase en la hoja, ahora hay que dividirlo de verdad
y aadir lo siguiente sobre las anotaciones (1) que tena:
(1)
---
TIM
TIM
TIM
(tl)
(1)
---
145
Con lo que para un caso general, como el que se indic en la Figura 16, la traduccin en
mnemnico sera:
LOAD ON
CMP len 1, pen 1
LOADNOT MEN
CMP len 2, pen 2
....
LOADNOT MEN
CMP len b, pen b
LOADNOT MEN
OUT Condicion
LOAD ON
CMP leni 1, peni 1
LOADNOT MEN
CMP leni 2, peni 2
....
LOADNOT MEN
CMP leni d, peni d
LOAD evento
AND Condicion
AND MEN
AND leb 1
....
AND leb a
AND lebi 1
....
AND lebi c
ANDNOT TIM
SET TIM
LOAD TIM
SET lsb 1
....
SET lsb e
SET leb 1
....
146
SET leb a
ADD lsn 1, psn 1, lsn 1
....
CMP
l1
p ll
MEN
TIM
(tl)
TIM
ADD
l2
p l2
SUB
l1
p ll
147
TIM
(tl)
(1)
---
TIM
(1)
---
TIM
TIM
( Salida )
Figura 37: Temporizador a la conexin
TIM
( Salida )
Salida
Salida
Entrada
TIM
148
TIM1
TIM1
( Auxiliar )
Auxiliar
TIM2
( Salida )
Salida
Salida
Entrada
TIM2
TIM
( Salida )
Entrada
TIM
TIM
( Salida )
Entrada
TIM
149
3.3. Conclusiones
En este apartado se ha analizado la influencia de los dispositivos usados segn la forma
de traduccin desde las herramientas grficas a los PLCs, desde un doble punto de vista,
terico y prctico, basado en la investigacin anterior y en la implementacin real
subsecuente. Se usan las redes de Petri como una herramienta importante para control
de sistemas de eventos discretos con procesos concurrentes, en todas sus fases:
modelado, automatizacin, supervisin y simulacin.
En resumen, la contribucin de este tema es el anlisis de la implementacin sobre los
PLCs de los sistemas diseados sobre RdP, as como una detallada metodologa para su
correcta implementacin que permita realizarlo de forma sistemtica y sin errores.
Dicha metodologa contempla diferentes tipos de temporizacin en las transiciones.
3.4 Referencias
1.Belli, F., Grosspietch, KE.: Specification of fault-tolerant systems issues by
predicate/transition nets and regular expressions: Approach and case study. IEEE
Trans on Software Engineering (1991) 17 (6), 513-526
2. Burns, A., Wellings, A.: Real-Time Systems and Programming Languages. AddisonWesley, California (1996)
3. David, R.: Grafcet: A powerful tool for specification of logic controllers. IEEE Trans
on Control Systems Technology (1995) 3 (3) , 253-268
4. Jimnez, E., Miruri, JM., Martnez de Pisn, J.F., Gil, M.: Supervised Real-Time
Control with PLCs and SCADA in Ceramic Plant. 6th IFAC Workshop on
Algorithms and Architectures for Real-Time Control (2000) 1 , 221-226
5. Jimnez, E.: Redes de Petri de Supervisin y Simulacin de Procesos Industriales
Automatizados. XXI Jornadas de Automtica CEA-IFAC (2000)
6. Morriss, B.: Programmable Logic Controllers. Prentice Hall, New Jersey (1999)
150
151
Tema 4
METODOLOGA
DE
SIMULACIN
MEDIANTE
LENGUAJES
DE
PROGRAMACIN
4.1. Introduccin
Adems de la simulacin que hemos visto en los captulos anteriores, en la que se
simulaba el programa implementado sobre el PLC, es muy conveniente simular en un
computador cmo va a funcionar la produccin con ese mismo programa y con los
parmetros empleados.
La realizacin de esta nueva simulacin tiene varios cometidos:
-
Permite realizar dichas modificaciones de una manera ms gil, puesto que los
lenguajes de programacin estn ms indicados para ello que el autmata
programable
a lugares
de entrada
le 1
le
li 1
li
....
....
pe
pe 1
pi 1
pi
evento
ps c
ps 1
....
ls 1
ls c
c lugares
de salida
Figura 1: Transicin genrica en una RdP para traducirla a Matlab
donde:
le i
a
pe i
li i
b
pi i
ls i
c
ps i
evento
es el lugar de entrada i
es el nmero de lugares de entrada
es el peso del arco de entrada i
es el lugar de arco inhibidor i
es el nmero de lugares de entrada con arco inhibidor
es el peso del arco de entrada inhibidor i
es el lugar de salida i
es el nmero de lugares de salida binarios
es el peso del arco de salida i
es el evento asociado a la transicin
Aunque en Matlab se pueden emplear variables sin ms (en realidad son matrices 1x1),
dado que es un entorno adaptado para trabajar ms eficientemente con matrices,
conviene definir una matriz Y que tenga una columna por cada lugar de la red, y que
154
tendr tantas filas como pasos se realicen en la simulacin. Cada fila va a corresponder,
por tanto, al marcado de la red en un instante dado.
Con todo lo anterior el algoritmo de traduccin de la RdP queda como se indica en la
Figura 2.
Y(1,:)=[ l1o, l1o,...,lno];
for i=2: num_pasos
Y(i,:)= Y(i-1,:); % copio la fila igual a la anterior
.....
% inicio de la traduccin de una transicin
if Y(i, le1)>= pe1 & ... & Y(i, lea)>= pea & Y(i, li1)< pi1 & ... &
Y(i, lib)< pib & evento
Y(i, le1)= Y(i, le1)- pe1; ... ;Y(i, lea)= Y(i, lea)- pea;
Y(i, ls1)= Y(i, ls1)+ ps1; ... ;Y(i, lsa)= Y(i, lsa)+ psa;
end
% fin de la traduccin de una transicin
.....
end
donde:
lio
n
num_pasos
evento
donde se han representado los lugares por su nombre (por ejemplo le a) pero se debe
sustituir por el nmero de codificacin que tienen en la matriz de lugares Y (el
nmero de columna en el que se representa su evolucin),
y donde lo que se ha realizado es la traduccin para una nica transicin, teniendo en
cuenta que se debe repetir para cada una de las transiciones de la red.
La razn de iterar desde i=2 en vez de empezar en i=1 es que en Matlab se numeran las
matrices desde 1 en adelante, y el valor 1 se emplea por tanto para el estado inicial. Ms
correcto sera que fuese el ndice 0 el del marcado inicial, y dicho tratamiento es
posible, pero se complica ligeramente el programa, por lo que se aconseja actuar de esta
manera, y si hiciese falta (que no suele ser el caso) recordar que el contador marca una
iteracin ms de las que hay. Adems esa diferencia en los marcadores es fcilmente
ajustable en la representacin grfica posterior, como veremos ms adelante. Ello puede
ser interesante cuando las iteraciones correspondan a parmetros temporales en las redes
temporizadas.
155
4.3.Redes temporizadas
El algoritmo anterior de implementacin de la RdP en Matlab trataba transiciones sin
retardo o sin temporizacin, y por lo tanto la simulacin corresponda a diversos pasos
en la evolucin de la red, pero sin ninguna interpretacin temporal.
Si las transiciones tienen una interpretacin temporal, que es el caso que vamos a
analizar seguidamente, cada fila de la matriz que representa los marcados corresponder
al marcado en un instante de tiempo determinado. Por lo tanto, los parmetros que rigen
el bucle de funcionamiento son temporales, como se muestra en la Figura 3.
t0=0; %el tiempo inicial de la simulacin
tf=10; %el tiempo final de la simulacin
paso=0.1; %el incremento de tiempo
tspan=t0:(tf/paso)-1; %los instantes de tiempo simulados
for i=2:(tf/paso) %i es el contador del tiempo
....
end
(1)
Y(i, lex)>= 1
all(Y(i-tim/paso:i, lex))
(2)
156
donde all es una funcin booleana que se cumple cuando todos los elementos de una
matriz son no nulos.
Hay que tener en cuenta que las matrices no pueden tener ndices negativos o cero (para
que no d error el programa en su funcionamiento). Por lo tanto, se debe impedir que en
las primeras iteraciones el valor i-tim/paso d errores por ese concepto. Eso se puede
impedir de dos formas:
1) Indicando en vez del valor i-tim/paso el valor max([1 i-tim/paso]). De esta
manera siempre ser un valor positivo no nulo, como pretendamos. En este caso, si el
peso del arco es distinto de cero (el caso primero estudiado, segn las ecuaciones (1))
hay que tener en cuenta que la matriz debe tener las mismas dimensiones que la matriz
con la que se compara, por lo cual tambin hay que sustituir ones(tim/paso,1) por
ones(min([1 i-tim/paso]) , 1). Con todo esto una comparacin queda de la
siguiente forma:
if Y(max([1 i-tim/paso]):i,le1)>=
pe1*ones(min([i tim/paso+1]),1)&...
(3)
(4)
(5)
De esta manera, antes de que pase el tiempo de la temporizacin, sigue siendo negativo
o nulo el valor i-tim/paso pero deja de ser problema porque en esos casos la
condicin anterior en el if (la que acabamos de introducir) ha resultado falsa y ya no se
sigue evaluando. Evidentemente la condicin indicada anteriormente debe ser la
primera dentro de la instruccin if que testea si debe efectuarse el disparo de la
transicin con retardo.
4.3.1.1. Ejemplo
Como ejemplo veamos la realizacin de una RdP sencilla, como la que se muestra en la
Figura 4.
157
p1
t1
p2
t2
Tim (1 seg)
2
Tim
2
158
tspan=t0:tf/paso-1;
tim=1;
Y=[2 0];
for i=2:tf/paso
Y(i,:)=Y(i-1,:);
if Y(i,1)>=1
Y(i,1)=Y(i,1)-1; Y(i,2)=Y(i,2)+1;
end
if i>tim/paso & Y(i-tim/paso:i, 2) >=2*ones(tim/paso+1,1)
Y(i,2)=Y(i,2)-2; Y(i,1)=Y(i,1)+2;
end
end
subplot(2,1,1), plot(tspan/10,Y(:,1),'r');
subplot(2,1,2), plot(tspan/10,Y(:,2),'b');
4.3.1.2. Coherencia
Ambos mtodos analizados y empleados en el ejemplo anterior han de ser coherentes
con el caso de que una transicin sin temporizar es lo mismo que otra con tim=0.
Efectivamente, en esos casos la aplicacin de las ecuaciones (3), (4) y (5) no tiene
ningn efecto:
- Con tim=0 la expresin (3) queda as:
if Y(max([1 i]):i,le1)>= pe1*ones(min([i 1]),1)&...
y como i1, max([1 i]=i y min([i 1]=1, con lo que ones(min([i 1]),1)=1,
y por tanto la expresin queda:
if Y(i,le1)>= pe1 &...
e1))
es
equivalente a
if Y(i,le1)~=
0 &...
y como Y es una matriz de trminos no negativos, el que sea distinto de cero es porque
es mayor que cero, y por tanto de nuevo corresponde a la condicin para una transicin
no temporizada.
- Con tim=0 la expresin (5) queda
i>0
159
que es algo que siempre se da por definicin de i, con lo cual la condicin que se ha
aadido respecto a la transicin sin temporizar no afecta, y por tanto son equivalentes.
Evidentemente esta coherencia en las ecuaciones (3), (4) y (5) es necesaria (aunque no
suficiente) para comprobar que son correctas. Este tipo de comprobaciones resulta muy
interesante para detectar equivocaciones en los ndices o en las desigualdades, cosa
relativamente frecuente si no se comprueba.
Esta coherencia permite adems considerar el mtodo con transiciones temporizadas (y
peso de los arcos en general distinto de 1) como un caso general, en el que las
transiciones sin temporizacin simplemente tendrn valor nulo de la constante de
temporizacin. Esto hace que sea ms sencillo para implementar de forma automtica,
puesto que no hay que distinguir entre tipos de transiciones, aunque el programa ser
algo menos eficiente (cosa poco importante en general, puesto que se emplea off-line).
donde:
num_transic es el nmero de transiciones con retardos de este tipo
trans_actual indica el nmero de la transicin que se est tratando dentro de la
matriz disparo
indica la temporizacin de la transicin que se est tratando
act
Conviene fijarse que en la simulacin de este tipo de retardos no es necesario tener en
cuenta la posibilidad de que los ndices se conviertan en negativos o ceros, como ocurra
en el caso anterior, puesto que ahora la primera condicin dentro de los if que testean
el disparo de estas transiciones, es i-disparo(trans_actual)>=act/paso. Como
disparo(trans_actual) 1 i (act /paso) +1 i - act / paso 1, y como act 0 i
1, con lo cual est demostrado que siempre ser ndice positivo no nulo el que se
160
evale despus de dicha condicin. De nuevo hay que asegurarse de que sea esa la
primera condicin en el if (es decir, s influye el orden de las condiciones lgicas).
4.3.2.1. Ejemplo
Como ejemplo veremos uno similar a los anteriores, que es el que se muestra en la
Figura 7. El programa que implementa este ejemplo est impreso en la Figura 8.
p1
t1
p2
2
t2
4.3.2.2. Coherencia
E igualmente podemos comprobar que esta implementacin de la transicin
temporizada es coherente con el hecho de que una temporizacin igual a cero equivale a
no tener temporizacin. As, la condicin que se ha impuesto nueva,
i-disparo(trans_actual)>=act/paso
161
4.3.3.1.
Ejemplo
162
Producto
Maqu.
3
Maqu.
2
Buffer 2
Buffer
1b
t3
MAQU 3
t6 p16
BUF 2
t5 p
14
.p
15
Maqu.
1a
Buffer
1a
MAQU 2
t4 p
12
...p
13
p11
BUF 1a
p4
t2a
Maqu.
1b
MAQU 1a
p5
p3
...
p2
t2b
p10
p9
...
BUF 1b
p8
p7
Piezas A
Piezas B
t1a Piezas
A
k
p1
t1b Piezas
B
k
p6
MAQU 1b
163
4.4.
Redes mixtas
Como comentbamos en el apartado anterior, todo lo visto hasta ahora en cuanto a las
redes temporizadas es vlido en sistemas en los que todas las transiciones son
temporizadas. Con el trmino Redes Mixtas nos estamos refiriendo a redes con
transiciones tanto sin temporizar como temporizadas (incluso con temporizaciones de
164
diversos tipos). Cuando es as, hay que tener en cuenta que con lo realizado hasta el
momento no estamos garantizando que no "transcurra tiempo" en el disparo de
transiciones sin temporizar.
Supongamos una red secuencial de dos lugares y dos transiciones en la que la nica
transicin con retardo sea la que tenemos marcada (Figura 9).
p1
t1
p2
t2
Tim (1 seg)
Tim
La simulacin de esta red, realizada su implementacin tal cual hemos visto hasta ahora,
nos da la grfica que indicamos en la Figura 11. Tambin se incluye el programa que la
implementa, en la Figura 10, a modo de ejemplo de sistema con pesos unitarios, de cuyo
tipo no se haba incluido an ninguno.
close;
hold off;
t0=0;
tf=10;
paso=0.1;
tspan=t0:tf/paso-1;
tim=1;
Y=[1 0];
for i=2:tf/paso
Y(i,:)=Y(i-1,:);
if Y(i,1)>=1
Y(i,1)=Y(i,1)-1; Y(i,2)=Y(i,2)+1;
end
if i>=tim/paso & all(Y(i-tim/paso:i, 2))
Y(i,2)=Y(i,2)-1; Y(i,1)=Y(i,1)+1;
end
end
subplot(2,1,1), plot(tspan/10,Y(:,1),'r');
subplot(2,1,2), plot(tspan/10,Y(:,2),'b');
165
1
0.8
0.6
0.4
0.2
0
0
10
10
1
0.8
0.6
0.4
0.2
0
166
1
0.8
0.6
0.4
0.2
0
0
10
20
30
40
50
60
70
80
90
100
10
20
30
40
50
60
70
80
90
100
1
0.8
0.6
0.4
0.2
0
Figura 12: Grfica con paso 0.01. El error relativo del periodo, frente al
terico es igual a un paso, es decir el 1%.
1
0.8
0.6
0.4
0.2
0
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.8
0.6
0.4
0.2
0
Figura 13: Grfica con paso 0.1. El error relativo del periodo, frente al
terico es igual a un paso, es decir el 100%.
167
Cuando se recorren todas las transiciones sin que ninguna de ellas se dispare,
entonces se avanza en la iteracin del tiempo y se vuelve al paso anterior
La forma de implementar esos pasos consiste en incluir dentro del bucle for i que
computa el tiempo, otro bucle con control final del mismo (repeat...until, o do...while).
Dado que en Matlab no existen bucles de control final, en la siguiente implementacin
se construir a partir de uno con control al principio (un while...do), lo cual no
constituye ninguna complicacin importante, pero conviene tenerlo en cuenta para
realizarlo de forma ms sencilla cuando se realice la implementacin en otro tipo de
lenguajes que s que dispongan de ese tipo de estructuras (Pascal, Java, etc.).
Con todo ello el algoritmo queda tal cual se indica en la Figura 14.
Figura 14: Algoritmo para la implementacin de redes mixtas con retardos en el disparo
de la transicin.
Hay que prestar atencin a que ahora se itera desde i=1, y se ampla la matriz Y en una
fila ms al final de la iteracin, en vez de al principio. Esto es porque ahora slo se
168
almacenan los marcados finales en cada instante de tiempo, por lo cual ni siquiera el
marcado inicial necesariamente coincide con el primero que aparezca en las grficas, ya
que puede evolucionar antes de que pase tiempo. Por ejemplo esto es lo que ocurre en
el ltimo ejemplo (el de la Figura 9), en el que el marcado inicial es [1 0] y sin embargo
el marcado almacenado para el primer instante (valor 1 de la matriz, pero que equivale a
tiempo cero) es [0 1].
4.4.1.1. Ejemplo
Como ejemplo vamos a implementar segn el anterior algoritmo la RdP de la figura 15.
El programa que se obtiene est representado en la Figura 16.
p1
t1
p2
t2
169
1
0.5
0
-0.5
-1
0
10
10
2
1.5
1
0.5
0
10
Figura 19: Algoritmo de implementacin de redes mixtas con transiciones con retardo
en la sensibilizacin
171
4.4.2.1. Ejemplo
Y siguiendo dicho algoritmo, la implementacin del problema de la Figura 9 queda
como se muestra a continuacin (Figura 20), y su simulacin coincide con las de las
Figuras 17 y 18, que efectivamente ahora s corresponde con el anlisis terico.
close;
hold off;
t0=0;
tf=10;
paso=0.1;
tspan=t0:tf/paso-1;
tim=1;
Y=[1 0];
sensib(1)=1;
for i=1:tf/paso
seguir=1;
while seguir ~=0
seguir=0;
if Y(i,1)>=1
Y(i,1)=Y(i,1)-1; Y(i,2)=Y(i,2)+1;seguir=1;
if Y(i,2)==1 %sensibilizacin tr2, que es la n1
sensib(1)=i;
end %del if
end %del if
if i-sensib(1)>=tim/paso & all(Y(i-tim/paso:i-1, 2))
Y(i,2)=Y(i,2)-1; Y(i,1)=Y(i,1)+1;disparo(1)=i;seguir=1;
end %del if
end %del while
if i<tf/paso
Y(i+1,:)=Y(i,:);
end %del if
end %del for
subplot(2,1,1), plot(tspan/10,Y(:,1),'r');
subplot(2,1,2), plot(tspan/10,Y(:,2),'b');
172
ventaja que tena una implementacin similar a la de los PLCs es que muchas veces esta
simulacin se emplea para detectar errores en la implementacin sobre el propio
autmata programable, y de esta manera se encontraban ms fcilmente.
Con todo lo comentado el algoritmo queda como se muestra en la figura 21.
174
4.5.2. Ejemplo
Como ejemplo vamos a analizar el sistema que ya ha sido analizado en la figura 15.
Como se trata de un sistema binario, es tambin exactamente equivalente al de la figura
9, es decir, la transicin puede ser considerada con cualquiera de los dos tipos de retardo
y el resultado no vara.
Segn el algoritmo de la Figura 21, el programa resultante es el que se muestra en la
Figura 22, y el marcado de los lugares queda como se muestra en la Figura 23.
close;
hold off;
t0=0;
tf=10;
paso=1;
Tim=[1];
Y=[1 0];
T=[0];
tiempo=0;
i=1;
tspan(1)=0;
while tiempo<=tf
i=i+1;
Y(i,:)=Y(i-1,:);
tspan(i)=tiempo;
seguir=0; %indica que no hay disparos si no se aumenta el tiempo
if Y(i,1)>=1
Y(i,1)=Y(i,1)-1; Y(i,2)=Y(i,2)+1;seguir=1;
end
if T(1)>=Tim(1)& Y(i,2)>=1
Y(i,2)=Y(i,2)-1; Y(i,1)=Y(i,1)+1;disparo(1)=i;seguir=1;
end %del if
if seguir==0
175
tiempo=tiempo+paso;
i=i-1; %elimino la ltima fila, que no ha cambiado
end
if Y(i,2)>=1
if seguir==0 & T(1)<Tim(1)
T(1)=min([T(1)+paso Tim(1)]);
end
else
T(1)=0;
end %del if
end %del while
subplot(2,1,1), plot(tspan,Y(:,1),'r');
subplot(2,1,2), plot(tspan,Y(:,2),'b');
10
10
1
0.8
0.6
0.4
0.2
0
176
4.5.4. Ejemplo
Veamos ahora otro claro ejemplo para distinguir los efectos de simular segn el
algoritmo de la Figura 21 el de la Figura 24. Supongamos que tenemos el sistema de
la Figura 25. Se trata de un simple sistema secuencial con un temporizador en la tercera
transicin. De nuevo se trata de un sistema binario para que sea indiferente el tipo de
retardo que se emplee (si no lo fuese bastara con aplicar el tipo que corresponda, segn
est indicado en el algoritmo de la Figura 21). La simulacin de este ejemplo segn los
mtodos anteriores da un resultado exactamente igual al visto en los ejemplos de las
177
p1
t1
p2
t2
p3
t3
Tim
Tim
178
0.5
0
0
10
10
10
-1
1
0.5
Figura 26: Simulacin del sistema del ejemplo segn el algoritmo de la Fig. 21.
0.5
0
0
10
10
10
0.5
0
1
0.5
Figura 27: Simulacin del sistema del ejemplo guardando toda la informacin.
179
Tiempo
simulac
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
10
p1
p2
p3
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
1
Tiempo
simulac
0
0
0
1
1
1
2
2
2
3
3
3
4
4
4
5
5
5
6
6
6
7
7
7
8
8
8
9
9
9
10
10
10
10
p1
p2
p3
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
0
0
1
1
180
tiempo=0;
i=1;
tspan(1)=0;
while tiempo<=tf
i=i+1;
Y(i,:)=Y(i-1,:);
tspan(i)=tiempo;
seguir=0; %indica que no hay disparos si no se aumenta el tiempo
if Y(i,1)>=1
Y(i,1)=Y(i,1)-1; Y(i,2)=Y(i,2)+1;seguir=1;
elseif Y(i,2)>=1
Y(i,2)=Y(i,2)-1; Y(i,3)=Y(i,3)+1;seguir=1;
elseif T(1)>=Tim(1)& Y(i,3)>=1
Y(i,3)=Y(i,3)-1; Y(i,1)=Y(i,1)+1;disparo(1)=i;seguir=1;
end %del if
if seguir==0
tiempo=tiempo+paso;
i=i-1; %elimino la ltima fila, que no ha cambiado
end
if Y(i,3)>=1
if seguir==0 & T(1)<Tim(1)
T(1)=min([T(1)+paso Tim(1)]);
end
else
T(1)=0;
end %del if
end %del while
subplot(3,1,1), plot(tspan,Y(:,1),'r');
subplot(3,1,2), plot(tspan,Y(:,2),'b');
subplot(3,1,3), plot(tspan,Y(:,3),'g');
4.6.
Salidas
Una vez que hemos visto todas las posibles formas de simular la RdP que modeliza
nuestro sistema, en funcin del tipo de red de que se trate, no debemos olvidar las
salidas del sistema. Las salidas estn asociadas a los lugares. En realidad tambin
pueden asociarse al disparo de las transiciones, pero no es un caso habitual en sistemas
para la industria. En realidad tambin pueden asociarse a combinaciones o a funciones
de los lugares, es decir, a estados internos del sistema (puesto que el estado interno
viene definido por el marcado global).
Pero adems hay que tener en cuenta que esas salidas suelen ser a su vez entradas del
sistema, es decir, eventos asociados a las transiciones. De esta manera, empleando
salidas del sistema como entradas en otras transiciones conseguimos interrelacionar las
redes entre s.
Si las salidas fuesen siempre combinacin lineal de los estados internos, dado que el
estado lo tenemos en forma de matriz, o ms bien vector (la ltima fila de Y),
podramos conseguir el vector de salida S como una simple operacin matricial,
S=A*Y
(1)
181
donde A es la matriz que define las salidas en funcin del estado interno.
Pero al igual que ocurra con la evolucin de las transiciones, que en la prctica era muy
complicado de implementar por mtodos matriciales, con las salidas ocurre lo mismo,
debido a varias razones:
-
Por todo esto se suele implementar la activacin de las salidas en funcin del estado
interno de una forma similar a como se haca con la evaluacin del disparo de las
transiciones, de una en una.
p10
Salida 2
if Y(i,10)>0
S(2)=1;
else
S(2)=0;
end
182
p10
SET Salida 2
p10
RESET Salida 2
if Y(i,10)>0
S(2)=1;
end
if Y(i,10)>0
S(2)=0;
end
p10
SET Salida 2 p5
p10
Tim2 Salida 4
Tim2
183
4.6.3. Flancos
Otro tipo de seal muy empleada es la de los flancos, de subida o de bajada, de una
seal. Un flanco es simplemente la transicin de un valor (0 1) al otro. Cuando de una
salida lo que se vaya a emplear es uno de sus flancos para activar una transicin, la
forma de conseguir ese flanco es idntica a como la realiza un autmata programable: se
trabaja con dos seales distintas, la seal en cuestin y otra que es el flanco deseado. Y
el tratamiento que se les da a las dos en la actualizacin de las salidas es como se
muestra en el ejemplo de la figura siguiente: la seal se trata con normalidad, y antes
que ella se actualiza su flanco, simplemente testeando el valor que le corresponde a la
actualizacin de la seal y el que conserva an (que es el de la iteracin anterior).
p1
Salida 1
Salida 1
(Salida2)
p1
Salida 1
if Y(i,1)>0
S(1)=1;
else
S(1)=0;
end
Figura 34: Flanco ascendente y flanco descendente
Salida 1
(Salida2)
4.7.
Throughput
Uno de los datos ms interesantes a la hora de simular una RdP que modeliza un
sistema industrial es el throughput, que es el trmino en ingls con el que se denomina
produccin o rendimiento. Se ha considerado oportuno mantener el trmino por dar idea
de que consiste en conocer la cantidad que pasa a travs de una transicin, las marcas
que evolucionan hasta los lugares de incidencia posterior. Conocida adems la
evolucin de dicho dato se puede conocer la frecuencia de produccin.
En realidad para conocer el throughput bastara con incluir en la red un lugar que vaya
integrando el paso de material que se produce a travs de la transicin. Por ejemplo en
184
t6 p16
.p
15
: :
Figura 35: Lugar que integra la produccin.
Una forma sencilla de conocer tanto la produccin total en una transicin, como la
frecuencia (o el periodo), puede consistir simplemente en emplear un contador del
nmero de disparos de la transicin en cada instante, o bien en emplear un vector que
indique en qu instantes se produce un elemento nuevo.
La primera de dichas opciones se emplea para casos ms simples, y se puede realizar
incluyendo dentro de las acciones que derivan del disparo de la transicin esta nueva:
disparo(i)=1;.
Con ello luego se puede plotear el vector booleano que nos indica en qu instantes
(pasos) ha habido disparo: plot(disparo); .
En la segunda opcin, empleada para casos ms complejos, se debe incluir en el cdigo
del programa las instrucciones que se muestran a continuacin. Adems todo ello ya
est incluido en cdigo del ejemplo previo de produccin correspondiente a la Figura 8b.
-
Figura 36: Implementacin del Throughput de una transicin, y obtencin del periodo y
la frecuencia.
185
Hay que tener en cuenta que pueden darse varios disparos en un mismo instante de
tiempo (redes mixtas) por lo cual la frecuencia puede tener valor infinito. En esos casos
basta con trabajar slo con el periodo (de no ser as el problema lgicamente dar error).
4.8.
186
INICIALIZACIN
repetir='si';
iteraciones=1;
t0=0;tf=0;
definir paso, Y inicial y trans;
repetir='si';
iteraciones=1;
while repetir~='no'
tiempo=input('Cuntos segundos quieres evaluar?');
tf=tf+tiempo
tspan=t0/paso:(tf/paso)-1;
for i=2:(tiempo/paso)
Y(i,:)=Y(i-1,:);
ITERACIONES DE TRANSICIONES, TEMPORIZADORES Y SALIDAS
end
%sacar grficas del tramo de evaluacin realizado
disp('El ltimo valor encontrado de Y es');Yf
repetir=input('Quieres seguir simulando? ','s');
clear Y;Y=Yf;t0=tf;
end %del while
Figura 37-b: Modificacin del programa 8-b para ampliar el horizonte de simulacin.
En el captulo correspondiente a la aplicacin prctica industrial veremos que
empleando Matlab como sistema de simulacin se puede obtener la grfica
correspondiente a cada tramo simulado, pero tambin se puede ir realizando las grficas
a partir de las anteriores, de tal forma que aunque en cada nueva sub-simulacin se
pierden los datos de la anterior, la grfica representa el proceso de simulacin completo.
Evidentemente en este ltimo caso (de grfica del proceso total) s se puede correr el
riesgo de desbordamiento del sistema en horizontes muy grandes (si bien las grficas
optimizan los valores a medida que los van recibiendo, y varios valores consecutivos
iguales ocupan menos informacin en el sistema que en la matriz Y).
187
Sin embargo hay que tener cuidado con el mtodo de iteracin que se est utilizando
para la simulacin cuando se emplee el horizonte temporal variable. Si se est
analizando redes temporizadas, y el mtodo por el que se comprueba si ha transcurrido
el tiempo necesario es analizando las ltimas filas de la matriz Y, (como es el caso del
ejemplo anterior) al comenzar una nueva iteracin se est reinicializando
automticamente los temporizadores. Ello no ocurre en simulaciones de sistemas sin
temporizar (Figura 2), o en simulaciones con temporizacin en las que se almacena el
tiempo transcurrido en un vector (Figuras 21 y 24). Este problema puede evitarse
iniciando cada nuevo periodo temporal con una nueva matriz Y con las filas suficientes
para abarcar el tiempo del mayor retraso, pero aun as es ms recomendable emplear un
algoritmo de simulacin en el que ello no sea necesario, tal como se har en la
aplicacin industrial que se muestra en captulos posteriores.
4.9.
188
4.9.1. Ejemplo
Como ejemplo de sistema continuizado veremos el ejemplo tratado en la seccin 4.3.3.1
(Figura 8-a). Como ya hemos comentado el proceso de continuizacin es complejo y
requiere de grandes fundamentos. La continuizacin de dicho sistema puede llevar a un
sistema igual al de la Figura 8-a pero considerando los lugares y transiciones como
continuos, donde las velocidades a las que pasan las marcas por las transiciones son
proporcionales al mnimo de los marcados incidentes (lo que se denomina infinitos
servidores o velocidad variable), o bien puede llevar a un sistema como el representado
en la Figura 38, en el que las velocidades a las que pasan las marcas por las transiciones
estn acotadas por un valor constante (lo que se denomina finitos servidores o velocidad
constante).
BUF 1a
MAQU.
1a
PIEC A
k
BUF 2
3
PROD
MAQU. 3
MAQU.
1b
3
BUF 1b
PIEC B
k
3
MAQU. 2
t6=l6*Y(16);
deriv=zeros(16,1);
deriv(1)=t6-t11;
deriv(2)=t21-t11;
deriv(3)=t11-t21;
deriv(4)=t3-t21;
deriv(5)=t21-t3;
deriv(6)=t6-t12;
deriv(7)=t22-t12;
deriv(8)=t12-t22;
deriv(9)=t3-t22;
deriv(10)=t22-t3;
deriv(11)=t4-t3;
deriv(12)=t3-t4;
deriv(13)=t5-t4;
deriv(14)=t4-t5;
deriv(15)=t6-t5;
deriv(16)=t5-t6;
Figura 39-b: Programa ec_infinite, que describe las ecuaciones diferenciales del sistema
de la Figura anterior.
190
2.5
1.5
0.5
0
0
10
if min(min(Y(3),Y(6)),Y(7))>0
t2=l2;
else
t2=0;
end;
if Y(8)>0 t3=l3;
else
t3=0;
end;
deriv=zeros(8,1);
deriv(1)=t3-t11;
deriv(2)=t2-t11;
deriv(3)=t11-t2;
191
else
t12=0;
end
deriv(4)=t3-t12;
deriv(5)=t2-t12;
deriv(6)=t12-t2;
deriv(7)=t3-t2;
deriv(8)=t2-t3;
Figura 41-b: Programa ec_finite, que describe las ecuaciones diferenciales del sistema
de la Figura anterior.
La simulacin del sistema discreto, eliminando todas las instrucciones superfluas y
prescindibles, en un computador medio para un tiempo de 100 segundos con paso de 0.1
cuesta 4.17 segundos. La misma simulacin con las mismas caractersticas en el sistema
continuo cuesta tan slo 1.65 segundos. Si se ampla el horizonte de simulacin hasta
los 1000 segundos, el discreto tarda 412.55 segundos, por los 18.67 del continuo.
4.11. Conclusiones
La aportacin de este captolo dentro de la investigacin de la tesis consiste en el
desarrollo de la metodologa apropiada para la simulacin de cualquier sistema que
hayamos modelado mediante RdP (por tanto tambin mediante GRAFCET) en un
lenguaje de programacin. Adems, dada la difusin, sobre todo en el mbito
universitario, de la aplicacin informtica Matlab, as como su potencia y simplicidad,
se particulariza dicha metodologa para dicho lenguaje de programacin. La adaptacin
a cualquier lenguaje de alto nivel de propsito general es bastante sencilla. En el anlisi
se tiene adems muy en cuenta los puntos que posteriormente sern interesantes en las
aplicaciones industriales reales, como son el throughput, el tipo de salida, los tipos de
retardos, la variacin de parmetros temporales, etc.
Toda esta aportacin se emplear adems posteriormente en la simulacin de una planta
industrial real.
4.12. Referencias
[1] M. Ajmone Marsan, editor. Application and Theory of Petri Nets 1993, volume 691
of Lecture Notes in Computer Science. Springer, 1993.
[2] M. Ajmone Marsan, G. Balbo, and G. Conte. A class of generalized stochastic Petri
nets for the performance analysis of multiprocessor systems. ACM Trans. on Computer
Systems, 2 (2) : 93-122, 1984.
[3] M. Ajmone Marsan, G. Balbo, G. Conte, S. Donatelli, and G. Franceschinis.
Modelling with Generalized Stochastic Petri Nets. Wiley, 1995.
[4] H. Alla and R. David. Continuous and hybrid Petri nets. Journal of Circuits,
Systems, and Computers, 8 (1): 159-188, 1998.
[5] J. Aracil. Introduction la Dynamic des Systmes. Presses Universitaires de Lyon,
1984.
[6] P. Brandimarte and A. Villa. Advanced Models for Manufacturing Systems
Management. Mathematical modelling series. CRC Press, 1995.
[7] G. Ciardo, C. Nicol, and K. S. Trivedi. Discrete-event simulation of fluid stochastic
petri nets. In Procs. Of the 8rd Int. Workshop on Petri Nets and Performance Models
(PNPM97). IEEE-Computer Society Press, 1997.
[8] R. David and H. Alla. Continuous Petri nets. In Proc. Of the 8th European Workshop
on Application and Theory of Petri Nets, pages 275-294, Zaragoza, Spain, 1987.
193
[9] R. David and H. Alla. Autonomous and timed continuous Petri nets. In G.
Rozenberg, editor, Advances in Petri Nets 1993, volume 674 of Lecture Notes in
Computer Science, pages 71-90. Springes, 1993.
[10] S. B. Gershwin. Manufacturing Systems Engineering. Prentice-Hall, 1994.
[11] L. E. Holloway, B. H. Krogh, and A. Giua. A survey of peri net methods for
controlled discrete event systems. Journal of Discrete Event Dynamic Systems, 7: 151190, 1997.
194
Tema 5
IMPLEMENTACIN DE TCNICAS
AVANZADAS
EN
LA
AUTOMATIZACIN
5.1. Introduccin
En este captulo se analiza la utilizacin de tcnicas ms avanzadas que se integran
dentro de las RdP empleadas en las automatizaciones. En concreto la investigacin se
enfoca sobre dos puntos: la automatizacin mediante RdP adaptativas, para procesos de
produccin altamente cambiantes (apartado 5.2), y el empleo de tcnicas de inteligencia
artificial, ms concretamente de tcnicas de bsqueda, en la automatizacin del proceso
(apartado 5.3).
En este segundo apartado se pretende ms abrir el abanico de posibilidades que esas
tcnicas de bsqueda ofrecen para automatizaciones on-line que presentar unos
resultados concretos. Por ello se presenta una aplicacin diseada para resolver un
pequeo problema en un almacn, partiendo de una base terica que se presenta al
principio de la correspondiente seccin. Esa base terica no se ha incluido en el captulo
1, dedicado precisamente a tal tipo de contenidos, puesto que se aplica tan slo en este
captulo, pero hay que tener en cuenta que los apartados del 5.3.1 al 5.3.4 dan una visin
de las tcnicas de bsqueda, y que por tanto los expertos en el tema pueden obviarlos y
pasar directamente a la aplicacin.
Respecto a estas tcnicas, tanto las correspondientes a automatizaciones adaptativas
como las de inteligencia artificial, cabra destacar que se prestan muy a menudo a ser
usadas sobre sistemas robticos. La razn es que se trata de sistemas habitualmente
complejos y por esa razn suelen requerir de aplicaciones especiales.
Descripcin
del proceso
(Tabla)
Red de Petri
Programa
PLC
196
Modification of
specificatios
Analysis of
external events
Analysis of the
system evolution
Generation of the PN
no
Generation of
a new PN
Favourable
analysis?
yes
Pero es posible ir un paso ms all y permitir al propio sistema negociar y decidir estos
cambios de funcionamiento en el proceso, dependiendo de la evolucin de los eventos
externos (las entradas del sistema) y los requisitos de las salidas. De esta manera, se
realiza un control adaptativo, por el cual se modifica el funcionamiento (la asignacin
de recursos a los diferentes procesos). Esta modificacin no ocurre escogiendo diversas
opciones prefijadas, sino generando la ms conveniente por medio de la evolucin del
programa de funcionamiento dentro de los lmites establecidos. ste es un tipo de
optimizacin del proceso por medio de una evolucin constante (muy similar a las
tcnicas de algoritmos genticos). Lgicamente, esto tiene sentido en procesos que
cambian frecuentemente, donde una optimizacin off-line no puede llevarse a cabo de
una manera efectiva.
197
S3
5
Output conveyor
Robot 1
R1 1
6
S4
Input conveyor
2
3
7
8
Output conveyor
S1
R2 4
Robot 2
Input conveyor
S2
t1
t2
t19
t20
p2
p4
p17
p18
p7
p8
p9
p10
p13
p14
p15
p16
p5
p6
p11
p12
P1
t1
P3
t2
P2
P4
P5
t3
t4
P7
t7
t14
P8
P20
t5
P9
t8
P6
t6
P10
t9
t10
P11
P12
t11
t12
t13
t15
t16
P14
t17
t18
P15
P13
P16
P17
P18
t19
P19
t20
P20
198
La red de la Figura 5 es muy simple, pero no tiene en cuenta ningn conflicto potencial
entre los dos robots: cuando ambos van por el mismo lado o cuando se cruzan.
Tampoco tiene en cuenta la prioridad de uno u otro proceso (parece lgico para cada
robot tener un proceso prioritario, cuando pueden llevar a cabo varios). La introduccin
de estas condiciones (como se muestra en la tabla de la figura 6-b) lleva a una RdP ms
sofisticada, que se presenta en la Figura 6-a.
P1
t1
P3
t2
P2
P4
P5
t3
t4
P7
t5
P8
P20
t7
P10
t9
t10
P11
t14
t6
P9
t8
P6
P12
t11
t12
t13
t15
t16
t18
t17
P14
P15
P13
P16
P17
P18
t19
t20
P19
P20
p9 p10
t5
p7 p8
t15
p15
t16
p15 p16
t17
p13 p14
t18
p14
Supongamos que el proceso se modifica, por ejemplo introduciendo una nueva banda
transportadora como entrada y permitiendo a cada robot tomar piezas de la banda del
medio o de la banda ms prxima a s mismo. Entonces el resultado es el mostrado en la
Figura 7. La RdP para este proceso es muy similar a la RdP que corresponde al proceso
mostrado en la Figura 4-a, pero es diferente. Para obtener esta RdP desde la primera
(Figura 6-a) se necesita entender la red total. Una pequea modificacin en cualquier
parte de la RdP podra mejorar el comportamiento en esa parte pero estropear el proceso
199
Robot 1
R1 1
S1
Output conveyor
2 S Mid.
Input conveyor
6
7
8
Output conveyor
S4
Input conveyor
R2
4
Robot 2
Input conveyor
S2
input states
condition events
priority
processes
input states
output states
ending
condition events
priority
initial conditions
P1
P21
t21
t1
P2
P3
t2
P4
P22
P5
t3
t4
P7
t5
P8
t7
t14
P20
t6
P9
t8
P6
P10
t9
t10
P11
P12
t11
t12
t13
t15
t16
P14
t18
t17
P15
P13
P16
P17
P18
t19
P19
t20
P20
mapa tiene que incluir los datos de la de la figura 7-b, y estos datos son simplemente los
de la tabla de la figura 4-b, con un cierto orden, de modo que el programa pueda
entenderlos y traducirlos en la RdP.
La tabla de la figura 8-b corresponde al proceso de la Figura 4-a, y genera la RdP de la
Figura 6-a. Para conseguir la RdP correspondiente al proceso modificado (Figura 8), se
necesitaba simplemente cambiar algunos parmetros en esta tabla.
ELEMENT
Input conveyor 1 (S1)
Input conveyor 2 (S2)
Output conveyor 1 (S3)
Output conveyor 2 (S4)
Robot 1
Robot 2
STABLE STATES
S1
S2
S3
S4
R1-loaded / R1-free
R2-loaded / R2-free
end_pr1
R1load
pr3 activat. R2free.S1
disact.
R2load
end_pr2
R2free
pr8 activat. R2load.S4
disact.
R2free
pr9 act
S1
pr 3 pr 4
pr1 pr 2
end_pr3
end_pr4
pr 7
end_pr5
pr 7 pr8
end_pr6
pr 5 pr 6
end_pr7
pr 6
end_pr8
1
0
0
0
0
0
1
0
1
0
0
0
0
0
1
s1
0
0
pr10 act
S2
s2
pr11 act
S3
s3
pr12 act
S4
s4
R1
from
R1
from
catch
S1
catch
S2
R2 catch
from S1
R2 catch
from S2
R1 leave in
S1
R1 leave in
S2
R2 leave in
S1
R2 leave in
S2
come piece
to S1
come piece
to S2
leave piece
from S3
leave piece
from S4
201
P1
P1
P2
P1
P2
P1
P1+P2
t
t
P1
P2
P2
P1
Esto es muy similar a lo que ocurre con los lugares redundantes, pero ahora las
funciones son lgicas en vez de algebraicas. Incluso pueden existir varias maneras de
llevarlo a cabo. Por ejemplo, para conseguir una funcin lgica p1+p2 es posible: a)
202
duplicar la red existente (en figura 12a), b) hacer la duplicacin a parte (Figura 12b), c)
no duplicar la red, usando las transiciones de entrada y salida de los elementos de la
funcin lgica (Figura 12c).
P1
P1+P2
P2
P1
P2
P1+P2
P1
P2
P1+P2
A
Pr1
R2
R3
B2
R1
Pr
B
C2
Pr
203
R1
Pr11
Pr
A
s
Pr1
21
Pr13
r33
22
Pr
Pr
Pr
.
R3
Pr3
R2
s
C
Es ms, cada robot puede llevar a cabo los procesos del robot siguiente (R1 puede hacer
el proceso 2, moviendo piezas desde B hasta B2, y as sucesivamente con R2 y R3).
Esto sucede si no hay ninguna pieza esperando en su propio lugar, si los otros robots
estn ocupados y si hay una pieza esperando. Esto se muestra con una RdP en la Figura
15. Ri indica que el robot i est libre. Pri indica que el proceso i no est siendo realizado
por ningn robot. A (o B o C) indica que hay una pieza en el lugar A (o B o C). Y -s
indica que el sensor detecta que una nueva pieza ha venido al lugar, y est esperando
para que el robot la mueva.
Parece una buena poltica para manejar los recursos, pero no obstante, si el material
llega como se muestra en la tabla de la Figura 14, entonces cada robot llevar a cabo el
trabajo del siguiente, y ninguno har su trabajo.
La reasignacin de recursos simplemente consiste en una modificacin de la tabla de
generacin de la RdP. En este caso, se aumentan los grados de libertad de la evolucin
de la RdP. Pueden evolucionar segn las restricciones y prioridades, pero tambin segn
la estructura de la red. Como previamente se ha mostrado, esto puede llevarse a cabo
manualmente, despus de un anlisis off-line, o puede programarse para que se lleve a
cabo automticamente. En este ltimo caso, las condiciones de evolucin de los
elementos de la tabla deberan programarse dependiendo de la evolucin del sistema de
entrada y del estado interno. El sistema debera saber qu elementos son susceptibles de
ser modificados (aadidos o eliminados) y las condiciones para hacerlo. Por ejemplo, en
204
el ltimo proceso, la opcin de modificar el programa puede programarse para que cada
robot pueda cumplir los otros dos procesos (en lugar de slo el siguiente). De hecho esta
posibilidad de modificar la red, limitada por las opciones programadas, puede
interpretarse como un caso de modificacin de restricciones y prioridades de la red,
abarcando todas las posibilidades programadas [1, 2] (todos los robots tienen arcos a
todos los procesos, pero siempre hay algunas restricciones).
Lo importante en este tipo de programacin se centra en la reasignacin de recursos: se
han usado tcnicas de lgica difusa (Fuzzy) y redes neuronales en varios procesos
industriales similares a los de los ejemplos con resultados excelentes.
Todas las consideraciones anteriores se refieren a la modificacin del trabajo del
sistema para conseguir una mejora por medio de la adaptacin a las condiciones
cambiantes. De la misma manera, el funcionamiento puede adaptarse a un fallo en
cualquier subsistema. Despus de todo, un fallo en un elemento del sistema es lo mismo
que quitar uno de los recursos. Por ejemplo, en el ltimo caso, si un robot se estropea, o
es retirado, el efecto es igual que quitar este robot de la RdP (y por consiguiente sus
arcos de entrada y de salida) as como las condiciones lgicas. O tambin es lo mismo
que aadir un 0 lgico a sus transiciones.
205
En este estudio, que principalmente est centrado en sistemas de eventos discretos, las
tcnicas de IA han sido empleadas en las aplicaciones que manejan el almacn
automtico de bloques de elementos cermicos fabricados. En dicho almacn se
depositan los bloques de los distintos materiales a medida que se van fabricando, y se
van retirando cuando abandonan la fbrica. Pero cuando se producen cambios de
elemento fabricado, cosa que es relativamente frecuente (del orden de una vez por
semana), puede hacer falta recuperar algn bloque que no sea directamente accesible, en
cuyo caso hay que ir desplazando los bloques hasta traer el que nos interesa a una
posicin accesible. Esta tarea puede realizarse de varias maneras, y segn la disposicin
de los elementos en el almacn puede ser complicado encontrar una solucin, o puede
ocurrir que la solucin encontrada sea poco eficiente.
Precisamente para realizar la labor que acabamos de mencionar, de clculo de la
solucin ptima, se ha recurrido a las tcnicas de IA, implementando un algoritmo de
bsqueda en un programa informtico que se muestra a continuacin y que se ha
integrado dentro de la aplicacin completa de control de la planta automatizada.
En esta seccin se muestra en primer lugar un breve anlisis de los mtodos de
bsqueda, tanto los mtodos sin informacin como los de bsqueda heurstica.
Posteriormente se analizan las peculiaridades del problema concreto del almacn que se
est tratando, as como el mtodo de bsqueda implementado, y se muestra la heurstica
que se ha encontrado en las investigaciones para resolver el problema mejorando los
resultados (convergiendo ms rpidamente en las condiciones habituales de trabajo).
Finalmente se muestra la aplicacin informtica que se ha implementado en lenguaje
VB, para monitorizar el problema y el resultado, y que se integra dentro del conjunto de
aplicaciones de control avanzado del proceso.
207
208
Una vez que se ha definido el problema, se debe buscar la solucin. Para esto se debe
definir una estructura simblica y las operaciones necesarias para resolver problemas y
desarrollar estrategias, para as buscar eficiente y correctamente las posibles soluciones
para estas estructuras y operaciones.
Para realizar la medida de la eficiencia de la actuacin en la bsqueda de soluciones se
debe tener en cuenta el coste de la bsqueda, tanto en tiempo como en memoria, el xito
(logro de la solucin), y el coste total, que corresponde al del camino ms el de la
bsqueda.
La bsqueda de la solucin se lleva a cabo a travs de un espacio de estados, mediante
los siguientes pasos:
Se toma el estado inicial y se comprueba si es el estado objetivo.
Se expande el estado actual, generando nuevos estados aplicando operadores.
Se elige el siguiente estado a expandir, guardando los dems para despus en el
caso de que la primera eleccin no llegue al objetivo. La eleccin del estado que
se desea expandir primero depende de la estrategia de bsqueda
Se repiten los pasos de eleccin, prueba y expansin hasta alcanzar una
solucin, o hasta que no haya ms estados que expandir.
Este proceso de bsqueda se puede entender como la construccin de un rbol de
bsqueda. No se debe confundir este rbol de bsqueda (que se crea en el proceso de
bsqueda) con el espacio de estados (un grafo con estados y operadores).
Para construir los rboles de bsqueda se emplean como nodos estructuras de datos de
cinco componentes:
1. el estado en el espacio de estados al que corresponde el nodo, denominado nodo
padre
2. el nodo del rbol de bsqueda que gener ese nodo
3. el operador al que se aplic el nodo
4. el nmero de nodos de la ruta que hay desde la raz hasta dicho nodo (la
profundidad del nodo)
5. el coste de la ruta que va del estado inicial al nodo.
Cualquier nodo (salvo el inicial) tiene un nodo padre. Adems cada nodo no-final tiene
unos nodos que se generan a partir de l, a travs de una funcin expandir (funcin que
aplica a un nodo todos los operadores posibles, dndonos sus nodos rama). El grupo de
nodos que estn a la espera de ser expandidos se conoce como margen o frontera
(tambin llamado lista de nodos abiertos o de espera). La representacin ms sencilla
sera la de un conjunto de nodos, donde la estrategia de bsqueda es una funcin que
escoge el siguiente nodo que se va a expandir. Segn esto se supondr que el grupo de
nodos se implanta como si se tratara de una lista de espera.
Las operaciones con una lista de espera son las siguientes:
1. hacer lista de espera (Elementos): crea una lista de espera con base en los
elementos dados.
2. vaca (Lista de espera): contestar afirmativamente slo cuando no haya ms
elementos en la lista.
209
que
210
sucesivamente. De modo general, todos los nodos que estn en la profundidad d del
rbol de bsqueda se expanden antes de los nodos que estn en la profundidad d+1. Para
realizar una bsqueda preferente por amplitud, se utiliza un algoritmo BsquedaGeneral con una funcin de lista de espera mediante la cual se van poniendo los estados
recin llegados a la cola de la lista, a continuacin de todos los estados generados
previamente:
Funcin Bsqueda_preferente_por_amplitud (problema) responde con una solucin o
falla
Responde con Bsqueda_general (problema) En-Lista de espera al final.
La estrategia de la bsqueda preferente por amplitud es bastante sistemtica, ya que
primero toma en cuenta todas las rutas de amplitud 1, luego las de longitud 2, etc.
En la siguiente figura puede verse el avance de un sencillo rbol binario.
Caso de existir solucin, con seguridad que sta se encontrar mediante la bsqueda
preferente por amplitud; si son varias las soluciones, tal tipo de bsqueda preferente por
amplitud permitir siempre encontrar el estado meta ms prximo. En funcin de los
criterios, la bsqueda preferente por amplitud es muy completa y ptima, siempre y
cuando el coste de la ruta sea una funcin que no disminuya al aumentar la profundidad
del nodo, (por lo general, esta condicin se da slo cuando el coste de los operadores es
el mismo).
Hasta aqu, la opcin de la bsqueda preferente por amplitud parece atractiva. Pero, para
mostrar por que no es siempre la estrategia de opcin, considrese la cantidad de tiempo
y memoria que son necesarias para realizar una bsqueda. Ha de tenerse en cuenta el
espacio de estados hipottico, en el que la expansin de cada uno de los estados genera
b nuevos estados. Se dice que el factor de ramificacin de tales estados (y del rbol de
bsqueda) es b. La raz del rbol de bsqueda genera b nodos en el primer nivel, cada
uno de los cuales a su vez genera b nodos ms, dando un total de b2 en el segundo nivel,
y as sucesivamente. Supongamos ahora que en la solucin de este problema, hay una
ruta de longitud d. As pues, la mxima cantidad de nodos expandidos antes de poder
encontrar una solucin es:
1+b2+......+bd
Esta es por tanto la cantidad mxima, aunque la solucin puede aparecer en cualquiera
de los puntos del d-avo nivel. En el mejor de los casos, la cantidad ser menor a ste.
Por lo tanto, dependiendo de los casos, el coste en memoria o en tiempo, puede llegar a
ser prohibitivo, por tratarse de un problema de complejidad exponencial irresoluble en
la mayora de los casos, salvo que se trate de problemas poco complejos.
211
212
nodo raz al nodo hoja, junto con los nodos restantes no expandidos, por cada nodo de la
ruta. Si un espacio de estados tiene un factor de ramificacin b y una profundidad
mxima m, la cantidad de memoria que se requiere en una bsqueda preferente por
profundidad es slo de O(bm) nodos, en contraste con la cantidad de O(bd ) necesaria en
una bsqueda preferente por amplitud.
El inconveniente de la bsqueda preferente por profundidad es la posibilidad de que se
quede estancada al avanzar por una ruta equivocada. En muchos problemas, los rboles
de bsqueda son muy profundos, o hasta infinitos, de modo que en una bsqueda
preferente por profundidad nunca ser posible recuperarse de alguna desafortunada
opcin en uno de los nodos cercanos a la parte superior del rbol. La bsqueda
proseguir siempre en sentido descendente, sin ir hacia atrs, an en el caso de que
exista una solucin prxima. Por lo tanto, en estos problemas, este tipo de bsqueda o
se queda atrapada en un bucle infinito y nunca es posible regresar al encuentro de una
solucin, o a la larga encontrar una ruta de solucin ms larga que una solucin
ptima. Ello quiere decir que la bsqueda preferente por profundidad no es ni la ms
completa, ni la ptima. Por tanto, cuando existan rboles de bsqueda con
profundidades mximas prolongadas o infinitas ha de evitarse el empleo de la
bsqueda preferente por profundidad.
Es sencillo implantar la bsqueda preferente por profundidad mediante bsqueda
general.
Funcin Bsqueda-preferente-por- profundidad (Problema) responde con una solucin
o falla.
Bsqueda-general (problema) en-lista de espera al-frente
Bsqueda limitada por profundidad
Con el mtodo de bsqueda limitada por profundidad se eliminan las dificultades
expuestas en la bsqueda preferente por profundidad al imponer un lmite a la
profundidad mxima de una ruta. Para implantar tal lmite ha de utilizarse un algoritmo
especial de bsqueda limitada por profundidad, o utilizar el algoritmo general de
bsqueda con operadores que se informan constantemente de la profundidad. A modo
de smil podemos plantearnos el problema de encontrar el camino ms corto entre 2
ciudades, teniendo en el mapa 20 ciudades. Sabemos que en el caso de que exista
solucin, sta deber tener como mximo 19 ciudades. La implementacin al lmite en
profundidad se realiza utilizando operadores del tipo: Si se est en la ciudad A y hasta
all se ha recorrido una ruta que incluye menos de 19 pasos, proceder a generar un
nuevo estado en la ciudad B con una longitud de ruta que sea una unidad mayor. Este
nuevo conjunto de operadores garantiza que, caso de existir, se encontrar la solucin;
pero lo que no se garantiza es que la primera solucin encontrada sea necesariamente la
ms breve: la bsqueda limitada por profundidad es completa pero no ptima. Adems,
en el caso de elegir un lmite de profundidad excesivamente pequeo, la bsqueda
limitada por profundidad ni siquiera ser completa. La complejidad espacio-temporal de
la bsqueda limitada por profundidad es comparable a la bsqueda preferente por
profundidad. Requiere un tiempo de O(bl) y un espacio O(bl), en donde l es el lmite de
profundidad.
213
Lmite = 1
Lmite = 2
214
1+ b + b2+...+bd-2+bd-1+bd
Para dar una idea de su valor, supngase que b=10 y d=5; la cantidad correspondiente
es:
1 + 10 + 100 + 1.000 + 10.000 + 100.000 = 111.111
En el caso de una bsqueda por profundizacin iterativa, los nodos que estn en el nivel
inferior se expanden una vez y los que aparecen a continuacin del nivel inferior se
expanden dos veces, etc., hasta llegar a la raz del rbol de bsqueda, que se expande
d+1 veces. As que la cantidad total de expansiones en una bsqueda por profundizacin
iterativa es:
(d+1)*1+(d)*b+(d-1)*b2+...+3*bd-2+2*bd-1+bd
En este caso, para los valores anteriores de b=10 y d=5, la cantidad de expansiones es:
6+50+400+3.000+20.000+100.000=123.456
A efectos de comparacin. una bsqueda por profundizacin iterativa que comience por
la profundidad 1 y continu hasta llegar a la profundidad d expande solo el 11 % ms
nodos en una bsqueda preferente por amplitud o por profundidad hasta la profundidad
d, cuando b=10.
Cuanto mayor sea el factor de ramificacin menor ser el exceso de repeticin de
estados expandidos; incluso cuando el factor de ramificacin es 2, la bsqueda por
profundizacin iterativa slo consume el doble de la bsqueda preferente por amplitud
completa. Es decir que la complejidad temporal de la profundizacin iterativa sigue
siendo O(bd) y la complejidad espacial O(bd). Por lo general, la profundizacin
iterativa es el mtodo idneo para aquellos casos donde el espacio de estados es
grande y se ignora la profundidad de la solucin.
Bsqueda bidireccional
La bsqueda bidireccional es en esencia una bsqueda simultnea que avanza a partir
del estado inicial, que retrocede a partir de la meta y que se detiene cuando ambas
bsquedas se detienen en algn punto intermedio. En el caso de los problemas cuyo
factor de ramificacin es b en ambas direcciones, la bsqueda bidireccional se muestra
muy til. Si, como anteriormente se supone que existe una solucin cuya profundidad
es d, entonces la solucin estar a O(2bd/2)=O(bd/2) pasos, ya que en las bsquedas hacia
delante y hacia atrs solo se recorre la mitad del trayecto.
Para un caso concreto con b=10 y d=6, una bsqueda preferente por amplitud genera
1.111.111 nodos, mientras que una bsqueda bidireccional tiene xito cuando cada una
de las direcciones de bsqueda estn a profundidad 3, en cuyo caso generan 2.222
nodos. En teora esto parece maravilloso, pero antes de poder implementar el algoritmo
correspondiente han de resolverse varias cuestiones:
Lo ms importante es: qu significa tiene buscar hacia atrs a partir de la
meta?. Se definen los predecesores de un nodo n como todos aquellos nodos
cuyo sucesor es n. La bsqueda hacia atrs implica pues la sucesiva generacin
de predecesores a partir del nodo meta.
215
Si todos los operadores son reversibles, los conjuntos predecesor y sucesor son
idnticos; pero en algunos problemas, sin embargo, el clculo de los
predecesores puede resultar muy difcil.
Qu se har cuando son varios los posibles estados meta? En el caso de contar
con una lista explcita de los estados meta, podemos aplicar una funcin de
predecesor al conjunto de estado exactamente como se aplic la funcin del
sucesor en una bsqueda de estado mltiple. Si slo contamos con una
descripcin del conjunto, aunque es posible darse una idea de los conjuntos de
estados que podran generar el conjunto meta, resulta un procedimiento
engaoso. Por ejemplo, en un juego de ajedrez cules son los estados que se
consideran predecesores a la meta jaque mate?.
Es necesario contar con una herramienta eficiente para verificar cada uno de los
nodos nuevos a fin de saber si ya estn en el rbol de bsqueda de la otra mitad
de la bsqueda.
Ha de definirse que bsqueda se realizar en cada una de las dos mitades.
Tiempo
Espacio
ptima
Completa
bd
bd
Si
Si
bd
bd
Si
Si
Preferente
por prof.
Limitada en Profundi-zacin
prof.
iterativa
Bidireccional
bm
bm
No
No
bl
bl
No
Si cuando
l>=d
bd/2
bd/2
Si
Si
bd
bd
Si
SI
216
rbol sea finito, evitar la repeticin de estados produce una reduccin exponencial del
coste de bsqueda.
Existen tres formas de manejar los estados repetidos. Por orden de eficiencia y exceso
de cmputo son:
- No ha de regresarse al estado del que acaba de llegar. Ha de instruirse a la funcin de
expansin (o al conjunto del operador) para que se niegue a generar un sucesor cuyo
estado sea el mismo que el del nodo padre.
- No han de crearse rutas que contengan ciclos. Ha de instruirse a la funcin de
expansin (o al conjunto de operadores) a que se niegue a generar sucesores de un nodo
idnticos a cualquiera de los ancestros del nodo.
- No ha de generarse ningn estado que se haya generado alguna vez anteriormente.
Para ello, han que guardarse en la memoria todos los estados generados, lo que implica
potencialmente una complejidad espacial de O(bd). Es mejor considerar lo anterior
como O(s), en donde s es la cantidad de estados en la totalidad del espacio de estados.
Para implantar esta ltima opcin, los algoritmos de bsqueda utilizan una confusa tabla
en la que se guardan todos los nodos generados. De este modo la verificacin de estados
repetidos resulta ser una opcin razonablemente eficiente. El compromiso entre el coste
de almacenar y verificar y el coste de la bsqueda adicional depender del problema:
cuantos ms bucles tenga el espacio de estados, mayor ser la posibilidad de que la
verificacin rinda dividendos.
Desde el punto de vista formal, h puede ser cualquier funcin, habiendo de cumplir el
nico requisito es que h(n) = 0 cuando n es una meta.
Por otra parte, tambin es deseable que la funcin heurstica aporte una idea de lo cerca
que est un estado de la solucin, en el sentido de que su valor sea menor cuando ms
cerca est de esta.
Bsqueda A*. Reduccin del coste de ruta total al mnimo
Con la bsqueda avara, como permite reducir al mnimo el coste de la meta, h(n), se
reduce en forma considerable el coste de la bsqueda. Por desgracia, este tipo de
bsqueda no es ptimo ni tampoco completo. De otra parte, la bsqueda de coste
uniforme, reduce al mnimo el coste de la ruta, g(n) y es ptima y completa, aunque
puede ser muy ineficiente. Sera muy interesante utilizar ambas estrategias para as
combinar las ventajas que ofrecen, lo cual es por suerte posible hacerlo, combinando las
dos funciones de evaluacin mediante una suma:
f(n)=g(n)+h(n)
Dado que con g(n) se calcula el coste desde la ruta que va del nodo de partida al nodo n,
y h(n) es es coste estimado de la ruta de menos coste que va de n a la meta, tenemos
que:
f(n) = coste estimado de la solucin de menos coste, pasando por n.
218
cierto, desde luego, salvo que haya una cantidad infinita de nodos con f(n)<f*. La nica
forma de que haya una cantidad infinita de nodos es:
a) que haya un nodo con factor de ramificacin infinito o
b) que haya una ruta con coste de ruta finito, pero con un nmero infinito de nodos
a lo largo de ella.
Los dos casos son infrecuentes en los problemas normales.
Por lo tanto, el enunciado correcto consiste en afirmar que A* es completa en grficas
localmente finitas (grficas con un factor de ramificacin finito), suponiendo que exista
una constante positiva , de modo que todos los operadores cuesten por lo menos .
220
221
Entonces se compara el estado del nodo en curso con la matriz objetivo, y si se cumplen
todas las condiciones entonces el objetivo se ha cumplido.
Coste del camino
Afortunadamente, el coste del camino en este caso coincide con la profundidad del nodo
en el rbol, ya que todos los operadores tardan en ejecutarse el mismo tiempo (porque el
bloque al desplazarse por entre dos lugares cualesquiera tarda el mismo tiempo). Esto es
porque el almacn es homogneo en la distribucin de sus lugares. Si no fuese as,
entonces habra que implementar una funcin coste, que nos indicara la longitud del
recorrido.
222
Esta solucin, en uno de los ejemplos ms sencillos, logr un camino correcto con una
expansin de tan slo 78 nudos, frente a los 357 del caso anterior. Y en los casos ms
complicados posibles siempre se logra una solucin sin agotar la memoria del
ordenador, cosa que no se lograba anteriormente.
Puesta en prctica del mtodo descrito
Para la realizacin prctica de la resolucin de este problema, se han realizado varias
versiones (programas de Visual Basic 5), hasta llegar a una solucin admisible tanto en
tiempo de ejecucin de la bsqueda de la solucin, como en nmero de pasos para
resolver el problema. A continuacin se describen por qu se han realizado estos
programas de esta forma, qu inconvenientes se les ha encontrado y por qu han sido
cambiados. Esto puede dar una idea de, sobre todo, que no hacer cuando se empleen
estas tcnicas en aplicaciones similares:
Versin 1:
En cada nodo se guarda la ruta en una cadena de texto, por lo que consume mucha
memoria al tener que guardar en cada nodo una cadena de caracteres, por tanto
solamente podemos tener 940 nodos, lo que limita mucho el tipo de problemas que se
pueden resolver.
Versin 2:
En un intento de resolver el problema anterior, en lugar de guardar la ruta para llegar a
ese nodo, se guarda el nodo padre, y aprovechando que en los nodos se guarda el
operador que lo ha generado, podemos reconstruir la ruta solamente con esta
informacin, y as pasamos de tener 940 nodos a 1400 nodos como mximo. Pero aun
as, hay algunos problemas sencillos (colocacin de 2 boxes en un determinado lugar)
que requieren mas de 1400 nodos.
Versin 3:
Para intentar paliar el problema de memoria, se realiza un paginado de las listas de
nodos, colocando solamente las paginas activas en memoria, con eso conseguimos
multiplicar por mucho la capacidad de memoria de las listas. El problema, es que andar
trabajando con disco duro en lugar de memoria, hace intratable el tiempo de ejecucin
del algoritmo, y para un problema real, esta solucin, sin ser acompaada de ninguna
mejora, no es viable.
Versin 4:
Para mejorar los tres mtodos anteriores en la tarea de encontrar una solucin ptima en
tiempo y que d solucin aceptables, se ha intentado buscar otro tipo de soluciones. En
primer lugar se puede observar que la heurstica utilizada era buena cuando queramos
llevar dos bloques a una posicin que estuviese separada; pero si la posicin destino era
contigua, se vea que el mtodo no era bueno al colocarlos en la posicin destino (no al
acercarlos a ella). Tambin puede observarse que si la posicin donde se quieren colocar
las cajas es cercana a su posicin original, la heurstica propuesta en la bibliografa
clsica (la de distancia de cada casilla a su posicin final) es sensiblemente mejor. As
que se puede deducir que el problema no depende tanto de la cantidad de memoria, sino
de la heurstica utilizada. Entonces, se ha optado por utilizar una heurstica que detecta
223
en cul de los dos casos nos encontramos. Es decir, si se puede encontrar una solucin
trabajando en una pequea zona del almacn, se utiliza la heurstica de la bibliografa, y
si no, la que se ha descrito anteriormente. Esta nueva heurstica ha conseguido dar
buenos resultados en tiempos de clculo cortos y con memoria dentro de los lmites.
Heurstica mejorada
Como hemos dicho en el apartado anterior, cuando queremos colocar varios bloques en
una zona contigua, y estos estn en una zona reducida, la heurstica que llamaremos
Heurstica1 funciona mejor, y cuando se quieren llevar a una zona alejada y que no
estn contiguos, funciona mejor la heurstica que llamaremos Heurstica2. Por otra
parte, cuando queremos expandir un nodo, si tiene en el Objetivo, un bloque marcado
como no movible, la funcin expandir, no lo expandir.
Con lo dicho anteriormente, se nos puede ocurrir que segn se van expandiendo los
nodos, si en lugar de hacerlo con el objetivo inicial, lo vamos haciendo en zonas mas
pequeas, restringindolo con un nuevo Objetivo2, que tenga delimitada la zona por
medio de bloques inamovibles, se podr encontrar, al ser mas pequea la zona, la
solucin mas rpidamente. Adems, si dependiendo del tamao de esa zona (mas de 3
filas o 3 columnas) se utiliza la heurstica 2 o la 1, entonces se podr encontrar la
solucin de forma ms eficiente tanto en tiempo como en espacio de memoria.
Esto tiene un inconveniente, que es que se puedan quedar zonas muertas por tener un
bloque inamovible dentro de esa zona, pero estos ya han sido tenidos en cuenta, y en ese
caso se desplazar la columna de bloques inamovibles de forma que no se ahogue y se
pueda encontrar una solucin. Todo lo dicho anteriormente se explica con los siguiente
ejemplos:
Tenemos el siguiente estado en la disposicin de los bloques de un nodo:
1
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
F13
224
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
F13
Entonces, nuestro nuevo objetivo, tendr una columna de bloques fijos a la izquierda de
la columna que est mas a la izquierda del rea de trabajo o del rea de objetivos. Lo
mismo pasar por la derecha. Entonces, sin tener en cuenta la casilla fija F13, nuestro
objetivo 2 sera:
X
F13
Reflexionando un poco, vemos que en esta disposicin del objetivo2, si tenemos algn
elemento fijo en las casillas sombreadas, podremos tener problemas a la hora de
solucionar el problema, porque tendremos casillas muertas para mover. En nuestro caso,
tenemos fija la casilla que pone F13, por lo tanto debemos mover a la derecha la
columna de elementos fijos de la derecha, quedndonos al final el objetivo2:
X
F13
Como vemos, tenemos reducido el rea donde se van a expandir los nodos, en este caso,
como es de 5 columnas se utilizar una Heurstica2, y si fuesen 3 columnas (tamao
mnimo limitado), entonces utilizaramos la Heurstica1.
225
Figura 19: Aplicacin informtica para el problema del almacn, y pantalla de ayuda.
5.4. Conclusiones
La aportacin de este captulo se centra en dos puntos: el primero en la utilizacin de
RdP dinmicas (con estructura variable) que se adapten a la produccin en sistemas
flexibles altamente variables, y el segundo el empleo de algoritmos de bsqueda para
encontrar solucin a problemas en la automatizacin.
226
5.5 Referencias
1. Belli, F., Grosspietch, KE.: Specification of fault-tolerant systems issues by
predicate/transition nets and regular expressions: Approach and case study. IEEE
Trans on Software Engineering (1991) 17 (6), 513-526
2. Burns, A., Wellings, A.: Real-Time Systems and Programming Languages. AddisonWesley, California (1996)
3. David, R.: Grafcet: A powerful tool for specification of logic controllers. IEEE Trans
on Control Systems Technology (1995) 3 (3) , 253-268
227
4. Jimnez, E., Miruri, JM., Martnez de Pisn, J.F., Gil, M.: Supervised Real-Time
Control with PLCs and SCADA in Ceramic Plant. 6th IFAC Workshop on
Algorithms and Architectures for Real-Time Control (2000) 1 , 221-226
5. Jimnez, E.: Redes de Petri de Supervisin y Simulacin de Procesos Industriales
Automatizados. XXI Jornadas de Automtica CEA-IFAC (2000)
6. Morriss, B.: Programmable Logic Controllers. Prentice Hall, New Jersey (1999)
7. N. Bhandari, D.K. Rollins. Superior Semi-Empirical Dynamic Predictive Modeling
that Addresses Interactions. IASTED Intelligent Systems and Control ISC'99 (1999)
8. N. Konstas, S. Lloyd, H. Yu, C. Chatwin. Generic Net Modelling Framework for
Petri Nets. IASTED Intelligent Systems and Control ISC'99 (1999)
9. Z. Bingul, A.S. Sekmen, S. Palaniappan, S. Sabatto. An Application of Multi
Dimensional Optimization Problems using Genetic Algorithms. IASTED Intelligent
Systems and Control ISC'99 (1999)
10. W.T. Goh, Z. Zhang. Autonomous Petri-Net for Manufacturing System Modelling
in an Agile Manufacturing Environment. IASTED International Confer. Robotics and
Applications 1999.
11. Evolutionary algorithms in engineering and computer science : recent advances in
genetic algorithms, evolution strategies, evolutionary programming, genetic
programming and industrial apllications / edited by K. Miettinen... [et al.] (1999)
12. Momoh, James A., Electric systems, dynamics, and stability with artificial
intelligence applications / New York ; Basel : Marcel Dekker, [2000] ISBN 0-82470233-6
13. Bender, Edward A., Mathematical methods in artificial intelligence / Edward A.
Bender (2000)
14. Vas, Peter, Artificial-intelligence-based electrical machines and drivers : application
of fuzzy, neural, fuzzy-neural, and genetic-algorithm-based techniques / Peter Vas
(1999)
15. National Conference on Artificial Intelligence (16th. 1999. Orlando), Proceedings :
Sixteenth National Conference on Artificial Intelligence (AAAI-99) : Eleventh
Innovative Apllications of Artificial Intelligence Conference (IAAI-99) : [July 18-22,
1999, Orlando, Florida] / [sponsored by the American Association for Artificial
Intelligence] (1999)
16. Inteligencia artificial y realidad virtual (2000) Madrid : Instituto de Cooperacin
Iberoamericana, 2000. Cuadernos hispanoamericanos, ISSN 1131-6438 ; 596.
Ejemplar monogrfico de la revista Cuadernos hispanoamericanos, n. 596 (2000)
228
229
Tema 6
APLICACIN EN PLANTA INDUSTRIAL
DE LTIMA GENERACIN.
6.1. Introduccin
En este captulo se presenta la aplicacin de todo lo comentado en los temas precedentes
sobre una planta industrial real de ltima generacin. La planta es una de las mayores
del mundo de fabricacin de ladrillos, y tambin una de las ms modernas. En concreto,
la ltima de las naves, que es a la que nos referiremos, an est en fase de prueba,
aplicando muchas de estas tcnicas, para conseguir ajustar los parmetros y mejorar en
lo posible el ritmo productivo. Veremos que las caractersticas de esta planta la hacen
especialmente propicia para muchas de las tcnicas desarrolladas en esta lnea de
investigacin: se trata de un proceso complejo y extenso, compuesto por mltiples
subsistemas fuertemente interconectados. Debido a las caractersticas del producto
siempre se debe estar modificando las caractersticas de produccin (se fabrica el tipo
de ladrillo que demanda el mercado), el proceso no es crtico por exigencias de tiempos
de respuesta, pero es frecuente producir material defectuoso por causas de variacin de
los parmetros tanto internos (tiempo en horno o secadero de las piezas, etc.) como
externos (temperatura y humedad ambiente, etc.).
Una de las dificultades comunes a todos los temas, que es la de resumir en no
demasiadas hojas las aportaciones del trabajo de investigacin, en este captulo ser
especialmente dificultoso, debido a la cantidad de material obtenido de dicho trabajo y
que debera ser incluido (y posiblemente debido tambin al entusiasmo de quien lo
redacta, que despus de tanto tiempo de investigacin sobre dicho proceso, con buenos
y malos resultados, considera la planta como una obra propia de la que se siente
ciertamente orgulloso).
Por tanto en este tema comenzaremos con un anlisis metodolgico de los sistemas
concurrentes formados por varios susbsistemas cclicos a travs de los que va pasando
el producto para seguir el proceso de produccin. Esta aportacin es novedosa respecto
al resto del trabajo. Posteriormente se explica detalladamente cmo es el proceso
productivo al que nos estamos refiriendo, y a partir de ah se van aplicando sobre dicho
proceso las tcnicas que hemos analizado en los captulos anteriores para analizar sus
resultados y comprobar la eficacia real de toda la investigacin.
6.2.1 Introduccin
En el modelado de plantas industriales es usual encontrar sistemas y relaciones entre
ellos, muy similar a otros que ya se han diseado. Por tanto, la experiencia en las
relaciones del modelado entre los subsistemas diferentes puede ser muy importante
cuando se modelan grandes sistemas formados por muchos subsistemas no
excesivamente complicados. Uno de estos sistemas podra ser el compuesto de varios
subsistemas cclicos relacionados con cada otro por relaciones autorizadas,
sincronizaciones, inclusiones y concurrencias, cuando el principal material de
produccin pasa sucesivamente a travs de cada ciclo para seguir una cierta ruta. En
esos sistemas el modelado del proceso industrial, y por consiguiente el control
automtico, pueden ser considerados desde varios puntos de vista: desde los ciclos
individuales, desde las diversas reas de la planta a lo largo de las cuales pasan los
ciclos, o incluso desde el propio material de produccin (piezas). Los tres puntos de
vista llevan al mismo resultado, puesto que la automatizacin es la misma, pero algunos
resultados pueden ser analizados ms apropiadamente dependiendo de la solucin
escogida. Cuando se desarrollan el modelado y el anlisis de la planta por medio de RdP
[7], dependiendo del punto de vista, los lugares y las seales tendrn significados
diferentes. Todo esto se podr comprobar mediante un proceso industrial, muy completo
e interesante que incluye muchos subsistemas en varios niveles y con procesos
diferentes, pero que en esencia tienen mucho en comn.
232
PROCESS
CYCLE 1
CYCLE
CYCLE 2
INPUT
OUTPUT
INPUT
OUTPUT
P2
n
t1
P3
P1
P2
n
t1
P4
t1
P3
P1
P2
t1
P4
t1
P5
estos ltimos podran ser registros de m registros, y podra ser posible proceder de la
misma manera a ms niveles.
INPUT
P2
P1
INPUT
t1
P3
P4
m
t2
t3
P5
t4
128
127
126
125
124
123
122
121
128 126
8
127 125
Parts
t5
n
P9
OUTPUT
P8
Containers of
containers
P2
4
P8
P7
t6
P4
m
P6
128 126
127 8 125
Containers
124 122
7
123 121
P5
P3
P3
P1
124 122
123 7 121
124 122
123 7 121
126
125
128
127
122
121
124
123
P9
OUT
PUT
124 122
123 7 121
P7
P6
128 126
8
127 125
128 126
127 8 125
124 122
123 7 121
P6
128 126
127 8 125
P5
Fig. 3. Flujo a travs de los ciclos a varios niveles. RdP e interpretacin en un proceso
industrial.
Cuando la aplicacin se lleva a cabo con PLCs, que normalmente no incluyen registros,
puede realizarse por medio de tablas: se asigna una tabla con n valores a cada elemento
de tipo contenedor. Igualmente, se asigna una tabla con m valores a cada contenedor de
contenedores tipo elemento. Finalmente, es necesario guardar una tabla asociada a los
elementos que fluyen a travs del ciclo con la informacin sobre los contenedores y los
contenedores de contenedores en los que las piezas se han guardado durante su paso a lo
largo del proceso. Esta ltima tabla debe tener tantas casillas como el nmero de
procesos entrelazados que siguen las piezas.
contenedor, entonces tambin son conocidas las piezas que hay en cada rea. Cada
disparo de transicin debe modificar estas Tablas de reas.
As, todas estas tablas representan los tres puntos de vista de la informacin:
- Las reas en la planta: Las Tablas de Areas
- Los elementos cclicos: Tabla de Contenedores y Tabla de Contenedores de
Contenedores
- Material de produccin o piezas: La Tabla de las piezas
Tambin es necesario tener presente que los valores no pueden ser implementados como
simples variables enteras, puesto que se trata de una red coloreada [6,7] (los elementos
son diferentes). Es necesario implementar estos valores como una tabla para registrar la
posicin exacta de los elementos (o los contenedores o los contenedores de
contenedores). Para ello, cada elemento (la pieza, el contenedor, etc.) tiene un nmero
que lo identifica (Tablas 1-4).
Y estas diferentes aplicaciones asociadas a los disparos de la transicin rellenarn las
tablas dependiendo de los datos de las tablas anteriores, pero tambin del tipo de
carga/descarga. Por ejemplo, si un grupo de piezas son movidas de un contenedor a
otro, el orden final ser diferente dependiendo de la forma en que se han movido (de
una en una, de dos en dos, en grupos, etc.), y adems debe ser tenida en cuenta la
naturaleza de los apilados en las estaciones (FIFO, LIFO, el etc).
Parts
Container
.......
121
122
123
124
125
126
127
128
.......
.......
7
7
7
7
8
8
8
8
.......
Container of
containers
.......
4
4
4
4
4
4
4
4
.......
Recip.
1
2
3
4
5
6
7
8
cont.
1
....
....
....
7
cont.
2=m
....
....
....
8
Tabla 3: Tabla de
conten. de conten.
Figura4:
Tablas del Proceso
part
2
....
....
....
....
....
....
122
126
part
3
....
....
....
....
....
....
123
127
part
4=n
....
....
....
....
....
....
124
128
part
1
....
....
....
....
....
....
121
125
Area
Parts
Containers
P1
P2
P3
P4
P5
P6
P7
P8
P9
129,130,131
-
1,2,3,4,5,6
-
Containers of
containers
1,2,3
1
-
235
proceso a lo largo del horno debe mantener una curva de temperatura a lo largo del
recorrido. El recorrido se divide en tres zonas: zona de precalentamiento, zona de
coccin y zona de enfriamiento rpido.
Temperatura (C)
1000
Longitud (m)
120 m
238
17
8
7
10
5
15
3
1
20
12
18
19
11
14
21
13
12
22
daados, y si hay un cuello de botella en cualquiera de los cuatro procesos, los robots
vecinos pueden ayudarle. Para conseguir esto, las cuatro RdP que corresponden al ciclo
del robot (Figura 7) se relacionan entre s como se muestra en la Figura 8 (slo es
mostrado el cuarto robot porque el proceso es completamente simtrico).
Es lgico dar prioridad a las transiciones "Tab, con a=b" puesto que cada robot es el ms
cercano a su proceso. Con respecto a las otras transiciones, "Tab con a=b", pueden
aplicarse varias polticas: la igualdad de prioridades, prioridad a un lado (derecho o
izquierdo), o prioridad dependiente del estado del proceso en ese momento.
Precisamente, se han obtenido muy buenos resultados en el sistema real cuando la
prioridad se maneja por medio de un sistema adaptativo basado en entrenamiento a
travs de redes neuronales.
El resto de ciclos simples son las plataformas mviles (8 y 9 en Fig. 10) que se encargan
del transporte de los carros de piezas desde una va a la otra, y el sistema para
transportar los paquetes finales al almacn (10 en Fig. 10). Su funcionamiento se
muestra en la Figura 9.
240
9
6
2
7
4
3
1
5
10
241
242
243
3
8
7
11
10
6
5
9
3
2
10
1
11
244
Pieces
generation
n
Trays
cycle
n
Gantry
crane
cycle
Trays
wagon
cycle
Trays
cycle
Temp
m
Empty
trays
Full trays
Con esta forma de representacin global del sistema, la automatizacin opera como si
cada ciclo trabajara independientemente. Pero puede perderse informacin interna sobre
los elementos que son transformados en otros (las piezas en bandejas, en carros de
piezas y en los paquetes del producto final; las bandejas en carros de las bandejas y en
piezas, etc.). Si es necesario guardar toda la informacin sobre dnde ha estado cada
elemento (la bandeja y los carros), hay dos maneras de hacerlo:
-
Usando la RdP global del sistema para el funcionamiento de la planta, y otro sistema
(un SCADA) para representar todos los ciclos y guardar su informacin.
ESPERAR
LADRILLO EN A
AVANZAR
LADRILLO EN A
CINTA3
CINTA 3 CINTA 4
LIBRE
LIBRE
AVANZAR A
CINTA 4
CINTA 4
LIBRE
ESPERAR CARGA DE
LADRILLOS
CINTA 3
LIBRE
CINTA 3
LIBRE
ESPERAR
BANDEJA
CINTA A
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
PUENTE GRUA 1
FIN REGRESAR
REGRESAR A
ORIGEN
FIN DEJAR
FIN COGER
COGER
LADRILLO
LADRILLO CINTA 3
LIBRE
EN A
ESPERAR
LADRILLO
CINTA 4
ESPERAR QUE
COJAN BANDEJA
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
REPOSO
FIN REGRESAR
REGRESAR A
ORIGEN
FIN MOVER
MOVER LADRILLO A
BANDEJA CARGANDO
n huecos en
zona de espera a
a carga
n de huecos en
secadero e
n de huecos en zona
de espera a descarga
n bandejas en
vagn cargando
n huecos en
vagn cargando
n ladrillos en bandeja
cargando
ESPERAR
BANDEJA
DEJAR BANDEJA
n bandejas en
cinta 4
n huecos en bandeja
cargando
TEMP
GENERACIN DE
LADRILLOS
n de ladrillos en
cinta A
GALLETERA
ROBOT 1
VAGN LLENO
ESPERAR
ZONA CARGA
ZONA CARGA
OCUPADA
CINTA 1
CINTA 2
LIBRE
AVANZAR
CINTA 2
LIBRE
ESPERAR
CINTA 1
LIBRE
ESPERAR
BANDEJA
VAGN DE BANDEJAS
AVANZAR
ZONA CARGA
ZONA CARGA
OCUPADA
FIN AVANZAR
AVANZAR A ZONA
ESPERA CARGA
VAGN VACO
ESPERAR
DESCARGA
ZONA DESCARGA
OCUPADA
AVANZAR ZONA
DESCARGA
ZONA DESCARGA
OCUPADA
n de vagones en zona
de espera a descarga
FIN AVANZAR
AVANZAR A Z.ESP.DESC.
n de vagones en
secadero
FIN AVANZAR
n bandejas
en pulmn
AVANZAR A SECADERO
n vagones en
b zona de espera
a carga
nhuecos en
pulmn
PULMN
n de bandejas en
cinta 2
n huecos en
vagn descargando
n bandejas en
vagn descargando
ROBOT 3
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 1
FIN COGER
COGER LADRILLO
PUESTO
1 LIBRE
ESPERAR
PUENTE GRUA 2
FIN REGRESAR
REGRESAR
A ORIGEN
FIN DEJAR
DEJAR BANDEJA
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
CINTA 1
LIBRE
ESPERAR
CINTA 2
FIN MOVER
MOVER BANDEJA
A PULMN
FIN DESCARGA
DE LADRILLOS
ESPERAR
DESCARGA DE
LADRILLOS
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
CINTA C
PUESTO 5
LIBRE
AVANZAR
PUESTO 5
LIBRE
ESPERAR
ROBOT 4
FIN VOLVER
VOLVER A
ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 4
FIN COGER
COGER LADRILLO
PUESTO
4 LIBRE
ESPERAR
huecos en carro
cargando
CINTA B
ESPERAR
ladrillos en carro
cargando
ROBOT 2
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A VAGN
FIN COGER
COGER LADRILLO
ZONA
PUESTO 2
CARGA LIBRE
LIBRE
PUESTO 2
LIBRE
AVANZAR
PUESTO 2
LIBRE
ESPERAR
huecos en bandeja
descargando
n ladrillos en
cinta B
ladrillos en bandeja
descargando
ESPERAR
n ladrillos
en cinta C
ladrillos en carro
descargando
huecos
en palet
huecos en zona de
espera a descarga
r
ladrillos
en palet
FIN AVANZAR
FIN CICLO H
CARROS EN
CICLO H
ROBOT 5
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A PALET
FIN COGER
COGER LADRILLO
PUESTO 5
LIBRE
ESPERAR
PALET
PALET
FIN REGRESAR
REGRESAR A
ORIGEN
FIN CARGAR
CARGAR PALET
VACO
FIN COGER
COGER PALET
CARGADO
FIN AVANZAR
AVANZAR ZONA
EMPAQUETADO
PALET
CARGADO
ESPERAR
MIENTRAS CARGAN
VAGN DE LADRILLOS
ESPERAR EN ZONA
DE CARGA
AVANZAR A ZONA
DE CARGA
ESPERAR
DESCARGA CARRO
AVANZAR HASTA
ZONA DE DESCARGA
FIN AVANZAR
FIN AVANZAR
AVANZAR
TRANSBORDADOR 2
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 2
FIN AVANZAR
AVANZAR
TRANSBORDADOR 1
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 1
FIN ESPERAR
carros en zona de
espera ciclo H
carros en zona de
espera a descarga
s
REGRESAR
A ORIGEN
FIN REGRESAR
TRANSBORDADOR 2
ESPERAR EN
ORIGEN
REGRESAR
A ORIGEN
FIN REGRESAR
TRANSBORDADOR 1
ESPERAR EN
ORIGEN
i
huecos en zona
de espera ciclo H
CARRO CARGADO
AVANZAR ZONA DE
ESPERA CICLO H
n palets
producidos
(Figura 22: Mapeado de memoria del modelo del sistema, sobre la RdP)
247
C3A C4A
CINTA 3
LIBRE
ESPERAR
BANDEJA
C3A
CINTA 3
LIBRE
CINTA 4
LIBRE
AVANZAR A
CINTA 4
CINTA3
CINTA 3 CINTA 4
LIBRE
LIBRE
C4A
ESPERAR CARGA DE
LADRILLOS
AAC4
MBPC3
ESPERAR
LADRILLO EN A
AVANZAR
CINTA A
CA2
BC1
C3_4
PG1D
ROPG1
PG1C
DBPG1
PG1B
BC2
PG1_1
COGER
BANDEJA
PUENTE GRUA 1
FIN REGRESAR
REGRESAR A
ORIGEN
FIN DEJAR
DEJAR BANDEJA
PG1_5
PG1_4
C4_1
FIN COGER
COGER
LADRILLO
R1A
CLR1
LADRILLO CINTA 3
LIBRE
EN A
ESPERAR
LADRILLO
n huecos en
zona de espera a
a carga
E1_1
ED1
HS
CINTA 1
VBB
VAGN LLENO
ESPERAR
EZCVB
ZONA CARGA
FIN AVANZAR
FCS
VBD
FIN AVANZAR
AVANZAR
ZONA CARGA
VBB
VBC
AZCVB
ZONA CARGA
OCUPADA
FIN AVANZAR
AVANZAR A ZONA
ESPERA CARGA AZECVB
VAGN VACO
ESPERAR
DESCARGA
AS
C1_3
FIN MOVER
R3_4
R3_3
R3_2
R3_1
n huecos en
vagn descargando
VD1
VD2
C_2_5
n de bandejas en
cinta 2
n bandejas en
vagn descargando
ROBOT 3
FIN VOLVER
VOLVER A ORIGEN
C1_2
AZED
AZDVB
VBA
ZONA DESCARGA
VBA
OCUPADA
AVANZAR ZONA
DESCARGA
ZONA DESCARGA
OCUPADA
VBE
AVANZAR A Z.ESP.DESC.
n de vagones en
secadero
VAGN DE BANDEJAS
VB7
CINTA 2
LIBRE
AVANZAR
CINTA 2
LIBRE
ESPERAR
CINTA 1
LIBRE
C1_1
n bandejas
en pulmn
R3C
VOR3
FIN COGER
MOVER LADRILLO
A PUESTO 1
R3B
MLP1
PUESTO
1 LIBRE
ESPERAR
COGER LADRILLO
BA
R3A
CLR3
AVANZAR A SECADERO
n vagones en
b zona de espera
a carga
E1_2
VB6
VB5
VB4
ESPERAR
BANDEJA
PU2
ZONA CARGA
OCUPADA
C2A
AC1
C2A
C1A
PU1
PULMN
n de vagones en zona
de espera a descarga
VB3
VS
VB2
VB1
nhuecos en
pulmn
ED2
n de huecos en
secadero e
MLBC
A C3A
n de huecos en zona
de espera a descarga
n bandejas en
vagn cargando
VC2
VC1
CINTA 4
ESPERAR QUE
COJAN BANDEJA
C4B
AC4
C4B
R1C
ROR1
R1B
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
REPOSO
n huecos en
vagn cargando
FIN REGRESAR
REGRESAR A
ORIGEN
FIN MOVER
MOVER LADRILLO A
BANDEJA CARGANDO
PG1_2
C4_3
C4_2
PG1_3
FIN COGER
AVANZAR
PG1A
CBPG1
R1_4
R1_3
R1_2
R1_1
n ladrillos en bandeja
cargando
FIN AVANZAR
APG1
ESPERAR
BANDEJA
C4_4
n bandejas en
cinta 4
C3_3
C3_2
C3_1
n huecos en bandeja
cargando
CA1
TEMP
GENERACIN DE
LADRILLOS
n de ladrillos en
cinta A
LADRILLO EN A
C3A
ACA
C_A
GALLETERA
ROBOT 1
PG2_5
PG2_4
PG2_3
PG2_2
PG2_1
C2_4
C2_3
C2_2
APG2
DBPG2
PUENTE GRUA 2
PG2D
ROPG2
PG2C
FIN REGRESAR
REGRESAR
A ORIGEN
FIN DEJAR
DEJAR BANDEJA
PG2B
PG2A
CBPG2
C1A
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
CINTA 1
LIBRE
ESPERAR
CINTA 2
MOVER BANDEJA
MBP
A PULMN
FIN DESCARGA
DE LADRILLOS
C2B
AC2
ESPERAR
DESCARGA DE
LADRILLOS
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
C2B
PUESTO
4 LIBRE
R4B
CB
ACC
CB
R4C
CINTA C
PUESTO 5
LIBRE
AVANZAR
PUESTO 5
LIBRE
ESPERAR
ROBOT 4
FIN VOLVER
VOLVER A
ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 4
FIN COGER
COGER LADRILLO
R4A
VOR4
MLP4
CLR4
CA
CC1
CC2
ESPERAR
CINTA B
ESPERAR
huecos en carro
cargando
C2_1
ladrillos en carro
cargando
R2C
PUESTO 2
LIBRE
ROBOT 2
FIN VOLVER
R4_4
R4_3
R4_2
R4_1
C_2
C_1
VLC BB
MLR2
CLR2
BB
B2
B1
R2A
MOVER LADRILLO
A VAGN
FIN COGER
COGER LADRILLO
PUESTO 2
LIBRE
AVANZAR
PUESTO 2
LIBRE
ESPERAR
R2_4
R2_3
R2_2
ZONA
CARGA
OCUPADA
ESPERAR
ACB
BB
B3
BD1
huecos en bandeja
descargando
n ladrillos en
cinta B
BD2
ladrillos en bandeja
descargando
R2_1
T2D
n ladrillos
en cinta C
CD1
ladrillos en carro
descargando
T1D
ESPERAR EN
ORIGEN
T2_1
REGRESAR
A ORIGEN
T1_4
TRANSBORDADOR 2
T2_4
huecos
en palet
PA1
VL3
T2_3
R5_3
R5_2
R5_1
VL7
VL6
VL5
VL4
PA2
P4
P3
P2
P1
P5
FIN AVANZAR
FIN ESPERAR
AZECH
T1A
CST1
VLE
FCH
T1B
T2A
T2B
AZCVL
ESPERAR EN ZONA
DE CARGA
PE CB
R5B
R5C
PB
CPC
PA
AZE
VOR5
PALET
FIN REGRESAR
PD
PC
REGRESAR A
ROP
ORIGEN
FIN CARGAR
CARGAR PALET
VACO
CPV
FIN COGER
COGER PALET
CARGADO
FIN AVANZAR
AVANZAR ZONA
EMPAQUETADO
PALET
CARGADO
ESPERAR
MIENTRAS CARGAN
ROBOT 5
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MLP
R5A
MOVER LADRILLO
A PALET
FIN COGER
PUESTO 5
LIBRE
ESPERAR
PALET
PP
n palets
producidos
VLB
VLC
AVANZAR A ZONA
DE CARGA
ESPERAR
DESCARGA CARRO
VLB
AZEDVL
AZDVL
AVANZAR HASTA
ZONA DE DESCARGA
CST2
AAT2
FIN AVANZAR
AVANZAR
TRANSBORDADOR 2
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 2
FIN CICLO H
k CARROS EN
CICLO H
FIN AVANZAR
AVANZAR
AT1
TRANSBORDADOR 1
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 1
VAGN DE LADRILLOS
VL2
T2_2
T1_3
T1_2
R5_4
ladrillos
en palet
CARRO CARGADO
AVANZAR ZONA DE
ESPERA CICLO H
carros en zona de
espera ciclo H
carros en zona de
espera a descarga
E2_1 s
REGRESAR
A ORIGEN
huecos en zona de
espera a descarga
r
E2_2
E3_2
TRANSBORDADOR 1
FIN REGRESAR
ROT1
ESPERAR EN
ORIGEN
T1_1
FIN REGRESAR
ROT2
C__3
huecos en zona
de espera ciclo H
E3_1
VL1
FIN TEMP
TIM 1
CINTA 3
LIBRE
FIN TEMP
TIM 12
AVANZAR
FIN COGER
FIN TEMP
TIM 12
COGER BANDEJA
PUENTE GRUA 1
FIN REGRESAR
FIN TEMP
TIM 12
REGRESAR A ORIGEN
FIN DEJAR
FIN TEMP
TIM 12
DEJAR BANDEJA
FIN AVANZAR
FIN TEMP
TIM 22
AVANZAR A CINTA 4
ESPERAR QUE
CARGUEN BANDEJA
FIN TEMP
TIM 16
MOVER
BANDEJA
CINTA3
ESPERAR
LADRILLO EN A
AVANZAR
CINTA A
CINTA 4 LIBRE
FIN TEMP
TIM 18
AVANZAR
BANDEJA EN
CINTA 4 LIBRE
CINTA 3 LIBRE
FIN REGRESAR
FIN TEMP
TIM 2
REGRESAR A ORIGEN
FIN MOVER
FIN TEMP
TIM 2
MOVER LADRILLO
FIN COGER
FIN TEMP
TIM 2
COGER LADRILLO
ROBOT 1
AVANZAR
ESPERAR
AVANZAR A ZONA DE
ESPERA DESCARGA
FIN CICLO
SECADERO
TIM 25
CINTA1
CINTA 1 LIBRE
FIN TEMP
TIM 21
AVANZAR
ESPERAR CINTA
2 LIBRE
LADRILLO EN
PUESTO 1
PUESTO 1 LIBRE
FIN TEMP
TIM 3
AVANZAR
FIN DEJAR
(PUENTE GRUA 2)
carros en ciclo>0
AVANZAR A ZONA DE
ESPERA DESCARGA
ESPERAR
AVANZAR A ZONA
DE ESPERA CARGA
FIN AVANZAR
FIN TEMP
TIM 30
AVANZAR A ZONA DE
ESPERA A CARGA
ESPERAR
DESCARGA
FIN TEMP
TIM 24
AVANZAR ZONA
DESCARGA
FIN AVANZAR
RESET ZONA
DESCARGA OCUPADA
FIN TEMP
FIN TEMP
TIM 31
AVANZAR A ZONA DE
ESPERA DESCARGA
ESPERAR
AVANZAR A
SECADERO
FIN AVANZAR
FIN TEMP
TIM 29
AVANZAR A
SECADERO
ESPERAR ZONA
DE CARGA
FIN TEMP
TIM 23
AVANZAR ZONA
CARGA
ESPERAR
BANDEJA
PREPARADA
FIN TEMP
TIM 17
RESET ZONA
CARGA OCUPADA
CINTA 4
FIN VOLVER
FIN TEMP
TIM 5
VOLVER A ORIGEN
FIN MOVER
FIN TEMP
TIM 5
MOVER LADRILLO A
PUESTO 1
FIN COGER
FIN TEMP
TIM 5
COGER LADRILLO
ROBOT 3
CINTA 2 LIBRE
FIN REGRESAR
FIN TEMP
TIM 7
FIN TEMP
TIM 19
AVANZAR
PUESTO 2 LIBRE
BANDEJA EN
CINTA 2 LIBRE
FIN TEMP
TIM 20
FIN VOLVER
FIN TEMP
TIM 8
PUESTO 4 LIBRE
FIN TEMP
TIM 9
LADRILLO EN
PUESTO 4
AVANZAR
MOVER BANDEJA
A PULMON
FIN MOVER
VOLVER A ORIGEN
FIN MOVER
FIN TEMP
AVANZAR
BANDEJA PREPARADA
FIN TEMP
TIM 10
MOVER LADRILLO A
PUESTO 4
TIM 8
FIN VOLVER
FIN TEMP
TIM 6
VOLVER A ORIGEN
FIN MOVER
FIN TEMP
TIM 6
FIN COGER
FIN TEMP
TIM 8
COGER LADRILLO
ROBOT 4
CINTA 2
AVANZAR
LADRILLO EN
PUESTO 2
FIN TEMP
TIM 4
CINTA 1 LIBRE
REGRESAR A ORIGEN
FIN DEJAR
FIN TEMP
TIM 7
DEJAR BANDEJA
FIN AVANZAR
FIN TEMP
TIM 7
AVANZAR
FIN COGER
FIN TEMP
TIM 7
COGER BANDEJA
PUENTE GRUA 2
CINTA B
MOVER LADRILLO A
CARRO
FIN COGER
FIN TEMP
TIM 6
COGER LADRILLO
ROBOT 2
CINTA C
COGER LADRILLO
FIN VOLVER
FIN TEMP
TIM 13
VOLVER A ORIGEN
FIN MOVER
FIN TEMP
TIM 13
MOVER LADRILLO A
PALET
FIN COGER
FIN TEMP
TIM 13
AVANZAR
PUESTO 5 LIBRE
LADRILLO EN
PUESTO 5
FIN TEMP
TIM 10
ROBOT 5
RESET ZONA
DESCARGA OCUPADA
AVANZAR A
ZONA CARGA
FIN TEMP
TIM 32
AVANZAR A ZONA
DESCARGA
FIN REGRESAR
FIN TEMP
TIM14
REGRESAR A ORIGEN
FIN AVANZAR
FIN TEMP
TIM 14
AVANZAR
TRANSBORDADOR
FIN SUBIR
FIN TEMP
TIM 14
CARRO SUBE A
TRANSBORDADOR 1
TRANSBORDADOR 1
PALET
AVANZAR ZONA DE
ESPERA CICLO HORNO
FIN TEMP
TIM 33
AVANZAR A
ZONA DE CARGA
ESPERAR
FIN
REGRESAR
FIN TEMP
TIM 11
PALET
REGRESAR A ORIGEN
FIN CARGAR
FIN TEMP
TIM 11
AVANZAR A ZONA DE
ESPERA A DESCARGA
FIN AVANZAR
FIN TEMP
TIM 27
AVANZAR A ZONA DE
ESPERA A DESCARGA
ESPERAR
AVANZAR A ZONA
DE ESPERA CH
FIN AVANZAR
FIN TEMP
TIM 26
AVANZAR A ZONA DE
ESPERA CICLO HORNO
FIN COGER
FIN TEMP
TIM 11
COGER PALET
CARGADO
FIN AVANZAR
FIN TEMP
TIM 11
AVANZAR ZONA
EMPAQUETADO
carros en ciclo>0
FIN TEMP
TIM 28
CARRO SUBE A
TRANSBORDADOR 2
FIN REGRESAR
FIN TEMP
TIM15
REGRESAR A ORIGEN
FIN AVANZAR
FIN TEMP
TIM 15
AVANZAR
TRANSBORDADOR
FIN SUBIR
FIN TEMP
TIM 15
CARRO SUBE A
TRANSBORDADOR 2
TRANSBORDADOR 2
R1A
LADRILLO EN A
FIN TEMP
TIM 1
TSCA
AAC4
TIM 22
SPG1_8
SPG1_7
SPG1_6
SPG1_5
SPG1_4
SPG1_3
SPG1_2
CINTA 3
LIBRE
SC3_4
FIN TEMP
TIM 12
TSPG1
TSPG1
APG1
PG1A
FIN COGER
AVANZAR
TSPG1
TSPG1
FIN TEMP
TIM 12
COGER BANDEJA
PUENTE GRUA 1
SC3_3
SC3_2
SC3_1
SCA3
SCA2
SCA1
PG1C
TSPG1
TSPG1
PG1D
TSPG1
TSPG1
FIN REGRESAR
FIN TEMP
TIM 12
CBPG1
TSC32
VBB
SC4_3
SC4_2
SC4_1
FIN TEMP
TIM 23
ESPERAR
AVANZAR A
SECADERO
FIN AVANZAR
PG1A
C4_4
SVB13
SCS1
ESPERAR
AVANZAR A ZONA DE
ESPERA DESCARGA
SVB15
SVB14
SCS2
AZDVB
EDVB
TSC1
TSVB4
TIM 25
TSCS
FCS
TSCS
carros en ciclo>0
VS
AVANZAR A ZONA DE
AZED
ESPERA DESCARGA
ESPERAR
AVANZAR A ZONA
AZECVB
DE ESPERA CARGA
TIM 30
SPG2_8
SPG2_7
SPG2_6
SPG2_5
SPG2_4
SPG2_3
SPG2_2
SPG2_1
CINTA 1 LIBRE
FIN TEMP
TIM 21
AVANZAR
AVANZAR A ZONA DE
AZECVB
ESPERA A CARGA
ESPERAR
DESCARGA
CINTA1
SCB3
SCB2
SCB1
TSC1
TSPG2
TSPG2
FIN REGRESAR
PG2D
TIM 7
ROPG2
DBPG2
REGRESAR A ORIGEN
PG2C
TSPG2
TSPG2
FIN DEJAR
FIN TEMP
TIM 7
DEJAR BANDEJA
TSPG2
CBPG2
BANDEJA EN
CINTA 2 LIBRE
CINTA 1 LIBRE
APG2
TSPG2
FIN TEMP
TIM 7
AVANZAR
FIN TEMP
TSPG2
COGER BANDEJA
TIM 7
TIM 19
AVANZAR
SC2_3
SC2_2
ROBOT 4
SC2_7
SC2_6
SC2_5
SR2_6
SR2_5
SC2_4
CINTA 2
SC2_!
BB
R2A
SR2_4
SR2_3
SR2_2
SR2_1
TIM 8
FIN TEMP
R4C
R4B
FIN VOLVER
R2B
FIN VOLVER
R2C
TSR2
TSR2
FIN TEMP
TIM 6
TSC22
FIN TEMP
AC2
TSC22
TSC22
MBP
TIM 9
LADRILLO EN
PUESTO 4
PUESTO 4 LIBRE
TSCC1
AVANZAR
SR4_6
ACC
CA
SR4_5
SR4_4
SR4_3
SR4_2
SR4_1
C2C
TIM 20
MOVER BANDEJA
A PULMON
SCC_1
SCC_3
TST1
TIM 14
FIN AVANZAR
T1D
FIN TEMP
TIM 32
TIM 13
TSR5
CB
R5B
ACC
AVANZAR
C3
FIN VOLVER
R5C
TIM 13
VOLVER A ORIGEN
R5B
TSR5
TSR5
FIN MOVER
FIN TEMP
PUESTO 5 LIBRE
R5A
TSR5
TSR5
CLR5
VOR5
FIN TEMP
TSCH
TIM 28
VL2
SP8
SP7
SP6
SP5
SP4
SP3
SP2
FCH
SP1
TSCH
PALET
SVL10
SVL11
SVL10
SVL6
SVL5
SVL4
SVL3
SVL2
TSP
TSP
CPC
PD
PE
PALET
TSP
TSP
FIN
REGRESAR
FIN TEMP
TIM 11
REGRESAR A ORIGEN
ROP
CPV
AZE
AZEDVL
AZEDVL
AZECH
VLC
AVANZAR ZONA DE
ESPERA CICLO HORNO
PA
PC
TSP
TSP
FIN CARGAR
FIN TEMP
TIM 11
TSVL4
TSVL4
FIN TEMP
TIM 33
AVANZAR A
ZONA DE CARGA AZCVL
ESPERAR
AZECH
AZECH
AVANZAR A ZONA DE
ESPERA A DESCARGA
VLD
TSVL2
TSVL2
FIN AVANZAR
FIN TEMP
TIM 27
AVANZAR A ZONA DE
ESPERA A DESCARGA
ESPERAR
AVANZAR A ZONA
DE ESPERA CH
VLE
TSVL1
TSVL1
FIN AVANZAR
FIN TEMP
TIM 26
AVANZAR A ZONA DE
ESPERA CICLO HORNO
PB
TSP
TSP
FIN COGER
FIN TEMP
TIM 11
COGER PALET
CARGADO
FIN AVANZAR
FIN TEMP
TIM 11
AVANZAR ZONA
EMPAQUETADO
carros en ciclo>0
CST2
ST2_6
ST2_5
ST2_4
ST2_3
ST2_2
ST2_1
CARRO SUBE A
TRANSBORDADOR 2
FIN REGRESAR
FIN TEMP
TIM15
TST2
TST2
REGRESAR A ORIGEN
MOVER LADRILLO A
MLP
PALET
FIN COGER
FIN TEMP
TSCC2
LADRILLO EN
PUESTO 5
FIN TEMP
TIM 10
TSCC2
SVL9
SCH2
SVL8
TIM 15
FIN TEMP
FIN AVANZAR
TST2
T2D
SCH1
SVL7
ROT2
T2B
FIN SUBIR
FIN TEMP
TIM 15
AVANZAR
TRANSBORDADOR
TST2
AT2
T2A
TST2
TST2
SVL1
TRANSBORDADOR 2
CARRO SUBE A
CST2 TRANSBORDADOR 2
COGER LADRILLO
TIM 13
SR5_6
SR5_5
SR5_4
SR5_3
SR5_2
SR5_1
ROBOT 5
ST1_6
ST1_5
ST1_4
ST1_3
ST1_2
ST1_1
RESET ZONA
DESCARGA OCUPADA
AVANZAR A
ZONA CARGA
TSVL3
TSVL3
AVANZAR A ZONA
DESCARGA
AZCVL
VLB
FIN TEMP
TIM14
FIN REGRESAR
TST1
TST1
REGRESAR A ORIGEN
VLB
FIN SUBIR
AVANZAR
TRANSBORDADOR
T1A
AZDVL
SCC_6
SCC_5
SCC_4
TIM 14
TST1
CARRO SUBE A
TRANSBORDADOR 1
TRANSBORDADOR 1
T1B
AT1
CST1
ROT1
CINTA C
SCC_2
C2_5
VOR2
MLR2
CLR2
C2B
AVANZAR
BANDEJA PREPARADA
TIM 8
TSR4
FIN MOVER
TSR2
TSR2
VOLVER A ORIGEN
FIN MOVER
FIN MOVER
TSR4
R4B
TIM 8
TIM 6
FIN TEMP
TIM20
FIN COGER
TSR4
R2A
MOVER LADRILLO A
CARRO
FIN COGER
TSR2
TSR2
FIN TEMP
TIM 6
COGER LADRILLO
ROBOT 2
R4A
TSR4
PUESTO 2 LIBRE
TSC21
AC2
B_3
ACB
AVANZAR
TSCB2
LADRILLO EN
PUESTO 2
FIN TEMP
TXCB2
TIM 4
SCB6
SCB5
SCB4
CINTA B
PUENTE GRUA 2
SC1_3
SC1_2
SC1_1
LADRILLO EN
PUESTO 1
ESPERAR CINTA
2 LIBRE
TSC1
TSVB2
TSVB2
FIN TEMP
TIM 24
AVANZAR ZONA
DESCARGA
BA PUESTO 1 LIBRE
AC1
C1A
TIM 3
TSCB1
ACB AVANZAR
FIN DEJAR
PG2C (PUENTE GRUA 2)
R3_6
R3_5
R3_4
R3_3
R3_2
R3_1
RESET ZONA
VBA
DESCARGA OCUPADA
FIN CICLO
SECADERO
SVB11
SVB9 SVB12
SVB8
SVB7 SVB10
FIN AVANZAR
TIM 31
SVB5
SVB3 SVB6
SVB2
SVB1 SVB4
FIN TEMP
TSVB5
VBE
C4B
TIM 5
FIN TEMP
TSR3
TSR3
FIN TEMP
TSVB5
AVANZAR A ZONA DE
ESPERA DESCARGA
AS
VBD
TIM 29
FIN TEMP
TSVB3
AS
AVANZAR A
SECADERO
ESPERAR ZONA
DE CARGA
TSVB3
EZCVB
TIM 5
FIN MOVER
TSVB1
TSVB1
AC4
TSR3
R3B
AVANZAR
BANDEJA
PREPARADA
FIN COGER
FIN TEMP
TIM 5
MOVER LADRILLO A
PUESTO 1
R3A
TSR3
TSR3
COGER LADRILLO
ROBOT 3
MLP1
CLR3
RESET ZONA
CARGA OCUPADA
SC4_6
SC4_5
SC4_4
CINTA 4
R1C
ROR1
MLBC
CLR1
AZED
BANDEJA EN
CINTA 4 LIBRE
CINTA 3 LIBRE
AZED
TIM 18
AVANZAR
FIN REGRESAR
TSR1
TSR1
FIN TEMP
TIM 2
REGRESAR A ORIGEN
R1B
TSR1
TSR1
FIN MOVER
FIN TEMP
TIM 2
TSC42
AC4
R1A
TSR1
TSR1
MOVER LADRILLO
FIN COGER
FIN TEMP
TIM 2
COGER LADRILLO
SR1_6
SR1_5
SR1_4
SR1_3
SR1_2
SR1_1
ROPG1
DBPG1
REGRESAR A ORIGEN
FIN DEJAR
FIN TEMP
TIM 12
DEJAR BANDEJA
FIN TEMP
SPG1_1
C3A
TSC32
TSC32
AVANZAR A CINTA 4
ESPERAR QUE
CARGUEN BANDEJA
TIM 16
MOVER
BANDEJA
TSC31
MBPC3
CINTA3
ESPERAR
TSCA
ACA AVANZAR
CINTA A
ROBOT 1
251
ESPERAR
LADRILLO EN A
AVANZAR
LADRILLO EN A
CINTA3
CINTA 3 CINTA 4
LIBRE
LIBRE
AVANZAR A
CINTA 4
CINTA 4
LIBRE
ESPERAR CARGA DE
LADRILLOS
CINTA 3
LIBRE
CINTA 3
LIBRE
ESPERAR
BANDEJA
CINTA A
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
PUENTE GRUA 1
FIN REGRESAR
REGRESAR A
ORIGEN
FIN DEJAR
FIN COGER
COGER
LADRILLO
LADRILLO CINTA 3
LIBRE
EN A
ESPERAR
LADRILLO
CINTA 4
ESPERAR QUE
COJAN BANDEJA
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
REPOSO
FIN REGRESAR
REGRESAR A
ORIGEN
FIN MOVER
MOVER LADRILLO A
BANDEJA CARGANDO
n huecos en
zona de espera a
a carga
n de huecos en
secadero e
n de huecos en zona
de espera a descarga
n bandejas en
vagn cargando
n huecos en
vagn cargando
n ladrillos en bandeja
cargando
ESPERAR
BANDEJA
DEJAR BANDEJA
n bandejas en
cinta 4
n huecos en bandeja
cargando
TEMP
GENERACIN DE
LADRILLOS
n de ladrillos en
cinta A
GALLETERA
ROBOT 1
VAGN LLENO
ESPERAR
ZONA CARGA
ZONA CARGA
OCUPADA
CINTA 1
CINTA 2
LIBRE
AVANZAR
CINTA 2
LIBRE
ESPERAR
CINTA 1
LIBRE
ESPERAR
BANDEJA
ZONA CARGA
OCUPADA
AVANZAR
ZONA CARGA
n vagones en
zona de espera
a carga
FIN AVANZAR
AVANZAR A ZONA
ESPERA CARGA
VAGN VACO
ESPERAR
DESCARGA
ZONA DESCARGA
OCUPADA
AVANZAR ZONA
DESCARGA
ZONA DESCARGA
OCUPADA
n de vagones en zona
de espera a descarga
FIN AVANZAR
AVANZAR A Z.ESP.DESC.
n de vagones en
secadero
FIN AVANZAR
n bandejas
en pulmn
AVANZAR A SECADERO
VAGN DE BANDEJAS
nhuecos en
pulmn
PULMN
n de bandejas en
cinta 2
n huecos en
vagn descargando
n bandejas en
vagn descargando
ROBOT 3
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 1
FIN COGER
COGER LADRILLO
PUESTO
1 LIBRE
ESPERAR
ladrillos en bandeja
descargando
PUENTE GRUA 2
FIN REGRESAR
REGRESAR
A ORIGEN
FIN DEJAR
DEJAR BANDEJA
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
CINTA 1
LIBRE
ESPERAR
CINTA 2
FIN MOVER
MOVER BANDEJA
A PULMN
FIN DESCARGA
DE LADRILLOS
ESPERAR
DESCARGA DE
LADRILLOS
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
ESPERAR
huecos en bandeja
descargando
m
CINTA C
PUESTO 5
LIBRE
AVANZAR
PUESTO 5
LIBRE
ESPERAR
ROBOT 4
FIN VOLVER
VOLVER A
ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 4
FIN COGER
COGER LADRILLO
PUESTO
4 LIBRE
ESPERAR
huecos en carro
cargando
CINTA B
n
ladrillos en carro
cargando
ROBOT 2
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
PUESTO 2
LIBRE
AVANZAR
PUESTO 2
LIBRE
ESPERAR
n ladrillos en
cinta B
MOVER LADRILLO
A VAGN
FIN COGER
COGER LADRILLO
ZONA
PUESTO 2
CARGA LIBRE
LIBRE
ESPERAR
n ladrillos
en cinta C
ladrillos en carro
descargando
huecos
en palet
huecos en zona de
espera a descarga
r
ladrillos
en palet
FIN AVANZAR
FIN CICLO H
CARROS EN
CICLO H
ROBOT 5
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A PALET
FIN COGER
COGER LADRILLO
PUESTO 5
LIBRE
ESPERAR
PALET
PALET
FIN REGRESAR
REGRESAR A
ORIGEN
FIN CARGAR
CARGAR PALET
VACO
FIN COGER
COGER PALET
CARGADO
FIN AVANZAR
AVANZAR ZONA
EMPAQUETADO
PALET
CARGADO
ESPERAR
MIENTRAS CARGAN
VAGN DE LADRILLOS
ESPERAR EN ZONA
DE CARGA
AVANZAR A ZONA
DE CARGA
ESPERAR
DESCARGA CARRO
AVANZAR HASTA
ZONA DE DESCARGA
FIN AVANZAR
FIN AVANZAR
AVANZAR
TRANSBORDADOR 2
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 2
FIN AVANZAR
AVANZAR
TRANSBORDADOR 1
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 1
FIN ESPERAR
carros en zona de
espera ciclo H
carros en zona de
espera a descarga
s
REGRESAR
A ORIGEN
FIN REGRESAR
TRANSBORDADOR 2
ESPERAR EN
ORIGEN
REGRESAR
A ORIGEN
FIN REGRESAR
TRANSBORDADOR 1
ESPERAR EN
ORIGEN
i
huecos en zona
de espera ciclo H
CARRO CARGADO
AVANZAR ZONA DE
ESPERA CICLO H
n palets
producidos
CINTA 3
LIBRE
CINTA 3
ROBOT 1
GALLETERA
GENERACIN DE
LADRILLOS
ESPERAR
LADRILLO
A
TEMP
LADRILLO CINTA 3
LIBRE
EN A
n de ladrillos en
cinta A
COGER
LADRILLO
FIN COGER
LADRILLO EN A
MOVER LADRILLO A
BANDEJA CARGANDO
AVANZAR
LADRILLO EN A
ESPERAR
FIN MOVER
REGRESAR A
ORIGEN
CINTA A
FIN REGRESAR
n huecos en bandeja
cargando
n ladrillos en bandeja
cargando
CINTA A
GALLETERA
ROBOT 1
CINTA3
CINTA 3 CINTA 4
LIBRE
LIBRE
AVANZAR A
CINTA 4
CINTA 4
LIBRE
ESPERAR CARGA DE
LADRILLOS
CINTA 3
LIBRE
CINTA 3
LIBRE
ESPERAR
BANDEJA
COGER
BANDEJA
FIN AVANZAR
AVANZAR
FIN COGER
ESPERAR
BANDEJA
PUENTE GRUA 1
FIN REGRESAR
REGRESAR A
ORIGEN
FIN DEJAR
CINTA 4
ESPERAR QUE
COJAN BANDEJA
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
REPOSO
PULMN
n bandejas en
vagn cargando
n huecos en
vagn cargando
nhuecos en
pulmn
n ladrillos en bandeja
cargando
DEJAR BANDEJA
n bandejas en
cinta 4
n huecos en bandeja
cargando
n bandejas
en pulmn
CINTA 4
LIBRE
BANDEJA
PREPARADA
ZONA CARGA
OCUPADA
CINTA 4
CINTA 3
PUENTE
GRUA 1
PULMN
n bandejas en
vagn descargando
VAGN DE BANDEJAS
n huecos en
zona de espera
a carga
n huecos en
vagn descargando
n de huecos en
10
secadero
n de huecos en zona
de espera a descarga
n bandejas en
vagn cargando
n huecos en
vagn cargando
ZONA CARGA
OCUPADA
AVANZAR
ZONA CARGA
n vagones en
zona de espera
a carga
FIN AVANZAR
AVANZAR A ZONA
ESPERA CARGA
VAGN VACO
ESPERAR
DESCARGA
ZONA DESCARGA
OCUPADA
AVANZAR ZONA
DESCARGA
ZONA DESCARGA
OCUPADA
n de vagones en zona
de espera a descarga
FIN AVANZAR
AVANZAR A Z.ESP.DESC.
n de vagones en
secadero
FIN AVANZAR
AVANZAR A SECADERO
VAGN LLENO
ESPERAR
ZONA CARGA
ZONA CARGA
OCUPADA
VAGN
CARGANDO
PUENTE
GRUA 1
ZONA DE
ESPERA 1
CICLO DEL
SECADERO
PUENTE
GRUA 2
VAGN
DESCARGANDO
ZONA DE
ESPERA A
DESCARGA
n huecos en
vagn descargando
n bandejas en
vagn descargando
CINTA 1
CINTA 2
LIBRE
AVANZAR
CINTA 2
LIBRE
ESPERAR
CINTA 1
LIBRE
ESPERAR
BANDEJA
nhuecos en
pulmn
e
n bandejas
en pulmn
PUENTE GRUA 2
FIN REGRESAR
REGRESAR
A ORIGEN
FIN DEJAR
DEJAR BANDEJA
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
CINTA 1
LIBRE
ESPERAR
n de bandejas en
cinta 2
PULMN
CINTA 2
FIN MOVER
MOVER BANDEJA
A PULMN
FIN DESCARGA
DE LADRILLOS
ESPERAR
DESCARGA DE
LADRILLOS
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
ESPERAR
CINTA 2
BANDEJA
PREPARADA
PULMN
PUENTE
GRUA 2
CINTA 1
CINTA 2
LIBRE
CINTA 1
LIBRE
ZONA
DESCARGA
OCUPADA
VAGN DE
LADRILLOS
ESPERAR
ESPERAR
PUESTO
1 LIBRE
COGER LADRILLO
ladrillos en bandeja
descargando
ZONA
CARGA
OCUPADA
huecos en bandeja
descargando
PUESTO 2
LIBRE
PUESTO 2
LIBRE
COGER LADRILLO
FIN COGER
ROBOT 2
CINTA B
PUESTO 1
LIBRE
ROBOT 3
CINTA 2
FIN COGER
MOVER LADRILLO
A PUESTO 1
FIN MOVER
MOVER LADRILLO
A VAGN
n ladrillos en
cinta B
FIN MOVER
VOLVER A ORIGEN
VOLVER A ORIGEN
FIN VOLVER
FIN VOLVER
ESPERAR
ROBOT 2
ROBOT 3
PUESTO 2
LIBRE
AVANZAR
PUESTO 2
LIBRE
CINTA B
huecos en carro
cargando
ladrillos en carro
cargando
BANDEJA
PREPARADA
CARRO CARGADO
AVANZAR ZONA DE
ESPERA CICLO H
CICLO DEL
HORNO
FIN AVANZAR
d
huecos en zona
de espera ciclo H
TRANSBORDADOR 1
ESPERAR EN
ORIGEN
FIN ESPERAR
TRANSBORDADOR 1
CARRO SUBE A
TRANSBORDADOR 1
FIN REGRESAR
FIN SUBIR
AVANZAR
TRANSBORDADOR 1
REGRESAR
A ORIGEN
FIN AVANZAR
m
8
CARROS EN
CICLO H
ladrillos en carro
cargando
ESPERAR EN
ORIGEN
VAGN DE LADRILLOS
FIN CICLO H
TRANSBORDADOR 2
FIN REGRESAR
CARRO SUBE A
TRANSBORDADOR 2
FIN SUBIR
huecos en carro
cargando
REGRESAR
A ORIGEN
AVANZAR
TRANSBORDADOR 2
FIN AVANZAR
huecos en zona de
espera a descarga
d
carros en zona de
espera a descarga
AVANZAR HASTA
ZONA DE DESCARGA
ZONA DESCARGA OCUPADA
ESPERAR
DESCARGA CARRO
ZONA CARGA OCUPADA
AVANZAR A ZONA
DE CARGA
ZONA CARGA OCUPADA
ESPERAR EN ZONA
DE CARGA
TRANSBORDADOR 2
carros en zona de
espera ciclo H
ZONA DE
ESPERA AL
HORNO
CARRO
CARGANDO
CARRO
DESCARGANDO
ZONA DE
ESPERA A
DESCARGA
ladrillos en carro
descargando
ESPERAR
ESPERAR
PALET
PUESTO
4 LIBRE
PUESTO 5
LIBRE
COGER LADRILLO
COGER LADRILLO
FIN COGER
MOVER LADRILLO
A PALET
FIN COGER
FIN MOVER
MOVER LADRILLO
A PUESTO 4
CARRO
DESCARGANDO
VOLVER A ORIGEN
FIN MOVER
ROBOT 4
FIN VOLVER
VOLVER A
ORIGEN
ROBOT 5
huecos
en palet
FIN VOLVER
ROBOT 5
ladrillos
en palet
PALET
q
n ladrillos
en cinta C
ROBOT 4
ESPERAR
MIENTRAS CARGAN
PALET
CARGADO
ESPERAR
AVANZAR ZONA
EMPAQUETADO
PUESTO 5
LIBRE
FIN AVANZAR
COGER PALET
CARGADO
q
AVANZAR
FIN COGER
PUESTO 5
LIBRE
PALET
CINTA C
PUESTO
4 LIBRE
CINTA C
CARGAR PALET
VACO
FIN CARGAR
REGRESAR A
ORIGEN
FIN REGRESAR
n palets
producidos
PUESTO
5 LIBRE
260
CINTA 3
LIBRE
ESPERAR
BANDEJA
CINTA A
ESPERAR
LADRILLO EN A
AVANZAR
CINTA 3
LIBRE
CINTA3
CINTA 3 CINTA 4
LIBRE
LIBRE
CINTA 4
LIBRE
57 58
58
ESPERAR CARGA DE
LADRILLOS
57
AVANZAR A
CINTA 4
241
13
12
11
10
62
63
11
10
61
17
PUENTE GRUA 1
FIN REGRESAR
REGRESAR A
ORIGEN
FIN DEJAR
21
20
19
COGER
BANDEJA
FIN COGER
AVANZAR
60
18
FIN COGER
COGER
LADRILLO
54
LADRILLO CINTA 3
LIBRE
EN A
24
59
59
p
p
n huecos en
zona de espera a
a carga
35
30
27
75
CINTA 1
64
69
65
FIN AVANZAR
AVANZAR
ZONA CARGA
ZONA CARGA
OCUPADA
FIN AVANZAR
67
67
16/115
64
68
17
AVANZAR A ZONA
ESPERA CARGA
VAGN VACO
ESPERAR
DESCARGA
80
79
78
FIN COGER
FIN MOVER
MOVER LADRILLO
A PUESTO 1
58
57
56
55
n huecos en
vagn descargando
39
38
52
n de bandejas en
cinta 2
n bandejas en
vagn descargando
ROBOT 3
FIN VOLVER
VOLVER A ORIGEN
13/111
47
46
45
PUESTO
1 LIBRE
ESPERAR
COGER LADRILLO
14/112/120
113/114
ZONA DESCARGA
OCUPADA
AVANZAR ZONA
DESCARGA
ZONA DESCARGA
OCUPADA
66
AVANZAR A Z.ESP.DESC.
n de vagones en
secadero
FIN AVANZAR
AVANZAR A SECADERO
VAGN LLENO
27
26
25
84
n bandejas
en pulmn
12/110
CINTA 2
LIBRE
AVANZAR
CINTA 2
LIBRE
ESPERAR
CINTA 1
LIBRE
ESPERAR
ZONA CARGA
VAGN DE BANDEJAS
37
ESPERAR
BANDEJA
PU2
ZONA CARGA
OCUPADA
22
75
74
PU1
PULMN
n de vagones en zona
de espera a descarga
34
33
32
29
28
26
25
nhuecos en
pulmn
n vagones en
b zona de espera
a carga
36
31
n de huecos en
secadero e
53 57
n de huecos en zona
de espera a descarga
n bandejas en
vagn cargando
23
CINTA 4
56
55
ESPERAR QUE
COJAN BANDEJA
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
REPOSO
FIN REGRESAR
REGRESAR A
ORIGEN
FIN MOVER
MOVER LADRILLO A
BANDEJA CARGANDO
ESPERAR
LADRILLO
n huecos en
vagn cargando
16
15
14
n ladrillos en bandeja
cargando
ESPERAR
BANDEJA
FIN AVANZAR
22
DEJAR BANDEJA
n bandejas en
cinta 4
n huecos en bandeja
cargando
TEMP
GENERACIN DE
LADRILLOS
n de ladrillos en
cinta A
LADRILLO EN A
57
53
53
GALLETERA
ROBOT 1
44
43
42
41
40
51
50
49
48
23
76
76
21
PUENTE GRUA 2
FIN REGRESAR
REGRESAR
A ORIGEN
72
DEJAR BANDEJA
FIN DEJAR
70
18
19
74
FIN AVANZAR
AVANZAR
FIN COGER
COGER
BANDEJA
CINTA 1
LIBRE
ESPERAR
CINTA 2
FIN MOVER
73
20
71
77
MOVER BANDEJA
A PULMN
FIN DESCARGA
DE LADRILLOS
ESPERAR
DESCARGA DE
LADRILLOS
BANDEJA
PREPARADA
AVANZAR
BANDEJA
PREPARADA
ESPERAR
24
43
42
PUESTO
4 LIBRE
FIN COGER
104
48
104
99
CINTA C
PUESTO 5
LIBRE
AVANZAR
PUESTO 5
LIBRE
ESPERAR
ROBOT 4
FIN VOLVER
VOLVER A
ORIGEN
FIN MOVER
MOVER LADRILLO
A PUESTO 4
97
98
44
69
68
96 85
COGER LADRILLO
103
30
29
28
ESPERAR
huecos en carro
cargando
CINTA B
83
ladrillos en carro
cargando
ROBOT 2
FIN VOLVER
PUESTO 2
LIBRE
82
VOLVER A ORIGEN
FIN MOVER
85
63
81
MOVER LADRILLO
A VAGN
FIN COGER
COGER LADRILLO
PUESTO 2
LIBRE
AVANZAR
PUESTO 2
LIBRE
62
67
66
65
ZONA
CARGA
OCUPADA
ESPERAR
31
85
61
n ladrillos en
cinta B
60
huecos en bandeja
descargando
ESPERAR
59
ladrillos en bandeja
descargando
64
100
99
93
92
91
90
91
n ladrillos
en cinta C
86
ladrillos en carro
descargando
88
38
76
TRANSBORDADOR 2
ESPERAR EN
ORIGEN
78
REGRESAR
A ORIGEN
81
101
82
80
79
102
106
105
104
103
97
96
95
94
89
88
87
77
74
75
82
107
ladrillos
en palet
FIN AVANZAR
FIN ESPERAR
FIN AVANZAR
95
89
90
40
41/119
ESPERAR EN ZONA
DE CARGA
100
101
102
PALET
51
106
50
108
47
46
45
105
49
107
52
FIN REGRESAR
REGRESAR A
ORIGEN
FIN CARGAR
CARGAR PALET
VACO
FIN COGER
COGER PALET
CARGADO
FIN AVANZAR
AVANZAR ZONA
EMPAQUETADO
PALET
CARGADO
ESPERAR
MIENTRAS CARGAN
ROBOT 5
FIN VOLVER
VOLVER A ORIGEN
FIN MOVER
MOVER LADRILLO
A PALET
FIN COGER
COGER LADRILLO
PUESTO 5
LIBRE
ESPERAR
PALET
96
109 104
AVANZAR A ZONA
DE CARGA
ESPERAR
DESCARGA CARRO
VAGN DE LADRILLOS
93
FIN AVANZAR
AVANZAR HASTA
ZONA DE DESCARGA
37
36/117
34
33
32/116
FIN AVANZAR
AVANZAR
TRANSBORDADOR 2
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 2
FIN CICLO H
k CARROS EN
CICLO H
87
86
AVANZAR
TRANSBORDADOR 1
FIN SUBIR
CARRO SUBE A
TRANSBORDADOR 1
92
CARRO CARGADO
AVANZAR ZONA DE
ESPERA CICLO H
carros en zona de
espera ciclo H
carros en zona de
espera a descarga
84 s
REGRESAR
A ORIGEN
huecos
en palet
72
TRANSBORDADOR 1
FIN REGRESAR
35
ESPERAR EN
ORIGEN
73
FIN REGRESAR
huecos en zona de
espera a descarga
r
83
98
huecos en zona
de espera ciclo H
71
70
96
94
94
108
n palets
producidos
39/118
54
LADRILLO EN A
FIN TEMP
TIM 1
2
FIN TEMP
TIM 16
MOVER
BANDEJA
34
135
134
133
132
131
130
129
128
121/57
34
CINTA 3
LIBRE
121
120
FIN TEMP
AVANZAR
FIN COGER
TIM 12
60
FIN TEMP
TIM 12
COGER BANDEJA
PUENTE GRUA 1
118
119
111
110
109
62
FIN REGRESAR
FIN TEMP
TIM 12
10
63
REGRESAR A ORIGEN
FIN DEJAR
FIN TEMP
TIM 12
DEJAR BANDEJA
FIN AVANZAR 61
FIN TEMP
TIM 22
AVANZAR A CINTA 4
ESPERAR QUE
CARGUEN BANDEJA
CINTA3
ESPERAR
53
AVANZAR
CINTA A
11
121
117
116
115
114
113
112
58
54
55
FIN TEMP
120
BANDEJA EN
CINTA 4 LIBRE
14
TIM 18
AVANZAR
FIN REGRESAR
FIN TEMP
TIM 2
124
123
110
FIN TEMP
TIM 23
18
FIN MOVER
FIN TEMP
80
18
60
FIN TEMP
22
ESPERAR
144
143
152
11
11
15
114
12
TIM 25
13
69
13
carros en ciclo>0
28
ESPERAR
FIN AVANZAR 68
FIN TEMP 12
TIM 30
15
15
AVANZAR A ZONA DE
16
ESPERA A CARGA
ESPERAR
DESCARGA
FIN TEMP
TIM 24
AVANZAR ZONA
DESCARGA
CINTA1
FIN TEMP
TIM 21
AVANZAR
160
159
158
157
156
155
154
153
163
162
161
LADRILLO EN
PUESTO 1
ESPERAR CINTA
2 LIBRE
22
TIM 3
FIN TEMP
PUESTO 1 LIBRE
19
AVANZAR
FIN DEJAR
(PUENTE GRUA 2)
79
84
19
31
72
176
175
174
173
172
171
RESET ZONA
67
DESCARGA OCUPADA
FIN CICLO
SECADERO
151
150
149
148
147
146
145
FIN AVANZAR
142
141
140
139
138
137
136
TIM 5
FIN VOLVER
18
FIN TEMP
TIM 5
VOLVER A ORIGEN
79
18
FIN TEMP
TIM 31
AVANZAR A ZONA DE
ESPERA DESCARGA
66
10
10
AVANZAR A ZONA DE
ESPERA DESCARGA
ESPERAR
AVANZAR A
SECADERO
FIN AVANZAR
FIN TEMP
TIM 29
AVANZAR A
SECADERO
ESPERAR ZONA
DE CARGA
FIN COGER
FIN TEMP
TIM 5
MOVER LADRILLO A
PUESTO 1
78
18
18
ESPERAR
13
59
ROBOT 3
COGER LADRILLO
AVANZAR
BANDEJA
PREPARADA
FIN TEMP 6
RESET ZONA
CARGA OCUPADA
127
126
125
27
26
25
AVANZAR ZONA
CARGA
111
65
64
64
17
CINTA 4
122
56
REGRESAR A ORIGEN
CINTA 4 LIBRE
FIN MOVER
FIN TEMP
TIM 2
CINTA 3 LIBRE
MOVER LADRILLO
FIN COGER
FIN TEMP
TIM 2
COGER LADRILLO
ROBOT 1
179
178
122
75
182
181
180
14
14
14
14
19
FIN TEMP
CINTA 2 LIBRE
16
14
FIN REGRESAR
FIN TEMP 14
TIM 7
20
73
TIM 19
AVANZAR
18
BANDEJA EN
CINTA 2 LIBRE
44
43
42
PUESTO 2 LIBRE
61
85
ROBOT 4
170
169
168
167
188
187
186
185
29
TIM 8
29
FIN MOVER
FIN TEMP
TIM 8
99
29
17
FIN TEMP
98
82
21
FIN VOLVER
FIN TEMP
TIM 6
21
83
FIN TEMP
17
23
17
30
48
30
220
FIN TEMP
TIM 9
AVANZAR
24
LADRILLO EN
PUESTO 4
219
218
217
216
2151
77
FIN TEMP 17
TIM 20
MOVER BANDEJA
A PULMON
52
30
29
28
76
AVANZAR
BANDEJA PREPARADA
TIM 8
FIN VOLVER
29
FIN MOVER
21
21
VOLVER A ORIGEN
FIN MOVER
VOLVER A ORIGEN
98
29
TIM 6
FIN TEMP
TIM20
FIN COGER
FIN TEMP
81
21
MOVER LADRILLO A
CARRO
FIN COGER
FIN TEMP
21
COGER LADRILLO
TIM 6
MOVER LADRILLO A
PUESTO 4
97
29
COGER LADRILLO
166
165
164
CINTA 2
81
31
AVANZAR
CINTA 1 LIBRE
16
20
LADRILLO EN
PUESTO 2
FIN TEMP
20
TIM 4
REGRESAR A ORIGEN 21
72
14
14
FIN DEJAR
FIN TEMP
TIM 7
DEJAR BANDEJA
FIN AVANZAR 71
FIN TEMP
TIM 7
AVANZAR
FIN COGER 70
FIN TEMP
TIM 7
23
COGER BANDEJA
PUENTE GRUA 2
177
CINTA B
184
183
ROBOT 2
223
222
221
226
225
224
CINTA C
35
FIN SUBIR
FIN TEMP
TIM 14
22
TIM 14
FIN TEMP
FIN AVANZAR
22
AVANZAR
TRANSBORDADOR
86
22
22
CARRO SUBE A
TRANSBORDADOR 1
FIN TEMP
TIM 32
232
231
230
229
228
227
31
PUESTO 5 LIBRE
209
208
207
38
211
210
100
32
45
TIM 13
101
32
104
100
48
AVANZAR
98
FIN VOLVER
FIN TEMP 32
TIM 13
102
VOLVER A ORIGEN
32
32
FIN MOVER
FIN TEMP
47
23
MOVER LADRILLO A
46
PALET
FIN COGER
FIN TEMP
32
23
TIM 15
FIN AVANZAR
FIN TEMP
FIN TEMP
TIM15
77
117
196
195
194
193
192
195
27
240
239
238
237
236
235
234
233
95
PALET
214
213
212
206
205
204
203
202
33
33
33
106
33
33
33
FIN TEMP
TIM 27
108
33
FIN
REGRESAR
FIN TEMP
TIM 11
109
93
ESPERAR
TIM 33
28
28
96
AVANZAR ZONA DE
ESPERA CICLO HORNO
FIN TEMP
49
50
116
39
32
52
51
32
AVANZAR A ZONA DE
ESPERA A DESCARGA 118
25
PALET
33
25
AVANZAR A ZONA DE
ESPERA A DESCARGA
ESPERAR
AVANZAR A
41
ZONA DE CARGA
105
107
92
AVANZAR A ZONA
DE ESPERA CH
FIN AVANZAR
REGRESAR A ORIGEN
FIN CARGAR
FIN TEMP
TIM 11
24
24
FIN AVANZAR
FIN TEMP
TIM 26
AVANZAR A ZONA DE
ESPERA CICLO HORNO
FIN COGER
FIN TEMP
TIM 11
COGER PALE
CARGADO
FIN AVANZAR
FIN TEMP
TIM 11
AVANZAR ZONA
EMPAQUETADO
carros en ciclo>0
FIN TEMP
27
TIM 28
CARRO SUBE A
TRANSBORDADOR 2
FIN REGRESAR
23
REGRESAR A ORIGEN
23
FIN SUBIR
FIN TEMP
TIM 15
AVANZAR
TRANSBORDADOR
89
23
23
CARRO SUBE A
TRANSBORDADOR 2
201
TRANSBORDADOR 2
91
90
37
36
COGER LADRILLO
TIM 13
LADRILLO EN
PUESTO 5
FIN TEMP
TIM 10
31
194
193
192
191
190
189
ROBOT 5
RESET ZONA
DESCARGA OCUPADA
AVANZAR A
ZONA CARGA
26
26
AVANZAR A ZONA
DESCARGA
FIN REGRESAR
FIN TEMP
TIM14
119
94
94
40
88
22
22
REGRESAR A ORIGEN
87
34
33
TRANSBORDADOR 1
end
tempor;%actualizacin de los temporizadores
salidas;%actualizacin de las salidas
end %del while
tiempo=tiempo-paso;
%subplot(3,1,1), plot(tspan,Y(:,241),'r');
%subplot(3,1,2), plot(tspan,Y(:,108),'b');
%subplot(3,1,3), plot(tspan,Y(:,8),'g');
figure;
subplot(1,1,1), plot(tspan,Y);
%subplot(3,1,2), plot(tspan,Y(:,108),'b');
%subplot(3,1,3), plot(tspan,Y(:,8),'g');
%figure;
subplot(1,1,1), plot(tspan,Y);
35
30
25
20
15
10
0
0
10
15
20
25
30
35
40
45
50
266
267
268
269
270
271
272
273
274
275
276
6.8. Resultados
Como resultados del presente apartado hay que destacar por un lado la aportacin a la
metodologa de anlisis de sistemas en los que el material se va moviendo de unos
ciclos a otros, todos ellos interconectados, y en especial cuando se quiera realizar la
trazabilidad del producto (saber de cada elemento producido los sitios en los que ha
estado y los elementos con los que se ha relacionado). De esta manera es muy fcil
detectar las causas de partidas defectuosas, que de otra forma podran ser muy difciles
de detectar
Por otro lado en la segunda parte de este captulo se ha intentado resumir la
implementacin llevada a cabo en una fbrica colaboradora con la lnea de investigacin
para comprobar y matizar los resultados que han ido obtenindose las labores
investigadoras. Por tanto los resultados de este apartado se funden con los de cada uno
de los apartados anteriores.
6.9. Bibliografa
1. Burns A., Wellings A.:Real-Time Systems and Programming Languages. Add.Wesley, California, 1996
2. David, R.: Grafcet: A powerful tool for specification of logic controllers. IEEE Trans
on Control Systems Technology (1995) 3 (3) , 253-268
3. Jimnez, E., Miruri, JM., Martnez de Pisn, J.F., Gil, M.: Supervised Real-Time
Control with PLCs and SCADA in Ceramic Plant. 6th IFAC Workshop on
Algorithms and Architectures for Real-Time Control (2000) 1 , 221-226
4. Morriss, B.: Programmable Logic Controllers. Prentice Hall, New Jersey (1999)
5. N. Bhandari, D.K. Rollins. Superior Semi-Empirical Dynamic Predictive Modeling
that Addresses Interactions. IASTED Intelligent Systems and Control ISC'99 (1999)
6. N. Konstas, S. Lloyd, H. Yu, C. Chatwin. Generic Net Modelling Framework for
Petri Nets. IASTED Intelligent Systems and Control ISC'99 (1999)
7. W.T. Goh, Z. Zhang. Autonomous Petri-Net for Manufacturing System Modelling in
an Agile Manufacturing Environment. IASTED International Confer. Robotics and
Applications 1999.
8. Flix Snz, Emilio Jimnez. Expresin Grfica en Ingeniera de Sistemas y
Automtica. JA2001, Barcelona, 2001.
277
Tema 7
RESULTADOS,
PROYECCIN.
APORTACIONES
280
Esta ltima va de continuidad tambin est muy avanzada, ya que en los dos ltimos
congresos en los que se ha presentado esta investigacin, a finales de este ao 2001, en
los que los trabajos presentados han tenido una excelente aceptacin (incluso en ambos
se solicit al ponente actuar de director de las sesiones), surgieron conversaciones con
grupos de investigacin de universidades extranjeras interesadas en participar
conjuntamente en la continuacin en esta lnea, de una manera coordinada entre nuestra
universidad y las suyas en un proyecto internacional. Estas conversaciones comenzaron
a gestarse en las primeras publicaciones en congresos en las que se trataban aspectos de
esta investigacin, que a la conclusin de la misma suman una decena, si bien ha sido
en las ltimas, con la investigacin referente a la tesis ya concluida, cuando esa
cooperacin se ha consolidado e incluso ya se ha comenzado a trabajar en un pequeo
proyecto conjunto.
En resumen, como suele ocurrir, el aparente final de un camino no es sino el comienzo
de otro, que esperamos sea al menos igual de fructfero y satisfactorio, y que permita
cumplir con todas las expectativas que actualmente se presentan sobre esta lnea de
investigacin.
281