Tecnicas Avanzadas de Automatizacion
Tecnicas Avanzadas de Automatizacion
Tecnicas Avanzadas de Automatizacion
TESIS DOCTORAL
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.
AVANZADAS EN
Doctor Director del Trabajo: Dr. Emilio Jimnez Tof Cdigo Unesco (principal): 3311 Tecnologa de la Instrumentacin Programa de Doctorado cursado: 911 Ingeniera, Matemticas y Computacin Responsable del Programa de Doctorado: Dr. Jos Ignacio Extremiana Aldana Departamento Responsable del Trabajo de Investigacin: Departamentos de Matemticas y Computacin y de Ingeniera Elctrica
Al director de la tesis, a toda mi familia y a Rosa, por su inestimable apoyo, y a mis amigos por saber disculpar mi ausencia durante estos aos.
ndice
pag.
INTRODUCCIN
Presentacin del Trabajo Objetivos planteados Campos de influencia Aportaciones xiii xiv xv xvi
2.2.2. Implementacin de las Automatizaciones 2.2.3. Supervisin con Scada 2.2.4. Resultados 2.3. Sistema, automatizacin y sistema automatizado 2.3.1. Modelado del sistema 2.3.2. Automatizacin del proceso 2.3.3. Confrontacin de simulacin y automatizacin 2.3.4. Ejemplo 2.4. Automatizacin con PLC y SCADA 2.4.1. Introduccin 2.4.2. Automatizacin 2.4.3. Monitorizacin 2.4.4. Simulacin 2.4.5. Supervisin 2.4.5.1. Implementacin de supervisin y simulacin 2.4.6. Control con SCADA 2.4.7. Control Supervisor Redundante Adaptativo 2.5. Conclusione 2.6. Referencias
96 98 101 102 103 103 104 105 113 113 114 115 116 117 117 119 120 122 123
MEDIANTE
153 154 156 156 157 159 160 161 161 162 162 164
4.4.1. Retardo en el disparo de la transicin 4.4.1.1. Ejemplo 4.4.2. Retardo en la sensibilizacin de la transicin 4.4.2.1. Ejemplo 4.4.3. Retardo en la sensibilizacin y en el disparo de la transicin 4.5. Redes mixtas con informacin total 4.5.1. Informacin de disparos con retardo y sin retardo 4.5.2. Ejemplo 4.5.3. Informacin total 4.5.4. Ejemplo 4.6. Salidas 4.6.1. Salidas tipo Out y Set-Reset 4.6.2. Salidas condicionadas 4.6.3. Flancos 4.7. Throughput 4.8. Variaciones en los parmetros temporales 4.8.1. Horizonte temporal variable 4.8.2. Simulacin continuada en el tiempo 4.9. Sistemas continuos y continuizados 4.9.1. Ejemplo 4.10. Parametrizacin de los sistemas. Mtodos de bsqueda para optimizacin del proceso 4.11. Conclusione 4.12. Referencias
168 169 171 172 173 173 173 175 177 177 181 182 183 184 184 186 186 186 188 189 192 193 193
ndice Figuras
pag.
Figura 33: Control maestro-esclavo con bloques PID de un SCADA Figura 34: Control habitual con PLC Figura 35: Deteccin de errores mediante control con PLC y simulacin con SCADA Figura 36: Simulacin del control y del proceso con el SCAD Figura 37: Control adaptativo y redundante
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
Figura 9: Ciclo de los transbordadores Figura 10: Representacin de los 10 ciclos individuale Figura 11: Ciclo de trabajo de los vagones de piezas Figura 12: Coordinacin de los ciclos de transbordador y de vagn de piezas Figura 13: Ciclo de los vagones de bandejas Figura 14: Ciclo de las bandejas Figura 15: Ciclos complejos de vagones de bandejas y de vagones de piezas Figura 16: Ciclo complejo de bandejas Figura 17: Conversin de bandejas a carros de bandejas Figura 18: Conversin de piezas a bandejas Figura 19: Coordinacin de los subsistemas que componen la automatizacin Figura 20: Mapeado de memoria de la automatizacin, sobre la RdP Figura 21: RdP del modelo del sistema sin automatizar Figura 22: Mapeado de memoria del modelo del sistema, sobre la RdP Figura 23: Grupos o bloques de la automatizacin Figura 24: Grupo Galletera, Robot 1 y Cinta A Figura 25: Grupo Cinta 3, Cinta 4 y Puente Gra 1 Figura 26: Grupo Vagn de Bandejas Figura 27: Grupo Cinta 1, Cinta 2 y Puente Gra 2 Figura 28: Grupo Robot 2, Robot 3 y Cinta B Figura 29: Grupo Vagn de ladrillos Figura 30: Grupo Robot 4, Robot 5, Cinta C, Palets Figura 31: Mapeado de variables de automatizacin en Matlab sobre la RdP Figura 32: Mapeado de variables del modelado en Matlab sobre la RdP Figura 33: Programa Fbrica1 sobre Matlab Figura 34: Programa Fbrica2 sobre Matlab Figura 35: Programa Fbrica3 sobre Matlab Figura 36: Programa Fbrica4 sobre Matlab Figura 37: Resultado de la simulacin en Matlab del sistema y la automatizacin Figura 38: Resumen de la base de datos de una aplicacin SCADA Figura 39: Ventana de bloque tipo programa Figura 40: Pantallas de monitorizacin con el SCADA Figura 41: Pantallas de monitorizacin de zonas de trabajo Figura 42: Pantallas de Hoja de Clculo y Base de Datos conectadas a la aplicacin SCADA Figura 42: Pantallas de control del proceso mediante SCADA Figura 43: Aplicacin de fbrica virtual en la planta de cermica Figura 44: Simulacin de la automatizacin en programa editor-simulador de RdP
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
Y Y Y Y Y Y Y Y
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 EQUIPO INDUSTRIAL (ver 3313.12) MAQUINARIA INDUSTRIAL (ver 3313.12) PROCESOS INDUSTRIALES INGENIERIA DE PROCESOS ESPECIFICACIONES DE PROCESOS ESTUDIO DE TIEMPOS Y MOVIMIENTOS (ver 5311.09) 3311 TECNOLOGIA DE LA INSTRUMENTACION 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
3312 TECNOLOGIA DE MATERIALES 331203 331205 331211 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: INDUSTRIAL AUTOMATION TECHNIQUES IN MANUFACTURING PROCESSES E. Jimnez Macas, Emilio Jimnez IASTED International Conference on Intelligent Systems and Control, ISC'2001 November 19-22, 2001. Tampa, USA. FACTORY MODELLING AND CONTROL WITH PETRI NETS IN PROCESSES WITH CYCLIC SUBSYSTEMS E. Jimnez Macas, Emilio Jimnez IASTED International Conference on Intelligent Systems and Control, ISC'2001 November 19-22, 2001. Tampa, USA. ROBOTIC APPLICATIONS IN ADAPTIVE CONTROL OF FLEXIBLE MANUFACTURING PROCESSES E. Jimnez IASTED International Conference on Robotics and Applications RA'2001 November 19-22, 2001. Tampa, USA. ROBOTICS, SUPERVISION AND VIRTUAL REALITY E. Jimnez Macas, Flix Sanz, Emilio Jimnez and Arturo Fernndez IASTED International Conference on Robotics and Applications RA'2001 November 19-22, 2001. Tampa, USA.
xvi
Una visin resumida de las aportaciones de los captulos puede encontrarse, como se ha indicado en el Tema 7.
xvii
xviii
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
En general se dice que un autmata es capaz de controlar en tiempo real un proceso, cuando sus tiempos de respuesta o retardo son muy pequeos comparados con los tiempos de reaccin del mismo. La configuracin del autmata es la estructura que tiene su sistema fsico (hardware), fundamentalmente la unidad de control, el sistema de E/S y la memoria, de modo que
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
pueda adaptarse a las caractersticas particulares de la aplicacin industrial en que vaya a usarse. Siendo la modularidad una de las caractersticas fundamentales de los autmatas, la eleccin de la configuracin adecuada resulta fcil al ofrecer sus fabricantes una amplia variedad de mdulos y ampliaciones. En cuanto a la unidad de control las configuraciones son: Unidad de control compacta (control centralizado). Es el caso en el que una nica CPU gestiona tanto el programa como las entradas y salidas asociadas, agrupadas en mdulos que contienen exclusivamente interfaces E/S. Esta configuracin se usa en aplicaciones de poca complejidad, dando lugar a los llamados microautmatas y miniautmatas. Unidad de control modular (control distribuido). En aplicaciones de mayor complejidad, en lugar de una nica CPU, existen varios mdulos con tarjetas o unidades de proceso propias e incluso con sus interfaces de E/S. Es lo que se denomina estructura de multiprocesadores o con control distribuido. Cada procesador trabaja sobre subprogramas (partes del programa de usuario) o especficamente sobre otras aplicaciones concretas (regulacin, posicionamiento, etc.) con su propio programa de tratamiento. En la estructura de multiprocesadores las unidades de proceso estn conectadas a una unidad central (CPU maestra o principal) que gestiona el sistema en conjunto y permite el intercambio de datos entre el resto de las unidades e interfaces. En algunas aplicaciones es interesante duplicar la CPU o algn otro elemento del autmata, configuracin de seguridad, de modo que esta redundancia permite un funcionamiento ininterrumpido an en caso de avera, por conmutacin al elemento de reserva.
El sistema de entradas-salidas de un autmata es el conjunto de interfaces E/S que hacen posible la conexin de la CPU con la planta y la identificacin de las seales de sta mediante una tabla de direcciones. Dada la modularidad caracterstica de los autmatas, en casi todos ellos puede ampliarse el nmero de E/S mediante la conexin a la CPU de mdulos de expansin con interfaces de E/S adicionales. En cuanto al sistema de entradas/salidas, las configuraciones pueden ser: Sistema de E/S centralizado. Es aquel en el que las interfaces de E/S se comunican con el autmata directamente a travs de su bus interno, o a lo sumo mediando un amplificador de bus si se emplea un bastidor de ampliacin, pero sin mediar procesadores de comunicacin. Sistema de E/S distribuido. Es aquel en el que se necesitan procesadores de enlace de E/S conectados sobre el bus interno para la comunicacin entre los mdulos de E/S y la CPU. Estos procesadores de enlace son los encargados de amplificar, serializar y transmitir las informaciones entre las expansiones y la CPU del autmata base, mediante una lnea comn. En funcin de las distancias de conexin y de las prestaciones del enlace distribuido, ste puede ser local o remoto.
En cuanto a la capacidad de almacenamiento (memorias), en general los autmatas disponen de suficiente memoria como para realizar el mando y control de la mayora de
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
los procesos industriales, si bien en casos de aplicaciones con gran volumen de informacin a gestionar puede ser necesaria la instalacin de una memoria de masa adicional que, conectada directamente a las unidades de programacin y bajo el control de la CPU puede intercambiar datos con la memoria de trabajo. En resumen, dada la amplia gama de autmatas existente en el mercado y la modularizacin de sus elementos, es posible en cualquier caso encontrar la configuracin adecuada para una determinada aplicacin.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
3. Representar de forma algebraica (instrucciones literales o de textos) o grfica (smbolos grficos) un modelo del sistema de control con las funciones que intervienen, con las relaciones entre las mismas y con la secuencia a seguir. 4. Asignar a cada uno de los elementos que figuran en el modelo direcciones de E/S o internas. 5. Codificar la representacin del paso 3 en instrucciones o smbolos entendibles por la unidad de programacin (lenguaje de programacin). Cada instruccin del programa consta de dos partes: el cdigo de operacin, que dice qu se ha de hacer y el cdigo de los operandos (identificados por su direccin) que dicen sobre qu variables, o constantes, se ha de operar. 6. Transferir el conjunto de instrucciones escrito en la unidad de programacin a la memoria del autmata. 7. Depurar, poner a punto el programa y guardar una copia de seguridad. En cuanto a los lenguajes de programacin a utilizar: literales o grficos ha de decirse que depende de la aplicacin a que se destina e incluso de la costumbre o hbito del programador. No obstante seguidamente se comentan las caractersticas fundamentales de ambos: - Lenguajes literales.- Formados por instrucciones elementales del programa, cada una de las cuales es una secuencia de textos. Las instrucciones disponibles dependen de la complejidad del lenguaje y van desde muy sencillas funciones lgicas (AND, OR, NOR) hasta las estructuras complejas de programacin de alto nivel (FOR ... NEXT, DO, WHILE, etc.), o instrucciones de manipulacin de textos y valores numricos, o instrucciones de acceso a bloques secuenciales (TIM, CNT, etc.). - Lenguajes grficos.- Tienen su origen en los esquemas elctricos de rels y utilizan smbolos de contactos y bobinas para las instrucciones bsicas y smbolos de bloques lgicos para las extensiones al lenguaje, con una potencia similar a la de los lenguajes literales de alto nivel y con la ventaja de visin de conjunto que proporciona la representacin grfica. En la automatizacin de procesos usuales, de no mucha complejidad (cadenas de montaje, control de mquinas, etc.), puede utilizarse indistintamente un programa a base de lista de instrucciones o uno a base de diagrama de contactos, lenguajes bsicos para la mayora de autmatas. Tanto es as que varios fabricantes prevn en su software de programacin sobre PC la posibilidad de transcodificacin entre ellos con sencillas operaciones de compilacin/descompilacin. Para aplicaciones complejas que requieran manipular largas cadenas de caracteres, realizar muchos clculos, utilizar subrutinas o bloques de programacin especficos (regulacin PID, posicionamiento de ejes, contaje rpido, etc.), podra ser necesaria la utilizacin de lenguajes literales de alto nivel que tambin permiten programar sencillas sentencias booleanas o manejar contadores y temporizadores como listas de instrucciones. La tendencia actual de los fabricantes en cuanto a los lenguajes de programacin se centra en integrar los lenguajes antedichos en un lenguaje mixto que ane la claridad de los lenguajes grficos para las funciones combinacionales y secuenciales con la compacidad de los literales para el manejo de textos y los clculos matemticos.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Los datos (numricos o alfanumricos) que se usan como operandos pueden corresponder a: a) Constantes (nmeros o caracteres ASCII) definidos en el programa. b) Textos preprogramados escritos en alguna unidad de memoria o dispositivo exterior. c) Variables numricas (caso ms usual) en: contadores o temporizadores (valores actuales), registros internos, canales de datos de 8/16 bits de E/S (p.e. resultado binario de una conversin A/D). A pesar de que el usuario puede definir en su programa los anteriores datos en cualquier base (decimal, BCD, hexadecimal, etc), siendo que los datos internos que maneja el autmata son siempre binarios, han de ser convertidos automticamente por el intrprete a tal base. Segn los fabricantes, un bloque funcional es considerado como elemento de un diagrama de contactos o como una sentencia literal en lista de instrucciones (con ciertas reglas de sintaxis). Los programas de autmata para un proceso determinado pueden escribirse segn estructuras monotarea y multitarea. Si se define la tarea como "un conjunto de sentencias ejecutables que describen un tratamiento limitado y concreto sobre ciertas variables de un proceso", una estructura monotarea sobre una aplicacin determinada es la que se desarrolla sobre una tarea nica incluyendo la totalidad del programa, con todas sus variables de E/S y todas las sentencias de operacin. Por el contrario, una estructura multitarea es aquella en que el programa est integrado por subprogramas, independientes o no, dando lugar a tareas aisladas referidas a tratamientos parciales y particulares de la aplicacin (comunicaciones, supervisin, etc.). Cuando la estructura es monotarea, la totalidad del programa (tarea nica) se ejecuta peridicamente siguiendo un ciclo nico de operacin, en tanto que en estructuras multitarea se desarrollan varios ciclos a la vez durante la ejecucin, uno por tarea, pudiendo adems ejecutarse peridicamente o no las distintas tareas. En cualquier caso, el ciclo de operacin de cualquier tarea (tanto en estructuras mono como multi), recorre la tpica secuencia de cuatro pasos: 1)Recogida de entradas. 2)Escrutinio del programa (de la tarea en operacin). 3)Actualizacin de salidas, y 4)Servicio a terminales de explotacin y/o perifricos. Como puede verse, en una estructura multitarea cada tarea constituye una unidad de programacin completa, con sus propias E/S, variables internas e instrucciones de control, lo cual permite optimizar la ejecucin cuando se dispone de un hardware con varios procesadores adaptados a los distintos tipos de tratamiento de la informacin (tratamiento de textos, booleano, regulacin, etc.). Como contrapartida, este hardware multiprocesador ha de ser coordinado por un gestor de recursos (software) que asegure a cada tarea el acceso a los mismos y evite la conflictividad en su uso compartido.
11
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
el hombre (programador) carga el programa en la memoria del autmata, verifica su funcionamiento observando la evolucin de las variables (monitorizacin) y en su caso modifica su estado en variables lgicas o su valor en variables alfanumricas (forzado). En la segunda fase o fase de explotacin, sigue siendo conveniente y a menudo imprescindible la comunicacin entre el hombre (operador) y la planta, a fin de conocer (monitorizar) a travs del autmata los valores de ciertas variables claves para el correcto desarrollo del proceso y su control, variables que en su caso pueden modificarse (forzado). Las comunicaciones descritas entre el hombre (programador/operador/usuario) y el autmata se realizan mediante dispositivos especficos o mediante la utilizacin de un entorno software que corre sobre un PC. Los dispositivos especficos, genricamente denominados "Unidades de Programacin y Servicio" proporcionan la comunicacin entre el programador y la mquina en la fase de programacin y la comunicacin entre la planta y el usuario en la fase de observacin y control (explotacin). Las anteriores comunicaciones se realizan siempre sobre el autmata, que para ello dispone de los conectores adecuados, en la CPU para la programacin y en la CPU o procesadores auxiliares de comunicaciones para la explotacin y el servicio. En general existe una gran variedad de dispositivos conectables a un autmata, bien directamente o va modem, aportando soluciones a necesidades del proceso muy dispares: unidades especficas de programacin o entornos software sobre PC, para la edicin y puesta a punto de programas de autmata; unidades de explotacin desde un visualizador de baja funcionalidad hasta un terminal grfico interactivo pasando por visualizacin de mensajes asociados a la evolucin del programa, impresin de textos, intercambio de datos con otros equipos, etc.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Tales necesidades han motivado la aparicin de sistemas automatizados de control muy complejos que han de ser dotados de funciones adicionales a las bsicas de ejecucin de tareas y monitorizacin del proceso. Cuestiones tales como la gestin de mens de produccin, la toma automatizada de decisiones, generacin de histricos, gestin de alarmas, emisin de informes, etc. han de ser atendidas en procesos de cierta complejidad. Las funciones asociadas a los niveles de control de produccin y supervisin de planta en un modelo jerrquico de automatizacin requieren el conocimiento de la realidad de la planta y la capacidad de interactuacin sobre ella. Los sistemas digitales que utiliza la informtica industrial son actualmente capaces de implementar sobre la pantalla de un ordenador los paneles de control tradicionales con indicadores luminosos, pulsadores, interruptores y aparatos de medida cableados de forma rgida, con altos costes de instalacin y mantenimiento. Con una supervisin inteligente que permita al operador interactuar de forma dinmica con el proceso, y con la ayuda de factores tales como la capacidad de almacenamiento y proceso del ordenador y su facilidad de comunicacin con los controladores de planta, tal operador detecta de inmediato las variaciones significativas en el proceso en tanto observa su evolucin en el tiempo y sus tendencias. Para un sistema tpico el control directo de la planta corre a cargo de los autmatas programables, en tanto que el ordenador a ellos conectado se encarga de las funciones de dilogo con el operador, tratamiento de la informacin del proceso y control de la produccin. Con tal estructura, el ordenador se limita a la supervisin y control de los elementos de regulacin locales instalados en la planta y al tratamiento y presentacin de la informacin, pero no acta directamente sobre la planta. Aunque eventualmente el ordenador podra ejercer acciones directas de control como lecturas de sensores o activacin o desactivacin de actuadores, dotado de un hardware adicional conectado a sus buses internos, no es usual tal forma de actuacin. Apoyndose en la estructura de dispositivos locales, el ordenador u ordenadores se conectan a ellos mediante lneas de interconexin digital, tales como buses de campo o redes locales por las que reciben informacin sobre la evolucin del proceso (obtencin de datos) y enva comandos u rdenes del tipo arranque, parada, cambios de produccin, etc. para su gobierno (control de produccin). A los programas requeridos y, en su caso el hardware adicional necesario, se les denomina genricamente como sistemas SCADA ("Supervisory Control And Data Acquisition") y pueden ofrecer prestaciones avanzadas como: - Crear paneles de alarmas, con registro de incidencias que exijan la presencia del operador para darse por enterado de una parada o una situacin de alarma. - Posibilidad de generacin de histricos de seales de planta que pueden ser volcados sobre una impresora o sobre una hoja de clculo para su procesado inmediato. - Imprimir informes, avisos y documentacin varia sobre la evolucin del proceso. - Ejecutar programas modificando la ley de control o cambio total del programa ante determinadas condiciones en el proceso.
14
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Posibilidad de una programacin numrica que posibilite la realizacin de complejos clculos matemticos sobre la CPU del ordenador, ms especializada que la del autmata.
Con las anteriores prestaciones es posible desarrollar aplicaciones basadas en el PC que recoja los datos, analice las seales, haga presentaciones en pantalla, enve datos a impresora o disco, controle actuadores, etc. En general, un paquete SCADA incluye dos programas: Editor y Ejecutor ("RunTime"). Con el Editor se generan las aplicaciones antes descritas haciendo uso de los editores, macros, lenguajes y ayudas de que dispone, y con el Ejecutor se compilan a fin de obtener el fichero .EXE de ejecucin.
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
Mayol, Albert. Autmatas Programables, Coleccin Prodctica. Marcombo, S.A. (1987) Michel, G. Autmatas Programables Industriales: Arquitectura y aplicaciones. Marcombo, S.A. (1990) Mandado, Enrique. Sistemas electrnicos digitales, Marcombo, S.A. (4 edicin, 1981) Taub H. Y Schilling D. Electrnica digital integrada, Marcombo, S.A. (1980) Blanchard, Michel y otros. Le GRAFCET, de nouveaux concepts. ADEPA Cepadues Editions (1985)
15
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Varios autores. GEMMA (Guide dtude des Modes de Marches et dArrts). ADEPA (Agence pour le Dveloppement de la Productique Applique), 13/17 Rue Prier, BP 5492123, Montrouge, Cedex. Kuo, Benjamin C., Sistemas Automticos de Control, CECSA (2 Edicin 1970) Ogata, Katsuhiko, Ingeniera de Control Moderna, Prentice-Hall (1980) Frhr, Friedrich y Orttenburger, Introduccin al Control Electrnico, Marcombo, S.A. Siemens (1986) Ras, Enrique, Teora de circuitos, Marcombo, S.A. (1969) Ras, Enrique, Anlisis de Fourier y Clculo Operacional Aplicados a la Electrotecnia, Marcombo, S.A. (1979) Pizziola, Antonio, Electrnica industrial y servomecanismos, Ediciones Don Bosco (1974) SIEMENS. Cat. Nm. ST 54. Autmatas Programables S5-135U Y S5-150U IDEC-IZUMI. Users Manual EM228-4. MICRO-1 programmable controller TLMECANIQUE TSX D11 000. Microautmata TSX 17. Instalacin IDEC-IZUMI. Cat. Nm. EP574-0. FA-3S Series Hitachi. Cat. Nm. NJI 008 (X). Operation Manual E-Series Toshiba EX250/500. Cat. Nm. EBE-113002. Instruction Manual OMRON. Cat. Nm. X50-E1-2. The C-Series solution Varios Autores. Transductores y Medidores Electrnicos: Serie Mundo Electrnico Ed. Marcombo (1983) Balcells, Jos; Romeral, Jos L. Sensores y Transductores Industriales (Monografa docente) Ed. Delegacin de Alumnos ETSEIT Norton, Harry N. Sensores y Analizadores. Ed. Gustavo Gili (1984) Palls, Ramn. Transductores y Acondicionadores de Seal. Ed. Marcombo (1989) Tobey G.E., Graeme J.G., Huelsman L.P. Operational Amplifiers: Design and applications. McGraw-Hill (Serie Burr-Brown), 1971 Catlogos de autmatas SIEMENS tipos S-100U, S-115U, S-135U y S-150U Catlogos de autmatas TLMECANIQUE tipos TSX-17, TSX-47 Catlogos de autmatas OMROM IDEC-IZUMI. Users Manual EM073-0. FA-2Junior Series CIMTEL TLMECANIQUE. Los Automatismos Programables Integrados. 1992 SIEMENS. Cat. Nm. ST 54.1. Autmatas Programables S5-135U y S5-155U SIEMENS. Cat. Nm ST 52.3. Autmatas Programables S5-115U y S5-115H ALLEN-BRADLEY. Product Guide. Noviembre 1987 Mayol i Bada. Autmatas Programables. Serie Prodctica nm. 3. A. Ed. Marcombo, 1987 Varios autores. Los Automatismos Programables. Ed. Citef, 1991 SIEMENS. Autmata Programable S5-100U (CPU 100). Edicin Octubre 1986 OMRON. Manual de Programacin. SYSMAC Serie C. Febrero 1991 TOSHIBA. Programming Manual. EX Series EX200B/250/500, 1986 TLMECANIQUE. Programacin TSX T407. Contactos TSX 67/87. Lenguaje Contactos. Manual 10. 1986 IDEC-IZUMI. Fa-3S Series. Users Manual. FP3S-CP11 Standard CPU Marzo 1992. FA-2Junior Series. Users Manual. Abril 1990 SIEMENS. Aparatos de Programacin PG-615 y PG-685. Cat. ST-59. 1991
16
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Romeral, Jos L. Curso de Especializacin en Automatizacin Industrial. UPC X0455, 1994 MITORMAT S.L. Terrassa. Manual HTERM. 1993 IDEC-IZUMI Micro Programmable Controller Micro3, Users Manual Cat. Nm. EM 289-0. Marzo 1993 Is Your Company Ready Together? The C Series Solution. Cat. X50 E 1-2. Diciembre 1989 Carracedo Gallardo, Justo. Redes locales en la industria. Ed. Marcombo, 1988 SIEMENS AG. Telecomunicacin digital. Marcombo, S.A. 1988 Ballcells J., Daura F., Esparza R., Palls R. Interferencias Electromagnticas en Sistemas Electrnicos. Marcombo, S.A. 1992 Dunlop J., Smith D.J. Ingeniera de las Telecomunicaciones. Gustavo Gili. 1988 Cambell Joe. El libro del RS-232. Ediciones Anaya Multimedia S.A. 1985 PROFIBUS Nutzerorganisation e.V. Geschftstelle Pelzstrae, 5. D-5305 Alfter, Alemania THE BITBUS INTERCONNECT SERIAL CONTROL BUS. Embeded Microcontrollers Databook. Varios autores INTEL, 1987 Gonzlez, Ignacio. Los PCs en la Industria. Automtica e Instrumentacin, n 226, pg. 76, 1992 Soriano, Antonio. Autmatas programables frente a computadores personales en sistemas de control. Automtica e Instrumentacin, n 196, pg. 811, 1989 Paredes, Pedro. El PC en aplicaciones industriales. Automtica e Instrumentacin, n 231, pg. 73, 1993 Dexter, Arthur L. Microcomputers Bus Structures and Bus Interface Design. Ed. Marcel Dekker Inc., 1986/Electrical Engineering and Electronics Desmond, Michael. The VESA Local Bus PC World. 1993 INTEL CORP. PUB. N 241761.001. The PCI Local Bus: A Technical Overview De La Torre, Miguel. El Bus VME. Conceptos bsicos. Mundo Electrnico, n 224225, pg. 52, 1992 PEP Modular Computers. VME For Everyone. Autobahn Technology Mandado E., Marcos J., Prez S.A. Controladores lgicos y autmatas programables. Marcombo S.A. 1990 Varios autores. The TTL Data Book for Design Engineers (Vol 1). Texas Instruments, 1984
1.3.
Los SCADAs
Un sistema SCADA podra definirse como "una aplicacin software diseada especialmente para funcionar sobre ordenadores de control de produccin", comunicada con la planta mediante interconexin digital con los reguladores locales bsicos y, con el usuario mediante interfaces grficas de alto nivel como pantallas tctiles, lpices pticos, ratones, etc. Desde la pantalla del ordenador, que es configurada por el usuario y es fcilmente modificable, el sistema permite la comunicacin con los dispositivos de campo (controladores autnomos, autmatas programables, sistemas de dosificacin, mquinas de control numrico, etc.) para controlar el proceso de forma automtica. Adems, de
17
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
toda la informacin generada en el proceso productivo, se enva a cada usuario de la empresa (supervisin, ingeniera, control de calidad, mantenimiento, etc.) la que necesita. A fin de que la instalacin de un sistema SCADA sea perfectamente aprovechada debe cumplir ciertas condiciones: a) Ha de ser un sistema de arquitectura abierta, capaz de ampliarse y acomodarse a necesidades cambiantes. b) Ha de permitir una fcil comunicacin y de forma transparente para el operador, tanto con el equipo de planta (drivers de comunicacin con API, CN, PID, etc.) como con el resto de la empresa (gestin y acceso a redes locales), y c) Ha de utilizar programas fciles de instalar, con no demasiadas exigencias de hardware, sencillos de utilizar, y disponiendo de interfaces afines al usuario, tales como imgenes, sonido, pantallas tctiles, etc. Cumpliendo tales condiciones, el sistema SCADA llega a ser una herramienta fundamental en la organizacin del proceso productivo permitiendo el establecimiento de estrategias avanzadas de gestin con respuestas inmediatas de la produccin. Como soporte hardware de los programas SCADA se utilizan normalmente ordenadores convencionales (miniordenadores PC, ordenadores porttiles y estaciones de trabajo). Aunque pueden emplearse arquitecturas econmicas basadas en ordenadores PC con sistema operativo DOS/Windows y software adicional con funcionalidades del tipo interrupciones, comunicacin en red, etc., para mejorar sus prestaciones, la utilizacin de ordenadores con sistemas operativos ms completos (VAX/VMS, Unix, Windows NT, etc.) y arquitecturas cliente-servidor aptas para compartir recursos informticos (datos y aplicaciones) permiten ofrecer programas capaces de atender simultneamente a varios servicios. Por ejemplo, un operador puede estar viendo informes de incidencias desde un ordenador industrial con sistema operativo Unix en tanto que otro est modificando la evolucin del proceso desde una estacin de trabajo y un tercero monitorizando la situacin en planta desde un PC. Estas arquitecturas cliente-servidor se utilizan en grandes aplicaciones a fin de repartir los datos procesados entre distintos ordenadores. Por ejemplo se podran establecer nudos separados a modo de servidores para la demanda de tareas tales como monitorizacin y procesado de alarmas, comunicacin con los dispositivos de E/S de campo, registro y almacenado de datos para histricos, anlisis de tendencias, etc. Un factor esencial a tener en cuenta para la eleccin del sistema es la capacidad del sistema operativo sobre el que corre la aplicacin para soportar multitarea y/o multiusuario. La capacidad multiusuario es de utilidad cuando en aplicaciones complejas se han de disponer en lugares separados funciones especficas en cada uno de ellos. Tales sistemas usualmente se articulan mediante redes de rea local. Para aplicaciones de media y baja complejidad, actualmente es habitual la utilizacin de ordenadores PC, con una CPU tanto ms potente cuanto menores sean los tiempos de respuesta exigidos y configuraciones tanto ms robustas cuanto ms agresivas sean las condiciones ambientales de la aplicacin. A pesar de leves inconvenientes, Windows se mantiene como el sistema operativo tpico de soporte con un paquete software SCADA que corre sobre l en multitarea y monousuario. Windows aprovecha las ventajas de un
18
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
almacenar (adquisicin de datos). b) Visualizacin de la evolucin del proceso (monitorizacin) y c) Modificar, si es necesario, la evolucin del proceso actuando directamente sobre l o sobre los reguladores autnomos bsicos tales como alarmas, consignas, mens, etc. (supervisin y control). Para el desarrollo de las tres funciones expuestas el sistema dispone de los siguientes bloques software que se irn viendo. El mdulo de configuracin define el entorno de trabajo de su sistema SCADA y lo adapta a su aplicacin particular. En efecto, con l define las pantallas de texto o grficas que quiere utilizar, para lo cual las genera desde el mismo sistema SCADA o las aprovecha de otra aplicacin anterior, apoyndose en el editor grfico que incorpora y con el que puede dibujar a nivel de pixel cualquier figura o utilizar elementos ya disponibles, tales como crculos, cuadrados, lneas, etc. con las funciones clsicas de mover, copiar, desplazar, etc. Una vez definidas las pantallas, se establece la relacin entre ellas determinando el orden de presentacin, los enlaces y su accesibilidad a diferentes operarios. Teniendo cada pantalla asociadas sus propiedades configurables, el mantenimiento de las mismas resulta sencillo. Igualmente, en esta fase de configuracin se seleccionan los drivers de comunicacin para el enlace con los elementos de campo y su conexin o no en red. En ciertos sistemas es tambin en esta fase de configuracin donde se definen las variables a visualizar, procesar o controlar, identificadas por nombres o etiquetas para su posterior referenciado y programacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
La utilizacin de colores hace ms cmoda la interpretacin rpida de la informacin, si bien no han de utilizarse demasiado nmero de ellos. La utilizacin de colores tales como el rojo (alarma, peligro) o verde (funcionamiento normal) es recomendable. Como complemento a los colores y en previsin de bajas iluminaciones, alto brillo, etc., es aconsejable reforzar las seales de alarma y peligro acompandolas de smbolos, intermitencias, grficos dinmicos, etc., si bien cuando se utilicen intermitencias, stas no deben afectar al mensaje a fin de no dificultar su lectura.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Los comandos (maniobras y secuencias de mando) son las ms importantes de las acciones anteriores, puesto que implementan la comunicacin hombre-mquina con que el usuario puede controlar el proceso. Para la entrada de comandos se debern tener en cuenta de modo general las siguientes consideraciones: - Para ordenar una funcin (cambiar un estado, introducir un valor, etc.), el usuario ha de tener posibilidad de conocer el estado o valor anterior y una explicacin de lo que hace la funcin. - Cuando en la entrada a un comando el rango numrico o alfanumrico de entrada est limitado, ser conveniente indicar tal rango en la explicacin que acompae al comando. P.e. "introduzca nmero de piezas (100-110 u.)". - En el caso de que la explicacin que acompae al proceso sea demasiado larga, puede optarse por: a) Mostrar la explicacin en una ventana que se abra especficamente para el comando. b) Recurrir a mensajes giratorios y c) Hacer uso de abreviaturas, smbolos, etc. - A efectos de comprobar que un estado o valor ha sido modificado, la planta ha de devolver (feed-back) al usuario el nuevo valor actual. - Si dentro de las alternativas posibles en un comando hay una de utilizacin frecuente, sta ha de mostrarse como alternativa por defecto, que posteriormente el usuario podr o no modificar. - La aceptacin de comandos que supongan acciones de mucha responsabilidad (cambios de produccin, detencin total, etc.), necesitarn en general de un cdigo (password) de identificacin del operador. - El usuario, desde cualquier pantalla, ha de poder acceder fcilmente a las paradas de alarma, seguridad o emergencia que habrn de aparecer en gran tamao y/o en smbolos grficos. En el mdulo de proceso existe un caso particular de relaciones programadas que constituye lo que se denomina gestin de alarmas, pudindose definir intervalos de variacin de las variables (lgicas o numricas), fuera de los cuales se dan condiciones de alarma, y en caso de que varias aparezcan al mismo tiempo, su orden de prioridad. En caso de detectarse una alarma, el sistema, de forma preprogramada, reacciona advirtiendo al operador, con seales acsticas, con textos parpadeantes, con cambios de color, etc. El operador, ante tal advertencia, puede darse por enterado de la anomala, modificar alguna variable del proceso o dirigirse a una pantalla auxiliar especfica que d instrucciones de cmo tratar tal alarma. Las alarmas ocurridas quedan registradas con el estado que las produjo y codificadas como: a) Alarma activa no reconocida, es el caso en que ante una alarma el operador no ha pulsado el botn de "enterado" y por tanto no ha efectuado ninguna correccin. b) Alarma activa reconocida, el operador ha pulsado el botn de "enterado", aunque la alarma permanece activa por no haberse efectuado aun ninguna correccin. y c) Alarma inactiva, el operador ha efectuado las correcciones pertinentes y la alarma se ha eliminado.
22
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
En el registro de alarmas quedan reflejados los datos correspondientes a la hora en que se produjeron las alarmas, la hora en que se desactivaron y si el operador se dio o no por enterado de ella.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
(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.
Bibliografa y artculos
FEATURES - Tech Update - SCADA Evolves Towards MES - Today's SCADA systems are evolving beyond supervisory control and data acquisition with greater functionalities and integration capabilities. (2001) Acebes, L. F., Diseo de un scada utilizando un simulador OPC / L. F. Acebes, J. M. Zamarreo (2001) Clements-Jewery, K., The PLC workbook : programmable logic controllers made easy / K. Clements-Jewery, W. Jeffcoat (1996) Ventajas del PLC en control de procesos. Industria internacional; 2001; N 398 ; pp. 28 SIEMENS. PC Industrial. Los Sistemas Operativos. Sinopsis. Edicin 8/90 NATIONAL INSTRUMENTS, Seminario de LabWindows/CVI: Ref. 350181A-01. 1994 Lamaison Urioste, Rafael. El PC Industrial. Curso de Doctorado UPC-DDE
24
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
NATIONAL INSTRUMENTS, Instrumentation Reference and Catalogue. Process Monitoring and Control. 1995 Frau, Joan I. Sistemas de Adquisicin de Datos Automtica e Instrumentacin, n 242, pg 70, 1994 Digitronics SIXNET. About SIXTRAK SYSTEM. 1995 Aiza, Jordi. Software para el Control de la Calidad y el Mantenimiento. Automtica e Instrumentacin, n 250, pg 640, 1995 Campanera Radua, Jaume. Equipos y Software para control de calidad automatizado. Automtica e Instrumentacin, n 205, pg. 167. 1990 Jubera, J. A. Mantenimiento, Gestin e Informtica. Mantenimiento y Electrnica Industrial, n 14, pg. 13. 1992 BURR-BROWN. The Handbook of Personal Computer Instrumentation. 1990 MATSUSHITA AUTOMATION CONTROLS ESPAA S.A. PROGRAMMABLE CONTROLLER FP1. Technical, 1992
25
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
1.4.
El GRAFCET, cuyo nombre deriva de GRfico Funcional de Control de Etapas y Transiciones (en francs GRAphe Fonctionnel de Commande Etapes-Transitions), naci como resultado de los trabajos de la AFCET (Association Franaise pour la Cyberntique Economique et Technique), iniciados en la dcada de los setenta. Por ello veremos que en este campo gran parte de la produccin cientfica proviene de Francia. El propsito inicial fue la puesta a punto de un mtodo de descripcin de procesos, independientemente de la tecnologa de los mismos, mediante un grfico funcional interpretable fcilmente por personas no especialistas en automatizacin. Tal grfico funcional permite normalizar la forma de descripcin del proceso para tcnicos en distintas reas, p.e. el ingeniero de organizacin o de produccin, que ha de definir las necesidades del automatismo; el de diseo, que debe implementar el sistema de control y los accionamientos; y el tcnico de mantenimiento, que debe cuidar de su funcionalismo o introducir modificaciones en fase de explotacin. La colaboracin iniciada en 1977 entre AFCET Y ADEPA (Agence pour le Dveloppement de la Productique Applique), dio lugar a una serie de tiles metodolgicos, como el GEMMA (Guide dtude des Modes de Marche et Arrt), para apoyar el GRAFCET como mtodo no slo descriptivo, sino como herramienta de diseo. En 1982 el trabajo fue retomado por un grupo de trabajo de AENOR (organismo encargado de la normalizacin en Francia), compuesto por miembros de UTE, CNOMO, UNM y de otros organismos relacionados con la industria, la automatizacin y la enseanza, culminando con la publicacin de la Norma NF C03-1904. Dicha norma fue tambin adoptada por IEC en 1988, con la denominacin IEC-848 y ttulo tablissement des diagrammes fonctionnels pour systmes de commande. Actualmente, varios fabricantes de autmatas programables incorporan instrucciones de programacin que permiten introducir directamente el grafo de GRAFCET. En su defecto, existe software capaz de compilar un grafo GRAFCET al lenguaje del autmata, permitiendo en ambos casos una gran flexibilidad y rapidez de diseo, con notables ventajas en las fases de verificacin, explotacin o posible modificacin del automatismo. No obstante lo anterior no ha de confundirse el GRAFCET con un lenguaje de programacin. La combinacin del grfico funcional con los mtodos del lgebra de Boole, se ha convertido en una potente herramienta de diseo de sistemas lgicos, que con unas reglas bastante simples, permite ir ms all de la simple descripcin e interpretacin grfica de un proceso
26
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Ha de definirse el funcionamiento del automatismo con total independencia de los componentes que han de intervenir en el mismo. Ello supone centrar el inters no tanto en la estructura fsica o en la tecnologa a utilizar en el automatismo, sino en la funcin que ha de realizar. Un sistema automtico se divide en dos partes: parte de control (PC) y parte operativa (PO). La parte de control comprende todo aquello que interviene en la automatizacin del proceso y la parte operativa incluye el resto del sistema. El conjunto PC+PO se relaciona con el medio exterior a travs de un dilogo con el operador (dilogo hombre-mquina) y a travs de comunicaciones con otros automatismos que operen en el mismo contexto. Cada fase de un proceso es la operacin (que se denomina "etapa" en el lenguaje de GRAFCET), entendida como cualquier accin realizada por el automatismo. Hay que notar que en una primera aproximacin puede dividirse la totalidad del proceso en unas pocas operaciones relativamente complejas, tales como cilindrar, cortar, taladrar, roscar, cambiar herramienta, etc., denominadas "macroetapas". Estas macroetapas pueden ser subdivididas a su vez en operaciones ms elementales a medida que se progresa en el nivel de detalle. As, p.e., una operacin de roscado puede subdividirse en otras ms elementales como: impulsar pieza, bloquear pieza, aproximacin de herramienta, etc. Inicialmente ha de dividirse un proceso en macroetapas y stas en etapas elementales, hasta conseguir que las acciones a realizar en cada una de ellas solamente dependan de relaciones combinacionales entre entradas y salidas. Cada una de estas etapas elementales llevar asociada una variable de estado. Ha de realizarse un grfico de evolucin que defina la sucesin de operaciones (secuencia de etapas) y las condiciones lgicas para pasar de una a otra (denominadas condiciones de transicin en el lenguaje de GRAFCET). Como resultado de esta fase se obtienen las ecuaciones lgicas de las variables de estado y, por tanto, queda resuelta la parte secuencial del automatismo. Para cada operacin elemental (etapa), se han de establecer las relaciones lgicas entre entradas y salidas, utilizando eventualmente otras variables internas combinacionales. Finalmente, implementar el sistema utilizando tantos biestables como variables de estado y cableando o programando las relaciones lgicas obtenidas.
Es importante resaltar que el GRAFCET no slo es til como herramienta de diseo, sino tambin en las fases de especificacin y posteriormente en la fase de explotacin y mantenimiento, y que el mtodo est basado en la observacin del nmero de estados que debe memorizar el sistema, para poder fijar su comportamiento posterior, partiendo de cualquier estado inicial, para identificar las etapas y, en consecuencia, las variables de estado. El nmero de estados distintos en un proceso no puede ser infinito, sino que se repiten de forma ms o menos cclica una serie de estados equivalentes y, por tanto, el nmero de etapas es finito; de lo contrario, nos encontraramos ante un sistema de comportamiento aleatorio. Aparece aqu el concepto de estados equivalentes, que se definen de la siguiente forma: Dos estados son equivalentes si la evolucin posterior del sistema a partir de
27
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
ellos y para cualquier combinacin de entradas es la misma. En el GRAFCET los estados equivalentes se asocian a una nica etapa y en el modelo algebraico quedarn representados por una misma variable de estado. Al contrario de lo que ocurre con otros mtodos, el mtodo basado en GRAFCET no pretende minimizar el nmero de variables de estado, por lo que puede no resultar ptimo desde el punto de vista de minimizar el hardware. Sin embargo, el coste y volumen de un sistema dependen cada vez menos del nmero de variables empleadas, sobre todo si se emplean autmatas programables y, en cambio, adquieren cada vez ms importancia otros aspectos como el propio coste de diseo, tiempo de desarrollo de software, fiabilidad y facilidad de test y mantenimiento, y aspectos que permite optimizar el mtodo propuesto.
28
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
- Cualquier etapa se desactivar cuando se cumplan las condiciones de transicin a la siguiente o siguientes y dicha transicin se haya efectuado. En el grfico de las figuras, si se cumple la condicin de transicin T1/2, se activar la etapa 2 y se desactivar la etapa 1. - Las cuatro situaciones posibles en que puede hallarse una transicin son: No validada: La etapa o etapas inmediatamente anteriores o siguientes no estn activas. Validada: La etapa o etapas inmediatamente anteriores si que estn activas, pero no se cumple la condicin lgica de transicin. Franqueable: La etapa o etapas inmediatamente anteriores estn activas y adems si se cumple la condicin lgica de transicin. Se trata nicamente de una situacin transitoria, ya que dicha transicin ser automticamente franqueada, segn se ve ms adelante. Franqueada: Se ha activado la etapa o etapas inmediatamente siguientes y se han desactivado la etapa o etapas inmediatamente anteriores.
1
T1/2
1
T1/2=0
1
T1/2=1
1
T1/2
2
Transicin franqueada
Transicin no validada
Transicin validada
Transicin franqueable
Figura 1.1: Situaciones posibles para una transicin - Slo es posible franquear una transicin si sta est previamente validada. - Cualquier transicin franqueable ser inmediatamente franqueada. - Cuando existan varias transiciones franqueables simultneamente, todas ellas sern franqueadas simultneamente. - Cuando se franquea una transicin, automticamente se desactivan todas las etapas inmediatamente anteriores. - Durante el funcionamiento de un automatismo, si una etapa debe ser simultneamente activada y desactivada, dicha etapa permanecer activada. Esta regla no es sino un convencionalismo para resolver casos de indeterminacin, pero es difcil de llevarse a la prctica dado que, en automatismos programables, p.e. la respuesta de un SET y un RESET simultneos depende del orden de programacin, pero en automatismos cableados puede depender de una carrera crtica en la que ya intervienen los tiempos de respuesta de los componentes. Por tanto, es aconsejable evitar que una etapa pueda ser activada y desactivada simultaneamente. Por todo lo anterior y como se ver enseguida, han de seguirse ciertas reglas de coherencia no explicitadas por el GRAFCET. - Los grficos de evolucin de cualquier proceso, expresado en GRAFCET, deben ser siempre cerrados, sin dejar ningn camino abierto. En efecto, un camino abierto
30
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
supondra que el proceso no puede continuar. No obstante pueden darse situaciones en las que la salida sea inicializar el proceso mediante alguna seal externa. Principios de implementacin Adems de las reglas de evolucin ya vistas, hay otra serie de reglas relativas a la forma de expresar el diagrama funcional y a su forma de interpretarlas que se tratarn en el apartado de estructuras. Sin embargo, se contemplan a continuacin unos cuantos principios que, aunque no especficos del GRAFCET, son genricos para cualquier automatismo secuencial: - Se denomina evento a cualquier situacin en la que se produzca el cambio de al menos una de las variables que intervienen en el sistema. De este modo, un evento corresponde siempre a un flanco de subida o de bajada de una variable lgica. - Dos eventos pueden estar entre s correlacionados o no correlacionados. Se dice que estn correlacionados cuando: - Estn asociados a una misma variable lgica. Por ejemplo: el flanco de subida de una variable B y el flanco de bajada de su complementaria, B, estn correlacionados. - Estn asociados a dos variables lgicas que tengan una interseccin comn. Por ejemplo, las variables Z y W tales que Z = B + D y W = E * B, tambin estn correlacionadas puesto que un flanco de subida de B puede provocar un flanco de subida simultneo de Z y W. - Se admite que formalmente dos eventos externos no correlacionados nunca pueden producirse simultneamente. Es decir: Siempre habr una pequea diferencia de tiempo entre ambos que har que no sean simultneos. Es de suma importancia el tener en cuenta que el modelo de GRAFCET impone la simultaneidad de los eventos producidos al franquearse una transicin. As, en las figuras 1.1 ha de suponerse que el flanco de subida T1/2, el flanco de bajada de X1 y el flanco de subida de X2, son eventos correlacionados y, por tanto, simultneos. No obstante, debido a los retardos propios de los componentes o a la ejecucin mediante un controlador programable con procesador nico, es posible que tecnolgicamente dicha simultaneidad no se produzca, Lo anterior puede condicionar a que la implementacin prctica de un controlador resulte dependiente del tipo de componentes utilizados en la implementacin del sistema o del orden de programacin en el caso de autmatas. De cualquier modo, en el apartado estructuras del GRAFCET, se trata de cmo evitar tales inconvenientes aadiendo ciertas condiciones lgicas adicionales que hagan que la evolucin del sistema secuencial sea independiente de la simultaneidad de dos eventos.
31
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
0
T3/5 T0/1 T0/2
4
T4/5
6
T6/7-8
10
T9-10/11
0
T3/5 T0/1 T0/2
3 2
4
T4/5
6
T6/7-8
9
8
10
T9-10/11
11
Figura 1.4: Dispociciones incorrectas (no permitidas) en GRAFCET En lgica combinacional se demuestra que cualquier funcin lgica puede expresarse mediante combinacin de las operaciones Y, O y NO. De acuerdo con ella, paralelamente puede decirse que los sistemas secuenciales, de cualquier complejidad, siempre pueden expresarse en GRAFCET mediante grficos que slo incluyan como estructuras bsicas las tres citadas anteriormente. En la prctica se comienza por describir los procesos mediante grficos funcionales muy genricos (macroetapas), con poco nivel de detalle, que casi siempre sern de tipo lineal, pero al ir avanzando en el nivel de detalle aparecen las bifurcaciones (convergencias y divergencias en O y en Y). Seguidamente se contemplan las formas puras de cada una de las estructuras bsicas mencionadas, si bien, en un proceso real tales estructuras aparecern entremezcladas de tal forma que, en el interior de estructuras en O aparecern tramos lineales u otras en Y o viceversa. Sin embargo, casi siempre se puede recuperar la estructura en Y o en O pura, haciendo uso del concepto ya expuesto de macroetapa. Secuencia lineal La estructura ms simple posible es la secuencia lineal, consistiendo en una sucesin de etapas unidas consecutivamente por las lneas de evolucin y condiciones de transicin. Las propiedades que cumple la estructura secuencia lineal son las siguientes: - En un tramo de secuencia lineal, solamente una etapa debe estar activa en un instante determinado. En rigor, si bien las reglas del GRAFCET no impiden formalmente la posibilidad de que en una secuencia lineal pueda existir ms de una etapa activa, tal situacin suele denotar una incoherencia de diseo. En efecto, la implicacin prctica de que se activen dos etapas simultneamente supone que deben ejecutarse dos grupos de acciones simultneamente y esto puede representarse de una forma ms apropiada mediante bifurcaciones en Y, como podr verse seguidamente.
32
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
cumplirse dos o ms condiciones de transicin simultneamente. Si esta situacin es la deseada, debe resolverse utilizando una estructura de bifurcacin en Y, que se expondr ms adelante. En cambio, si la situacin es accidental, ello pondra de manifiesto una falta de especificacin ante tal contingencia, que deber ser resuelta o bien imponiendo condiciones adicionales para evitar la simultaneidad o especificando claramente cundo el proceso ha de ser exclusivo y cundo simultneo. Abundando en lo anterior, en los automatismos reales, donde no puede garantizarse la simultaneidad de eventos debido a los tiempos de respuesta, el incumplimiento de tal restriccin puede ocasionar respuestas aleatorias, debido a lo que se conoce como carreras crticas. En resumen, a fin de evitar los problemas descritos, es aconsejable imponerse dicha restriccin en las bifurcaciones en O. - A nivel de grfico global, los distintos caminos iniciados como divergencia en O deben confluir en uno o ms puntos de convergencia en O. Es decir: la estructura debe ser globalmente cerrada y no pueden existir caminos abiertos, que denotaran situaciones sin posible salida. Tambin se excluye, como se ver enseguida, que los caminos de una divergencia en O puedan concurrir en una convergencia en Y, puesto que ello provocara un bloqueo del sistema en el punto de convergencia ante la imposibilidad de finalizar simultneamente todos los caminos, habiendo iniciado uno slo. En la obtencin del esquema lgico de la parte secuencial, las nicas etapas que merecen comentario son las que se encuentran inmediatamente antes o despus de la divergencia y convergencia, ya que las dems son simplemente parte de una estructura lineal ya conocida. Divergencia y convergencia en Y La divergencia y convergencia en Y, a las que se denominan conjuntamente bifurcacin en Y, forman una estructura integrada por los siguientes elementos: - Una divergencia en Y en la que comienzan varios caminos o subprocesos que han de iniciarse simultneamente cuando se cumpla una determinada condicin de transicin comn. - Una serie de caminos simultneos, cada uno de ellos con una macroestructura lineal, aunque pueden contener otras estructuras ms complejas. - Una o ms confluencias en Y de tales caminos, de modo que la macroestructura debe ser globalmente cerrada. Esta estructura est prevista para representar procesos que se inician simultneamente, se ejecutan de forma independiente con distintos tiempos, y condicionan la continuacin del proceso a que hayan terminado todos ellos. Al igual que se vio para las bifurcaciones en O, no es necesario que los subprocesos simultneos que parten de una misma divergencia deban concluir en la misma convergencia. Lo que tambin aqu es imprescindible es que el grfico, visto globalmente, sea cerrado.
34
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Las propiedades que cumplen las convergencias y divergencias en Y son las siguientes: - Desde el punto de divergencia el proceso evoluciona por varios caminos a la vez, ejecutando varias tareas simultneamente. - Para el inicio de las tareas simultneas la condicin de transicin es nica e igual para todas ellas. - En el grfico global, los diferentes caminos iniciados como divergencia en Y han de confluir en uno o ms puntos de convergencia en Y. Es decir, la estructura debe ser globalmente cerrada y sin que puedan existir caminos abiertos, que denotaran situaciones sin posible salida. Tambin se excluye que los caminos de una divergencia en Y puedan concurrir en una convergencia en O. En rigor las reglas del GRAFCET no prohiben explcitamente esta situacin, pero en caso de cerrar una divergencia en Y con una convergencia en O podran activarse varias etapas consecutivas de una estructura lineal que estuviera a continuacin, lo que no cumple con la primera regla del apartado Secuencia lineal. - En una convergencia en Y ya se impone naturalmente una condicin de transicin: en efecto, todas las tareas que confluyan en ella han de haber terminado para que el proceso contine. De modo que, a la hora de comprobar la regla del apartado Las reglas de evolucin, puede considerarse a todos los efectos equivalente una convergencia Y a una transicin. Ello no impide que puedan existir otras condiciones adicionales, aparte de la propia de convergencia. Detalles dignos de comentario son: - La etapa previa a una divergencia Y no ha de desactivarse hasta que estn activadas todas las etapas siguientes. - La activacin de cualquier etapa inmediatamente despus de una divergencia depende de que est activa la etapa inmediatamente anterior y de la condicin de transicin comn. - La activacin de la etapa siguiente a una convergencia Y depende de que estn activas todas las etapas previas y en su caso de alguna condicin adicional.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
posteriormente de forma individual, en lo que se denomina representacin en detalle o expansin de la macroetapa. En esencia, la finalidad de la macroetapa es la de permitir una aproximacin progresiva y estructurada al proceso en todas las fases (diseo, explotacin y mantenimiento) de un automatismo. Se puede partir de una definicin en lneas generales (macroetapas) del proceso y posteriormente descomponer cada macroetapa en las acciones simples correspondientes. Cuando se introducen macroetapas en un grfico funcional, han de tenerse en cuenta las siguientes reglas bsicas: - La expansin de una macro debe tener una nica etapa inicial y una nica etapa final, sin que ello condicione a la macro a una estructura lineal. En efecto, dentro de la macro pueden existir estructuras de cualquier complejidad e incluso otras macros anidadas. - El franqueo de la transicin inmediatamente anterior a la macro, activa la etapa de entrada de la misma y, la activacin de la etapa de salida de la macro valida la transicin siguiente a la misma. Por motivos de claridad o de estructuracin se utilizan a veces macroetapas anidadas. Es decir, la expansin de una macroetapa puede, a su vez, utilizar otras macroetapas, fragmentando as el problema global en tareas que normalmente se hacen corresponder a partes del proceso tecnolgicamente completas (corte, cilindrado, taladrado, roscado, cambio de herramienta, traslado de piezas, pintura, tratamiento trmico, etc.) Es muy importante observar que en la definicin de AFCET se excluye explcitamente que una misma expansin pueda ser llamada desde dos macroetapas distintas del grfico funcional, tal como se ha representado p.e. en la Figura 1.6. En otras palabras: excluye la utilizacin del concepto de macroetapa como sinnimo de subrutinas. 1
T1/2
E10 2 S20
E10
1
T1/2 macro
E10 2 S20
E10
T E10/11
11
11
E10 7 S20
T2/3
T7/8
S20
3
S20
Tal restriccin se introduce a fin de evitar conflictos de acceso en el caso de que la misma expansin fuese llamada por dos macroetapas activas simultneamente. No
36
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
obstante, si se evita explcitamente dicha posibilidad puede pasarse por alto la restriccin y utilizar la misma expansin para desarrollar varias macroetapas distintas. En automatismos programables, la utilidad de las macroetapas se potencia notablemente cuando no se impone la restriccin antedicha. De esta forma, las macroetapas pueden definirse como autnticas subrutinas o procedimientos que pueden ser llamados desde cualquier punto del programa, con la nica condicin de que no sean llamadas mientras se estn ejecutando. Lo anterior exige ciertas precauciones en su inicializacin y utilizacin, pero permite en cambio una programacin ms estructurada de las tareas de un proceso y acorta la longitud del programa. Hay ya autmatas que disponen de lenguajes de programacin estructurados, capaces de interpretar macroetapas con carcter de subrutina, incluso con varios niveles de anidamiento.
37
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
1 1
condicin condicin
Inicializar contador
1 2
Contador<preseleccin
2 3
For next
Tarea
2 3
While...do
3
condicin Repeat tarea until condicin
Figura 1.7: Representacin mediante GRAFCET de estructuras de programacin de lenguajes de alto nivel La estructura IF...THEN...ELSE...ELSE... o las de tipo CASE son equivalentes a una bifurcacin en O, con una rama para el IF y una para cada ELSE. Tambin a modo de otra estructura ha de aadirse el concepto de subrutina o procedimiento, que en GRAFCET se obtiene con el concepto extendido, ya visto, de macroetapa y representacin en detalle. Ya se vi que, si bien la norma del GRAFCET no admite utilizar el concepto de macroetapa como sinnimo de subrutina, en cambio no impide que existan varias etapas iniciales ni que dos grficos funcionales puedan tener condiciones de transicin cruzadas.
38
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Planta 2
cabina D2 (Detector 2)
En la figura 1.9 se proporciona la solucin al problema, en la que se ha intentado que aparezcan el mayor nmero de elementos posibles de los previamente mencionados. Para reinicializar el sistema se le manda bajar hasta la planta baja, en cuyo caso ya se conoce el estado del sistema; simultneamente se realiza el chequeo del sistema. Esta primera etapa se realiza mediante una divergencia-convergencia en Y. Cuando ambas operaciones (chequeo y llegada al estado inicial) han concluido comienza el funcionamiento del ascensor atendiendo a las llamadas. Dicho funcionamiento consiste en una serie de divergencias-convergencias en O, en donde las convergencias estan implcitas en los saltos que se indican mediante los crculos; dichos saltos son equivalentes a la unin en la etapa con el resto de transiciones de entrada mediante una convergencia en O.
40
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
8
Chequeo del sistema
9 11
10 12
Bajar
espera
espera D1
Espera en T1
T1
P2T1P3 Subir a 2
P3T1 Subir a 3
2 4
Subir D2
3 5
Subir D3
Espera en 2
T1
Espera en 3
T1
P1T1P3 Bajar a 1
P3T1 Bajar a 2
P2T1P1
P1T1
6 1
Bajar
3
D1
7 4
Bajar
6
D2
41
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
ACSY-R: un modele pour l'analyse, la specification et la simulation de la commande de systemes discrets complexes repartis V. CHAPURLAT, Tesis Doctoral de la Universidad Motpellier II, 1994 Contribution a la formalisation des modeles et methodes de conception des systemes de production J.J. LESAGE, Suficiencia Investigadora de la Universidad de Nancy, especialidad automtica y produccin automtica, 1994 Apport de la methodologie synchrone pour la definition et l'utilisation du langage GRAFCET P. LE PARC, Tesis Doctoral de la Universidad de Rennes I, 1994 Utilisation du GRAFCET et des reseaux bayesiens pour le diagnostic de fonctionnement : application au systeme cryogenique de l'experience tore supra O. BADIE, Tesis Doctoral en informtica de la Universidad de Pars 6, 1994 Performances temporelles d'automates programmables et conception d'un coprocesseur d'acceleration G. RUDELOU, Tesis Doctoral de la Universidad de Montpellier 2, 1993 Interaction produit-procede. extension de la modelisation de la commande avec suivi automatique du produit F. PEREYROL, Tesis Doctoral de la Universidad de Montpellier 2, 1993 Contribution a la specification et a la mise en oeuvre de la commande temps-reel de cellules flexibles d'assemblage M. SOUAM, Tesis Doctoral de la Universidad de Lille I, 1993 Interaktiv grafisk editering och simulering av GRAFCET (interactive graphical editing and simulation of GRAFCET) S. JONASSON, Tesis TFRT-5456, Lund Institute of Technology, Lund, Suiza, 1992 Modelisation de protocoles: application a la couche liaison de donnees de f.i.p. G. GARNIER, Tesis Doctoral de la Universidad de Nancy 1, 1992 Contribution a la didactique des disciplines technologiques: acquisition et utilisation d'un langage d'automatisme J. GINESTIE, Tesis Doctoral, 1992 Contribution a la conception des systemes de controle reparti D. FOURMAUX, Tesis Doctoral de LILLE 1, 1991 Modele structure de specification, de conception et de mise au point de systemes a evenements discrets T. GIACCONE, Tesis Doctoral de Montpellier 2, 1991 Conception d'un systeme de gestion d'interface utilisateur dans l'environnement cim J. WANG, Tesis Doctoral de Valenciennes, 1991 Une contribution au genie automatique: le prototypage des machines et systemes automatises de production H. PANETTO, Tesis Doctoral en produccin automtica de la Universidad de Nancy 1, 1991 Contribution a l'application du dialogue homme-machine. applications industrielles a un reseau d'automates V. CARRE, Tesis Doctoral de Reims, 1990
43
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Traitement de l'information et efficacite economique des automatismes : la place du GRAFCET P. PERNOT, Tesis Doctoral de Grenoble 2, 1990 Automatisation d'un reacteur pilote modulaire polyvalent sous pression: application a la carboxylation du resorcinol J. DALIL-ESSAKALI, Tesis Doctoral de Pars 6, 1990 Modelisation et simulation de defaillances dans les systemes de production discrets C. PERSEGOL, Tesis Doctoral en componentes, seales y sistemas de la Universidad de Montpellier 2, 1990
c) Normativa
Norme franaise nf c 03-190 + r1 : diagramme fonctionnel "grafcet" pour la description des systemes logiques de commande Union Technique de l'Electricit Paris : UTE Editions, 1995 Project of amendment to IEC 848 : Preparation of function charts for control systems International Electronical Commission Geneve : IEC Editions, 1994 Projet de modification a la CEI 848 : Etablissement de diagrammes fonctionnels pour systmes de commande Commission Electronique Internationale Geneve : IEC Editions, 1994 Fascicule de documentation UTE C 03-191 : Etablissement des diagrammes fonctionnels pour systmes de commande Union Technique de l'Electricit Diagramme fonctionnel GRAFCET, extension des concepts de base Fascicule de documentation UTE C 03-190 : Etablissement des diagrammes fonctionnels pour systmes de commande, Diagramme fonctionnel GRAFCET Union Technique de l'Electricit Paris : UTE Editions, 1990
d) Libros
7 Facettes du GRAFCET - approches pratiques de la conception a l'exploitation A. BODART, V. CARRE-MENETRIER P. DE LOOR, J.B. DELUCHE, J. DUPONT, D. GENDREAU, J. HANCQ, A. KRIL, J. NIDO Toulouse : CEPADUES Editions, 2000 - 168p. LE GEMMA : Modes de marches et d'arrts, GRAFCET de coordination de tches, Conception des systmes automatiss de production srs S. MORENO, E. PEULOT Paris : Editions Casteilla, 1997 - 256 p. LE GRAFCET : Conception-Implantation dans les Automates Programmables Industriels S. MORENO, E. PEULOT Paris : Editions Casteilla, 1996 - 252 p.
44
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
GRAFCET step by step P. BARACOS FAMIC INC, 1992 Petri nets and GRAFCET: tools for modelling discrete event systems R. DAVID, H. ALLA New York : PRENTICE HALL Editions, 1992 Le GRAFCET N. BOUTEILLE, P. BRARD, G. COLOMBARI, N. COTAINA, D. RICHET Toulouse : CEPADUES Editions, 1992 - 144p. Du GRAFCET aux reseaux de petri R. DAVID, H. ALLA Paris : HERMES Editions, 2e ed. 1992 - 423 p. Le GRAFCET et le gemma sur les automates programmables E. CARBONNEAU Sept-Iles, Qubec : ECS Editions, 1991
e) Ponencias
A case tool for the synthesis of optimal control implementation of GRAFCET V. CARRE-MENETRIER, C. NDJAB HAGBEBELL, F. GELLOT ET J. ZAYTOON 1999 IEEE International Conference on Systems, Man and Cybernetics, Tokio-Japn, 1999, pp 796-801 GRAFCET-SFC (sequential function chart) and its extensions as a formal base for modeling the behavior of complex industrial systems J.P. FRACHET, M. BERTRAND SCI '99/ISAS '99 Orlando, Florida USA Une methode d'analyse par objectifs pour la conception de la commande des sap H. GUEGUEN , M.A. LEFEBVRE, N. BOUTEILLE Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 173-182, Cachan, 1999 SAGITAL : un environnement d'aide a la conception de GRAFCETS base sur des meta-modeles J.M. FAURE, F. COUFFIN, S. LAMPERIERE-COUFFIN Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 183-192, Cachan, 1999 Obtention des situations stables par calcul anticipe des transitions franchissables dans un GRAFCET P. DELANCHY Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 193-202, Cachan, 1999 Semantique fonctionnelle et stabilite du GRAFCET sous l'hypothese du synchronisme fort J.F. HERY, J.C. LALEUF Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 263-274, Cachan, 1999 Synthese d'une implantation optimale de la commande a partir du GRAFCET C. NDJAB, J. ZAYTOON Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 193-202, Cachan, 1999 Un environnement de developpement pour la conception de systemes automatises de production P. LE PARC, R. QUERREC, P. CHEVAILLIER, J. TISSEAU, L. MARCE Actes du 2ime Congrs Modlisation des Systmes Ractifs (MSR'99), pp 407-416, Cachan, 1999 Proving sequential function chart programs using automata D. L'HER, J.L. SCHARBARG, P. LE PARC, L. MARCE International Workshop on Implementing Automata WIA'98, Rouen, 1998
45
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Specification and verification of the korso production cell D. L'HER, J.L. SCHARBARG, P. LE PARC, J. VAREILLE, L. MARCE 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering. Nancy - Metz, Francia. 1998 The specification of a robot control system with GRAFCET G. FRENSEL, P. M. BRUIJN UKACC CONTROL '98, IEE International Conference on Control'98, University of Wales, Swansea, UK, 1998 Petri Net analysis of batch recipes structured with grafchart C. JOHNSSON, K.E. ARZEN FOCAPO'98, Snowbird, USA, 1998 Fault detection and isolation on hybrid systems by SFC R. FERREIRO GARCIA, X.C. PARDO MARTINEZ, J. VIDAL PAZ 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume III pp. 569-574. Nancy - Metz, Francia. 1998 GRAFCET: a north american perspective P. BARACOS 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume II pp. 41-46. Nancy - Metz, Francia. 1998 From GRAFCET to hybrid automata G. FRENSEL, P. M. BRUIJN 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume II pp. 47-52. Nancy - Metz, Francia. 1998 Grafchart and its relations to grafcet and petri nets C. JOHNSSON, K. E. ARZEN 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume II pp. 53-58. Nancy - Metz, Francia. 1998 Implementation of hierarchical sequential functional charts for programmable logic controllers P. CHIACCHIO 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume II pp. 59-64. Nancy - Metz, Francia. 1998 Validation of a SFC software specification by using hybrid automata G. HASSAPIS, I. KOTINI, Z. DOULGERI 9th symposium on INformation COntrol in Manufacturing, INCOM'98 - Advances in Industrial Engineering, volume II pp. 65-70. Nancy - Metz, Francia. 1998 Grafchart and batch-recipe structures C. JOHNSSON, K. E. ARZEN WBF'98, Baltimore, USA, 1998 Reactivite et determinisme du comportement temporel du GRAFCET J.J. LESAGE, J.M. ROUSSEL, J.M. FAURE, P. LHOSTE, J. ZAYTOON Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 99-106, Reims, Francia. 1998 On batch recipe structures using high-level grafchart C. JOHNSSON, K. E. ARZEN Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 107-114, Reims, Francia. 1998 Methode et outils pour l'analyse et la modelisation du comportement d'un systeme hybride complexe C. DELTHEIL, J.P. FRACHET, D. LEANDRI Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 115-121, Reims, Francia. 1998 Requirements for extending GRAFCET to hybrid specifications L. GUILLEMAUD, J.M. GRAVE, H. GUEGUEN Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 209-215, Reims, Francia. 1998
46
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Modelisation et verification de la cellule korso par une boite a outils GRAFCET D. L'HER, P. LE PARC, J.L. SCHARBARG, L. MARCE Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 216-223, Reims, Francia. 1998 Preuve de proprietes dynamiques de GRAFCETS a partir de leur description structurelle S. LAMPERIERE, J.M. FAURE, F. COUFFIN Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 224-231, Reims, Francia. 1998 Automates microprogrammes sensibles a des evenements mixtes generalises J. FLORINE Actes du Congrs ADPM'98 : 3me confrence internationale sur l'Automatisation Des Processus Mixtes, pp. 232-239, Reims, Francia. 1998 The hyperfinite signal : a new concept for modelling dynamic systems J.P. FRACHET Internal conference on Computing Anticipating Systems CASYS '97 HEC Lige Belgium Grafchart: a Petri Net/GRAFCET based graphical language for real-time sequential control applications K.E. ARZEN, C.JOHNSSON, SNART'97, Lund, Suiza, 1997 On the synthesis of grafcet using the supervisory control theory J. ZAYTOON, C. NDJAB, V. CARRE-MENETRIER IFAC Conference on Control and Industrial Systems, Belfort, France, pp 391-396 Implementation aspects of the plc standard iec 1131-3 M. OHMAN, S. JOHANSSON, K.E. ARZEN CACSD'97, IFAC, pp. 15-20, Belgium, 1997 AGGLAE: un outil d'aide a la validation des GRAFCETS de specification J.M. ROUSSEL, J.J. LESAGE Actes du congrs ELISA'97, Nancy, 1997 On the recent advances in GRAFCET J. ZAYTOON, V. CARRE-MENETRIER, M. NICLET, P. DE LOOR IFAC Workshop on Manufacturing systems: Modelling, Management and Control MIM'97, pp. 419-424, Viena, Austria, 1997 On the supremal controllable grafcet of a given GRAFCET J. ZAYTOON, C. NDJAB, J.M. ROUSSEL Proceedings of Congress "2nd Mathmod Vienna", pp. 371-376, Vienne, Austria, 1997
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
En un resumen, un autmata finito (AF) es una quntupla E , S , Q, , en la que: 1) E ={Ei} es el alfabeto de la entrada (conjunto finito). 2) S ={Sj} es el alfabeto de salida (conjunto finito). 3) Q ={QK} es el conjunto finito de estados (internos) del autmata. es la funcin de transicin, = Q x E Q. 4) es la funcin de lectura o salida, = Q x E S. 5) Esta definicin que se acaba de ver, la de autmata, es importante debido a que se emplea a lo largo del trabajo en sus dos acepciones (en realidad se pueden considerar ms como dos puntos de vista). Casi siempre nos estaremos refiriendo a autmatas programables, con la primera de las acepciones mostradas, puesto que sta es una tesis fundamentalmente tcnica. Sin embargo este trabajo tambin desarrolla y emplea una base cientfica, en la que utiliza el trmino autmata en su sentido matemtico, la acepcin mostrada en segundo lugar. A continuacin se van a exponer una serie de definiciones relativas a las RdP que pueden ser tiles para entender mejor esta tesis. Esas definiciones pueden obtenerse muy ampliadas en las referncias, pero aun as se incluyen en este apartado introductorio para relacionarlas con su aplicacin industrial, especialmente desde el punto de vista de su utilizacin a lo largo de este trabajo. Por lo tanto a continuacin se ir alternando una serie de definiciones formales expresadas en terminologa matemtica, con algunas definiciones ms cercanas al punto de vista industrial, a modo de explicaciones, y que harn mucho ms entendible el resto del trabajo a los lectores no expertos en RdP. Muchas de las definiciones no provienen de una terminologa estandarizada, por no existir sta todava, por lo que pueden diferir segn las referencias, pero afortunadamente eso es algo poco habitual. Un grafo, como su nombre sugiere, es la representacin grfica de los datos de una situacin particular. Los datos contienen, en algunos casos, relaciones entre ellos, no necesariamente en forma jerarquizada (por ejemplo las ciudades de un mapa conectadas por las carreteras). La estructura de datos que refleja esta relacin recibe el nombre de grafo. Se suelen usar muchos nombres al referirnos a los elementos de una estructura de datos. Algunos de ellos son elemento, tem, asociacin de tems, registro, nodo y objeto. El nombre que se utiliza depende del tipo de estructura, el contexto en que usamos esa estructura y quin la utiliza. En la mayora de los textos de estructura de datos se utiliza el termino registro al hacer referencia a archivos y nodo cuando se usan listas enlazadas, rboles y grafos. Un grafo tambin es una terna G = (V,A,j ), en donde V y A son conjuntos finitos, y j es una aplicacin que hace corresponder a cada elemento de A un par de elementos de V. Los elementos de V y de A se llaman, respectivamente, "vrtices" y "aristas" de G, y j asocia entonces a cada arista con sus dos vrtices. Esta definicin da lugar a una representacin grfica, en donde cada vrtice es un punto del plano, y cada arista es una lnea que une a sus dos vrtices. Si el dibujo puede efectuarse sin que haya superposicin de lneas, se dice que G es un grafo plano.
50
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
]n x m , en la que cij = ( pi , t j ) . Se matriz de incidencia previa a la matriz C = [C ij
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Matricialmente la representacin de una red pura se simplifica definiendo una nica matriz, C, denominada matriz de incidencia:
C = C + C C ij = (t j , p i ) (t i , p j )
Asi, en la matriz C un elemento positivo indica incidencia posterior y uno negativo incidencia previa. Un elemento nulo en C indica que la transicin y lugar correspondientes no estn conectados directamente a travs de un arco. Sea una red R = R, T , , , , t T y p P . Se definen los siguientes conjuntos: a) Conjunto de lugares de entrada de t:
t = {p P ( p, t )}> 0
c)
p={ t T (t , p )}> 0
PP
T T.
Una subred de R= R,T,, , es una red R = P, T , , tal que P P y T T . y son restricciones de y sobre PxT . Una transicin t T est sensibilizada por el marcado M cuando cada uno de sus lugares de entrada posee al menos ( p, t ) marcas. Es decir, ha de cumplirse que
p t M ( p ) ( p, t ).
Disparar una transicin sensibilizada t es la operacin que consiste en eliminar ( p, t ) marcas a cada lugar p t y aadir (t , p ) marcas a cada lugar p t . A esto se le denomina regla de evolucin del marcado. M i M j simboliza que t est sensibilizada por M i , y que al disparar t al partir de M i se alcanza M j . Es decir, al disparar t se obtiene: M j ( p ) = M i ( p ) + (t , p ) - ( p, t ) p P
Un marcado M es alcanzable a partir de un marcado inicial M sii existe una secuencia de disparos aplicable a partir de M que transforma M en M : M M . La ecuacin de estado de una red de Petri se define de la siguiente manera:
53
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Mk = M +C
U
j =1
= M o + C
donde M M K .
1) M K = M K 1 + C U K
2) M M K M K = M + C La primera ecuacin adquiere la forma de la ecuacin de estado de un sistema dinmico lineal e invariante, discretizado en el tiempo, por lo que frecuentemente es conocida como ecuacin de estado asociada a la red de Petri. La segunda ecuacin integra la evolucin desde M0 hasta Mk.
Un evento o acontecimiento, Ei , se define como: - El cambio de un estado lgico de una condicin externa. - La unin de un conjunto de eventos. Interpretacin asociada a las RdP. Por convenio asociaremos: - eventos, condiciones externas y salidas impulsionales a las transiciones, - salidas a nivel a los lugares. La activacin de una salida puede estar ligada a condiciones externas. En tal caso hablaremos de salidas condicionales. Una RdP interpretada (RdPI) se define por: - Una RdP marcada R, M ; - Una aplicacin T en E que asocia a cada transicin un evento, Ei ; - Una aplicacin de T en C que asocia a cada transicin una condicin externa, Ci ; - Una aplicacin de T en Z que asocia a las transiciones salidas impulsionales; - Una aplicacin de PxC en Y que asocia a los lugares les asocia salidas a nivel, eventualmente condicionadas. Reglas de evolucin del marcado de una RdPI: Regla 1: El disparo de una transicin ti sensibilizada slo se realiza si se verifica Ci , Ei . En tales condiciones se dice que ti es receptiva a la condicin y al evento (Ci , Ei ) . Regla 2: Cuando una transicin es disparada, todas las salidas impulsionales asociadas a ti son generadas. Regla 3: Con un marcado dado, las salidas a nivel asociadas a los lugares marcados son generadas cuando se verifican las condiciones externas que en su caso les pueden estar asociadas. Si Y j es una salida asociada a un lugar pi condicionada por Cij , se dice que la salida es sensible a Cij , si pi est marcado. Un grafo de estados (GE ) o mquina de estados (ME ) es una RdP tal que: t T t = 1 y t = 1 ,
54
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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: 1) M( pi )= R, M o cuando para todo marcado
M (p ) +
n j j j =i i j
j Q+ , Q
p j P {pi } M ( p j ) (p j , t K ) M ( pi ) ( pi , tk ).
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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 .
Un lugar p es k-limitado para M 0 cuando existe un nmero entero k tal que M ( p) k para cualquier marcado M M ( R, M 0 ). Se denomina lmite de lugar p al menor entero k que verifica la desigualdad anterior. Una RdP marcada es k-limitada para M 0 si todos sus lugares son k-limitados para M 0 : p P y M M (R, M 0 ), M ( p ) k . La propiedad de limitacin determina la finitud del nmero de estados del sistema representado por una RdP. Desde un punto de vista prctico, esta propiedad ha de verificarse, dado que los lugares se realizarn con memorias de capacidad finita. Una RdP es estructuralmente limitada cuando es limitada para cualquier marcado inicial y finito. Se dice que en una RdP existe conflicto estructural cuando un lugar posee ms de una transicin de salida. Se dice que dos transiciones, ti y t j , estn en conflicto efectivo para M 0 sii: -existe M M (R, M 0 ) que sensibiliza a ti y t j ; -al disparar ti (t j ) el marcado obtenido no sensibiliza la transicin t j (ti ). Se dice que dos lugares de una RdP estn en exclusin mutua para M 0 cuando no pueden estar marcados simultneamente en los marcados alcanzables a partir de M 0 .
57
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
El avance sincrnico de la transicin ti con respecto a la transicin t j en la red R, M 0 es el valor mximo que, considerando todas las secuencias de disparo posibles, puede tomar la diferencia entre el nmero de disparos de ti y el de t j . Un cerrojo es un subconjunto de lugares de una RdP tal que el conjunto de sus transiciones de entrada est contenido en el conjunto se sus transiciones de salida. Es decir, todo cerrojo T= {pi } P verifica pi p i , lo cual se expresa como T T .
{ } { }
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
SISTEMAS CONDICIN/EVENTO (C/E) Definicin y Reglas de Transicin De acuerdo con [1], un Sistema C/E es una cudrupla =(B,E;F,C) donde: 1) (B, E; F) es una red simple (B es el conjunto de condiciones, E el conjunto de eventos). 2) Cada caso c C es un conjunto de condiciones (c B) y C P (B) es la clase del marcado total. 3) Cada evento tiene concesin (una posibilidad de ocurrir) en algn caso: eE c C tal que (ec)(ec=) Cada caso es alcanzable por cada otro caso en un nmero finito de (directo e inverso) pasos: C es una clase equivalente de la relacin de alcanzabilidad completa R ; R= (r r.)* Kx K donde r KxK es la relacin de alcanzabilidad en un paso definida como: (K,K)rGE tal que (i) e,eG:[ee (e e) = (e e )=] (ii) K - K= G (iii) K- K = G (K, K) r est denotado por k[GK Propiedades Estructurales pureza: de acuerdo con el punto 3 de la definicin simplicidad: un Sistema C/E tiene que ser simple por definicin viveza-1: de acuerdo con el punto 3 cada evento es vivo-1 alcanzabilidad directa e inversa: Las Transiciones en un Sistema C/E pueden ocurrir, individualmente o en concurrencia, directa e inversa, y el resultado completo de la clase de alcanzabilidad del sistema es mayor que la unin de las clases de alcanzabilidad directa e inversa. La alcanzabilidad completa es un relacin de equivalencia, que en cualquier caso puede ser cambiada a representar la clase de alcanzabilidad. Por el contrario, si el sistema de redes evoluciona slo directamente, la acanzabilidad no es ms que una relacin de equivalencia y la eleccin de un caso distinguido al principio cambia la clase de alcanzabilidad. Herramientas: MOBY, POSES, HyperNet, WinPetri Referencias: [2]; [3]; [1]
SISTEMAS DE REDES ELEMENTALES (EN) Definicin (de acuerdo con [1]) Un Sistema de Redes Elementales (EN) es una cudrupla N = (B, E; F, Cin) donde (B, E; F) es una red finita denominada la red subyacente de N y Cin B el caso inicial de N. Reglas de Transicin u E es llamado un paso permitido en el caso de que c B (denotado por c [u) sii (i) u es un conjunto independiente : Ind(u)
60
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
(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].
SISTEMAS REDES 1-SAFE Los sistemas 1-safe son definidos como una subclase de los sistemas P/T. Definicin (de acuerdo con [1]) Un sistema 1-safe es un sistema P/T = (S, T; F, K, W, Mo) donde 1) sS: K(s)= 2) sS, M[Mo:M(s)1 3) fF: W(f)=1 puede denotarse simplemente por (S, T; F, Mo) donde marcados de [Mo son subconjuntos de S. Regla de Transicin La regla de transicin es dada de acuerdo a los sistemas P/T donde la que permite condiciones laterales (regla de transicin segura) es usada ms frecuentemente. Propiedad Los Sistemas Libre Contacto 1-safe y los Sistemas Libre Contacto EN coinciden. Herramientas: EASE Referencias:[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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
SISTEMAS LUGAR/TRANSICIN (P/T) Definicin De acuerdo con [1] un Sistema Lugar/Transicin es un sxtuplo = (S, T; F, K, W, Mo) donde 1) (S, T; F) es una red donde S es el conjunto de lugares y T el conjunto de transiciones 2) K:S N+ {} es una funcin capacidad que expresa el mximo nmero de marcas que cada lugar puede contener 3) W:F N+ es una funcin peso que expresa cuantas marcas fluyen a travs de ellos en cada ocurrencia de las transiciones envolventes 4) Mo: S N es una funcin de marcado inicial que satisface: sS:Mo(S) k(s) Regla de Transicin (semnticas intercaladas) Una transicin t est sensibilizada con un marcado M sii sS:W(s,t) M (s) - W (t,s) Si t ocurre produce un nuevo marcado M(s) = W(s,t) + W(t,s) sS denotado por M[tM. La Clase de Alcanzabilidad Directa, denotada por [Mo es el menor conjunto de marcados de tal que: Mo[Mo si M1[Mo y M1 [tM2 para algn tT, entonces M2[Mo Otra regla de transicin dada por [8] y [9] difiere de la dada en las permitidas por las condiciones laterales: Una transicin t T permite un marcado M sii sS: W(s,t) M(s) K(s) - W(t,s)+W(s,t) Comportamiento concurrente (semnticas de paso) La definicin acorde con [10] que corresponde a la definicin de paso simple en [11]. Esta definicin se puede extender a una bolsa de transiciones, informalmente, a un conjunto con multiplicidad (o multiconjunto) correspondientes a una nocin de paso en [3]. Herramientas: CPN/AMI CPN/AMI, MOBY, PENECA, PESIM, PNS, TORAS, GRAF, CAPSNET, FORSEE, INA, PAPETRI, PEP, WINPETRI. Referencias: [12]; [1]; [8]; [9]; [10]; [3]; [11]; [13]
REDES DE PETRI ORDINARIAS (PN) Definicin De acuerdo con [1] un Sistema P/T =(S, T; F, K, W, Mo) tal que:
62
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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]
SISTEMAS DE REDES 1-SAFE Los Sistemas 1-safe son definidos como una subclase de los Sistemas P/T. Definicin (de acuerdo con [1]) Un sistema 1-safe es un sistema P/T =(S, T; F, K, W, Mo) donde 1) sS: K(s) = 2) sS, M[Mo: M(s) 1 3) fF:W(f) = 1 puede denotarse simplemente por (S, T; F, Mo) donde los marcados de [Mo) son subconjuntos de S. Regla de Transicin La regla de transicin es dada de acuerdo con los sistemas P/T donde la que permite condiciones laterales (regla de transicin segura) es la ms frecuentemente usada. Propiedad El contacto libre del sistema 1-safe y el contacto libre del sistema EN coincide. Herramientas: EASE Referencias: [1]
SISTEMAS LIBRE ELECCIN (FC) Una Red Libre Eleccin es una Red de Petri ordinaria tal que cada arco procedente de un lugar es tambin un nico arco de salida o un nico arco de entrada. Definicin (de acuerdo con [14]) Un Sistema Ordinario de Redes de Petri =(S, T; F, Mo) es llamado un Sistema Libre eleccin sii la red subyacente es libre eleccin, i.e. t tT, t t: tt t=1=t equivalentemente : s, sS, ss : s s s = 1 =s
63
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
equivalentemente : sS, tT: (s, t) F s ={t}{s}=t La Regla de Transicin es dada de acuerdo con las Redes de Petri (ordinarias). Extensiones Las Extensiones de las Redes FC presentan restricciones estructurales ms dbiles. Herramientas: QPN Tool Referencias: [5]; [14]
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]
EXTENSIONES ESTRUCTURALES LIBRE ELECCIN - INTRODUCCIN Estructura libre Eleccin (FC): si dos transiciones comparten un lugar de entrada comn entonces no tienen otros lugares de entrada; Estructuras Extendidas Libre Eleccin (EFC): si dos transiciones tienen un lugar de entrada comn no tiene otros lugares de entrada; Estructura Comportamentales Libre Eleccin (BFC): si dos transiciones tienen un lugar de entrada comn, entonces, si una marca permite a una de ellas tambin permite a la otra; Estructura Asimtrica Eleccin (AC): si dos lugares tienen una transicin de entrada comn entonces el conjunto de transiciones de entrada de uno de ellos es un conjunto de transiciones de entrada del otro; El Comportamental Asimtrica Eleccin (BAC) es una ligera extensin de la AC; Las Redes Reducidas Asimtrica Eleccin (RAC) permiten toda estructura FC que no tenga ms de dos lugares de entrada para cada transicin y slo un tipo de Estructura no-FC;
64
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
EXTENSIONES DE REDES LIBRE ELECCIN Las siguientes definiciones conciernen slo a la estructura de red y no afectan a la semntica de la red. (Definiciones acordes con [14]) Redes Extendidas Libre Eleccin (EFC) Un Sistema de Redes de Petri ordinario =(S, T; F, Mo) es un Sistema Extendido Libre Eleccin sii t tT: tt t = t equivalentemente: s, sS: ss s = s Redes Comportamentales Libre Eleccin (BFC) Un Sistema de Redes de Petri ordinario =(S, T; F, Mo) es un Sistema Comportamental Libre Eleccin (BFC) sii t tT: tt M[MoM permite t M permite t Redes Asimtrica Eleccin (AC) Un sistema de Redes de Petri =(S, T; F, Mo) es un Sistema Asimtrica Eleccin sii s, sS: ss (s s) (s s) Redes Comportamentales Asimtrica Eleccin (BAC) Un Sistema de Redes de Petri ordinario =(S, T; F, Mo) es un Sistema Comportamental Asimtrica Eleccin sii t, t T: (t)(t) = (M[Mo: M permite t M permite t) (M[Mo: M permite t M permite t) Redes Reducidas Asimtrica Eleccin (RAC) Un Sistema Asimtrica Eleccin es denominado Reducida Asimtrica Eleccin (RAC) sii p, qS: pq = (p = 1 q 2 (q) = {p,q}) (q = 1 p 2 (p) = {p, q}) La propiedad RAC permite toda estructura libre eleccin que no tenga ms de dos lugares de salida por cada transicin y slo un tipo de estructura no-FC, concretamente la ms simple estructura AC: Cada sistema BAC puede ser simulado por un sistema AC y cada sistema AC puede ser simulado por un sistema RAC. Referencias: [5]; [14]
REDES DE PETRI DE ALTAS PRESTACIONES + ADT Las Redes de Petri de Altas Prestaciones + ADT son redes de nivel 3, que son definidas sobre una especificacin algebraica. Las Redes de Petri Algebraicas (ALG) son Redes de Petri de Altas Prestaciones, que consisten en un esquema de red y un lgebra SPEC. Las Redes OBJSA consisten en un esquema de red descomponible y una especificacin algebraica OBJ.
65
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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]
REDES DE PETRI COLOREADAS (CPN) Definicin (de acuerdo con [20]) Una Red de Petri Coloreada (CPN) es un nueve-uplo CPN = (, P, T, A, N, C, G, E, I) donde 1) es un conjunto finito de tipos llamados Lugares coloreados que son finitos y no vacios. El conjunto de conjuntos coloreados determinan los tipos, operaciones y funciones que pueden ser usados en las inscripciones de red. 2) P es un conjunto finito de lugares 3) T es un conjunto finito de transiciones 4) A es un conjunto finito de arcos tal que PT = PA = TA = 5) N:A PxTTxP es una funcin nodo 6) C:P es una funcin color 7) G es una funcin guarda. Es definida desde T en expresiones tal que: tT:[Type(G(t)) = Bool Type (Var(G(t)))]
66
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
8) E es una funcin expresin de arco. Es definida desde A en expresiones tal que aA:[Type(E(a)) = C(p(a))MS Type(Var(E(a)))] donde p(a) es el lugar de N(a) y CMS denota el conjunto de todos los conjuntos mltiples sobre C 9) I es una funcin inicializacin. Est definida desde P en expresiones tal que pP:[Type(I(p)) = C(p)MS Var(I(p)) = ] Regla de Transicin Un conjunto Y est permitido en un marcado M sii pP:[(t,b)Y E(p,t)(b M(p)] donde un conjunto Y es una distribucin no vaca: tT: Y(t)B(t)MS donde B(t) = {(c1.....cn)BT(t)G(t)v1=c1......vn=cn donde BT(t) es el tipo binding: BT(t)=Type(v1)xType(v2)x.......xType(vn) para una transicin t T con variables v1, v2, .....vn Herramientas Alpha/Sim, ANARCO, CPN/AMI, DESIGN/CPN, DESIGN/OA, EXSPECT, FORSEE, INA, LOOPN, PAPETRI, POSES, PROMPT, PNTBLSIM, TemPRO, VisualSIMNET, VOLTAIRE. References: [21]; [20]; Coloured Petri Nets at University of Aarhus
SISTEMAS REDES OBJSA Los Sistemas de Redes OBJSA son Redes de Petri de Altas Prestaciones en las cuales 1) la red puede descomponerse en Componentes Mquinas de Estados y 2) los dominios a los que pertenecen las marcas individuales son definidos como tipos de datos abstractos usados en el lenguaje OBJ 2. Definicin (de acuerdo con [22]) Un Sistema de Redes OBJSA es una pareja C=(N, A) donde N es una Red extendida SA y A es una especificacin algebraica OBJ. Hay las siguientes relaciones entre N y A: 1. cada subred elemental de N es asociada con un objeto OBJ de A, que especifica el dominio de marcado de la subred 2. cada transicin est asociada con un mdulo OBJ que introduce: variables asociadas con los arcos de entrada un predicado que especifica una condicin adicional para la transicin permitida operadores asociados con los arcos de salida que especifican los cambios de los datos del marcado 3. el marcado inicial consiste en una suma de trminos algebraicos (trmino base) que han sido definidos en 1 Regla de Transicin Una transicin est permitida cuando: (i) los lugares de entrada contienen al menos tantas marcas como las especificadas por el etiquetado de los arcos de las transiciones de entrada; y (ii) existe una relacin de esos marcados con las variables libres ocurridas en los arcos de las transiciones de entrada tal que el predicado inscrito en la transicin es satisfecho.
67
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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]
REDES BIEN FORMADAS Redes Bien Formadas (Coloreadas)(WN) son formalmente definidas como una extensin de las Redes Regulares y tienen el mismo poder de modelado como las Redes de Petri Coloreadas generales, i.e., algn CPN puede traducirse en un modelo equivalente WN con la misma estructura subyacente; slo la expresin de las funciones de color y de la composicin de las clases de colores es reescrita de un modo ms explcito (y paramtrico), en trminos de las construcciones bsicas provistas por los formalismos de WN. Definicin (de acuerdo con [26]) Una red bien formada (coloreada) WN = (P, T, C, J, W, W+, Wh, ,,MO) est hecha de 1) P: un conjunto de lugares 2) T: un conjunto de transiciones 3) C: la familia de clases bsicas de desunin C = {C1,.....Cn}, = I{1,....n} es el conjunto ordenado de ndices 4) J:PBag(I), donde Bag (I) es el multiconjunto en I, C(r) = CJ(r) denota el dominio del color del nodo r 5) W,W+,Wh,W, (p,t), W+ (p,t), Wh (p,t)[CJ(t) Bag(CJ(p))] la entrada, salida y funciones inhibidoras son expresiones de arco; 6) (t):CJ(t) {verdad, falso} es un predicado estndar asociado con la transicin t; por defecto tT:(t) = verdad 7) :T N la funcin prioritaria; por defecto tT:(t) = 0 8) M0:M0 (p)Bag(C(p)) es el marcado inicial de p Regla de Transicin Una instancia de transicin [t,c] (donde c C(t)) es posible en un marcado M sii 1) pP, W(p,t)(c) M(p) Wh(p,t) >M(p), y (t)(c), que es la expresin de la regla de disparo en las redes sin prioridades, 2) t con (t) > (t),cC(t, )pP tal que cada W(p,t) (c) > M(p) Wh (p,t)(c) M(p) or (t)(c) que significa que la transicin prioritaria mayor es posible. El disparo de los casos de transicin [t,c] trae un nuevo marcado M= M[t,c Definido por: pP, M(p) = M(p) + W+(p,t)(c) W(p,t) (c) Referencias: [27]; [28]; [26]
70
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
REDES DE PETRI TRADICIONALES DE ALTAS PRESTACIONES Los dos modelos de Redes Predicado/Transicin y Redes de Petri Coloreadas son muy similares y las principales diferencias conciernen a los mtodos de clculo e interpretacin, lugares y transiciones invariantes. Sin embargo estn definidos y presentados de dos formas distintas: Las Redes Predicado/Transicin son definidas usando la notacin y conceptos de varias clases de lgebras y Las Redes de Petri Coloreadas estn definidas usando tipos, variables y expresiones tal y como conocemos en lenguajes de programacin (funcionales). Referencias: [29]
REDES DE PETRI CONTINUAS E HBRIDAS Son redes en las que los marcados dejan de ser discretos y pueden tomar valores continuos.
71
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Redes de Petri continuas Definicin Segn [30], una red de Petri continua autnoma es una quntupla Q=<P,T,Pre,Post,M0> tal que: P={P1, P2, ..., Pn}es un conjunto finito y no vaco de lugares. T={T1, T2, ..., Tm}es un conjunto finito y no vaco de transiciones. PT=, es decir, P y T son conjuntos disjuntos. Pre:P x T R+ es la funcin de incidencia previa. Post:P x T R+ es la funcin de incidencia posterior. M0: P R+ es el marcado inicial. En una RdP continua, a partir de un marcado M, una secuencia de disparos S implica una trayectoria correspondiente a un vector de sucesivos marcados. El vector caracterstico S de una trayectoria es un vector para el cual cada componente es un nmero real correspondiente a la cantidad de disparo de la correspondiente transicin. Entonces un marcado M alcanzado desde M0 por el disparo de una secuencia S puede ser deducido usando la ecuacin fundamental (o ecuacin de estado): M=M0 + WS. La ecuacin fundamental de una red de Petri continua es idntica a la de una discreta, por lo que las propiedades de las RdP discretas deducidas a partir de dicha ecuacin son tambin vlidas para las RdP continuas. En particular los resultados de P-invariantes y T-invariantes son similares para una RdP continua y para una discreta. Redes de Petri hbridas Definicin Segn [30], una red de Petri hbrida autnoma es una sextupla Q=<P,T,Pre,Post,M0,h> tal que: P={P1, P2, ..., Pn}es un conjunto finito y no vaco de lugares. T={T1, T2, ..., Tm}es un conjunto finito y no vaco de transiciones. PT=, es decir, P y T son conjuntos disjuntos. h:PT {D,C}, llamada funcin hbrida, indica para cada nodo si es continuo o discreto. Pre:P x T R+ N es la funcin de incidencia previa. Post:P x T R+ N es la funcin de incidencia posterior. M0: P R+ es el marcado inicial. (en las definiciones de Pre, Post y M0, N corresponde al caso en que el nodo es discreto, y R+ al caso en que es continuo) Las funciones Pre y Post deben cumplir el siguiente criterio: si Pi y Tj son un lugar y una transicin tal que Pi es discreta y Ti es continua, entonces deben cumplir que Pre(Pi,Tj)=Post(Tj,Pi). En una RdP hbrida el vector caracterstico S de una secuencia S es un vector para el cual cada componente es o bien un entero correspondiente al nmero de disparo de una transicin discreta o bien un nmero real correspondiente a una cantidad de disparos de una transicin continua. Un marcado M puede ser deducido a partir de un marcado M0 debido a una secuencia S usando la ecuacin fundamental: M=M0 + WS . Por tanto de nuevo los resultados de T-invariantes y P-invariantes son equivalentes a las RdP discretas.
72
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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.
Estaciones de trabajo Estocstica, EDITOR grfico con XWindows, Temporizada, Red de SIMULACIN y clculo de simulaciones estocsticas OpenWindows, o Motif Petri coloreada con Conexin con software externo colas, probabilidades y prioridades 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
Redes de Petri y Redes Construccin del rbol de alcanzabilidad La presente versin, v. 3.00, est de Petri Coloreadas ANLISIS estructural: Viveza, Limitacin, Lugares Invariantes, Transiciones Invariantes disponible en dos tipos. Modo Real y Modo DPMI. Modo Real (slo para Redes Ordinarias) est limitado a 640 K de DOS Anlisis Reducido (slo para Redes Ordinarias) RAM. Modo DPMI puede Algoritmo de Enumeracin usarse en todo RAM disponible. POLTICA: Gratis para propsitos no comerciales Unix (requiere Redes Temporizadas EDITOR grfico La herramienta MERLOT est Compilador GNU C++) ER Jerrquicas integrada en CABERNET y en SIMULACIN: ejecutable y animacin ANLISIS: computacin del rbol T-alcanzable para comprobar propiedades como la viveza soportes de Redes TB, una de Redes ER y la seguridad para intervalos de tiempo dados (limitacin invariante, limitacin de respuesta) subclase GENERACIN DE HERRAMIENTAS: Las funcionalidades bsicas que proporciona esta Temporizadas. herramienta pueden componerse de distintas maneras usando el lenguaje base de Redes de POLTICA: disponible a travs de ftp annimos Petri para obtener nuevas herramientas. Redes Lugar/Transicin EDITOR grfico SIMULACIN automtica POLTICA: disponible a annimos herramienta travs de ftp
Redes Predicado/Transicin
EDITOR grfico desde la herramienta PetriPote Descripcin textual de redes Computacin de invariantes lineales
CPN/AMI
CPN/AMI es una versin de AMI, un conjunto de herramienta interactiva para creacin, manipulacin, simulacin, transformacin, anlisis y comprobado de grficas tipo con atributos.
Macintosh para el uso Redes AMI incluyendo de interface (MACAO) CPN y Redes P/T conetado con una estacin Sun Sparc para plataforma AMI
POLTICA: libre de cargo para EDITOR grfico (MACAO) universidades, disponible a ANIMACIN delante y detrs con condiciones de puntos rotos y extraccin de datos travs de ftp annimos Comprobador de sintaxis Compilador ANLISIS: Para Redes P/T: propiedades estructurales (limitaciones, limitaciones estructurales, conservacin, repetitividad...), propiedades grficas (cerrojos y trampas), Invariantes, Reducciones, prototipo ADA para CPN: Invariantes, Reducciones y Prototipos, la herramienta PROD para la construccin de la grfica de alcanzabilidad ha sido integrada MACAO: interface de usuario para edicin de grficas y display de servicios
74
SANDRINE: Compilador de Redes de Petri para acceder a servicios AMI-CPN RIP (Research of Invariants and Properties for P/T Nets) MIAMI: sistema experto para el anlisis y validacin de propiedades combinatorias de grficos MAPLE: anlisis interactivo y verificacin de propiedades de formalismos de Redes de Petri CPN/FARM (Flow Analysis and Reduction Method) CPN/DESIR (DEbugger and SImulatoR) CPN/TAGADA (Translation, Analysis and Generation of ADA code) DESIGN/C DESIGN/CPN es un SUN Sparc con Solaris, Redes de Petri La herramienta consiste en tres partes integradas: PN paquete de herramientas MAC Coloreadas Jerrquicas EDITOR grfico soporte de construccin, modificacin y chequeo de sintaxis de modelos de soporte de modelado, con o sin tiempo DPN interactivos y simulador automtico simulacin y verificacin Herramienta de suceso grafica soporte de construccin y anlisis de grficas de sucesos para la interpretacin de Redes de Petri Coloreadas jerrquicas (con o sin tiempo). DESIGN/O Las rutinas de MAC, MS-DOS, Unix Redes de Petri (y todo Las aplicaciones creadas con DESIGN/OA tienen tres pomponentes: A DESIGN/OA para la otro tipo de grficos DESIGN/OA Kernel: contiene rutinas y estructuras de datos manipulacin de objetos directos/indirectos) DESIGN/OA Interface: librera de funciones para la manipulacin de objetos grficos. grficos est disponible Mdulo de desarrollo: cdigo escrito en C que hace llamadas al Interface para el usuario va un interface SML. EASE EASE es un entorno para DECMicroVAX transformaciones y reducciones de redes basado en estados basados en equivalencias. Redes 1-Safe cubiertas con monomarcadas Sinvariante de las cuales la Redes SA son una subclase.
Las rutinas de DESIGN/OA para la manipulacin de objetos grficos estn disponibles para el usuario va un interface SML. POLTICA: Libre de cargo- El formulario de licencia puede ser descargado de Desing/CPN.www Los modelos construidos con DESIGN/CPN pueden ser animados con DESIGN/OA. POLTICA: Descuento del 50% para universidades.
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
EASE es un sistema basado en tres componentes: POLTICA: Libre de cargo TEBE (Tools for Exhibited Behaviour Equivalence) implementa un sistema reescrito para Redes de Petri. Toma como entrada una red y produce una red REDUCIDA de la misma clase preservando el comportamiento equivalente exhibido. TSTE (Tools for State Transformation Equivalence) implementa la construcin de sistemas de estado de espacio como lgebra de transformacin local de estado (LSTA) desde la que la representacin cannica de la clase equivalente conteniendo el sistema original es sintetizada. SDB (System Data Base) es un conjunto de funciones que chequean la estructura de la red de entrada frente a la definicin de redes superpuestas de autmata 1-safe (SA), y permite la COMPOSICIN de ellas y la DESCOMPOSICIN en componentes (elementales) partiendo de redes SA. POLTICA: licencia para un EDITOR grfico y COMPROBADOR DE TIPOS solo usuario SIMULACIN interactiva: interpretador de ejecutables IAT (Interval Timed Petri Net Analysis Tool): calcula intervalos S y T y otras propiedades estructurales y de tiempo.
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.
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
un
Redes Lugar/Transicin Editor grfico para creacin y manipulacin de redes interactivas con arcos inhibidores y SIMULACIN Interactiva/automtica prioridades ANLISIS estructural basado en la comprobacin de la sintaxis Caractersticas jerrquicas
POLTICA: en la solicitud
HYPERNE Hypernet es una Macintosh T CE aplicacin, realizada con MetaDesign, que permite el modelado y el anlisis de sistemas complejos. INA INA (Integrated Net MS-DOS, Sun-Unix Analyser) es una herramienta para el anlisis de Redes de Petri.
INCOME
INCOME se crea como un mtodo versatil y una serie de herramientas de orientacin al usuario, para modelado, simulacin e implementacin de procesos empresariales.
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 Redes Lugar/Transicin EDITOR textual (P/T) y Redes de Petri Del mismo modo simulacin coloreadas (CPN) con ANLISIS: 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 Redes EDITOR grfico Predicado/Transicin SIMULACIN DE ANIMACIN GRFICA Modelos creados con INCOME pueden ser reusados en proyectos CASO (Oracle CASE and Oracle Designer/2000) El DICCIONARIO sirve como una reposicin para toda informacin del proyecto. Est implementado como una base de datos Oracle7 y soportes distribuidos de etapas como Cliente/Servidor o Cliente/Agente/Servidor. El MODELADO DE PROCESOS es usado para la captura, documentacin y evaluacin de procesos empresariales.
Redes Condicin/Evento
POLTICA: en la solicitud
INA es un sucesor de las siguientes herramientas: Petri Net Machine (1986), PAN (1988), CPNA (1989), ATNA (1991). POLTICA: Disco DEMO para MS-DOS disponible a travs de ftp annimos POLTICA: Condiciones especiales para instituciones sin beneficios
76
LOOPN
MERLOT
LOOPN (Language for Unix Object-Oriented Petri Nets) es un lenguaje y un simulador para sistemas especificados en trminos de Redes de Petri Temporizadas Coloreadas. Incluye rasgos de objetos orientados como la ineherencia, polimorfismo, que permiten la conveniente modularizacin de especificaciones complejas. MERLOT es un conjunto Unix de herramientas que implementa el algoritmo de anlisis de la alcanzabilidad basado en el Arbol de Alcanzabilidad de Tiempo. MetaDesign es un editor Macintosh de Redes de Petri y un simulador aumentado con funciones para la solucin de situaciones ambiguas. MOBY es una heramienta MS-DOS, Unix, OS2, orientada al objeto del Macintosh (requiere anlisis de Redes de Petri Smalltalk 80) basado en Smalltalk 80.
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
MERLOT est integrado en EDITOR grfico (desde CABERNET) ANLISIS: computacin del Arbol de alcanzabilidad de tiempo para el verificado de CABERNET propiedades como viveza y seguridad, para intervalos de tiempo dados Tratamiento JERRQUICO (desde CABERNET)
METADE SIGN
con EDITOR grfico MetaDesign tiene un lenguaje de programacin, Desgin/OA SIMULACIN El anlisis est hecho con herramientas diseadas con MetaDesign, como HYPERNET CE o POLTICA: 50% de descuento para Universidades NETOBJ 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
MOBY
Redes Condicin/Evento, Lugar/Transicin y Objeto (Redes temporizadas jerrquicas de altas prestaciones con
77
NETMAN NETMAN sirve como una MS-DOS / herramienta de edicin Windows 3.1 que exporta a otros paquetes para el anlisis y la simulacin.
objetos como marcas, incl. tipos de arco). MS- Redes de Petri EDITOR grfico TransicinProvisto de exportador funcional para el uso con otras herramientas Temporizada jerrquica (determinista y exponencial)
NETOBJ
ONE
NETOBJ (NET OBJect) es una herramienta para la edicin y el anlisis de las Redes de Petri Comunicadas, realizada en la base de HYPERNET. ONE (OBJSA Nets Environment) consiste en diferentes mdulos, cada uno soportando un paso diferente en el desarrollo incremental de la especificacin de la red.
Macintosh
Redes de Comunicadas.
Petri EDITOR grfico con comprobadores de sintaxis SIMULACIN ANLISIS (durante la simulacin) de propiedades, como la viveza, seguridad, alcanzabilidad
Las siguientes herramientas soportan actualmente la exportacin a: XPN, SPNP, SimNet, POSES POLTICA: herramienta disponible a travs de ftp annimos POLTICA: en la solicitud
PAPETRI
PAPETRI (Poste pour Unix l'Analyse des rseaux de OpenLook) PETRI) es un desarrollo general e integrado para la edicin y anlisis de Redes de Petri.
(requiere Sistemas Lugar /Transicin, Redes de Petri ordinarias, Redes de Petri Coloreadas, Redes Algebraicas
PENECA PNC
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
PENACA tiene un interface para INA POLTICA: 60% de descuento para Universidades
78
PEP
de estudiantes tanto como transiciones para el desarrollo de estocsticas. procesos tecnolgicos, sistemas y dispositivos controlados, programacin en tiempo real y diseo de hardware. En PEP (Programming Solaris 2.3 o 2.4, SUN Redes P/T y Redes M Environment based on OS 4.1.3, Linux (redes de altas Petri nets) se combinan el prestaciones) lgebra de procesos y Redes de Petri para modelar, simular, analizar y verificar sistemas paralelos.
PESIM
MS-DOS Windows
MS- Redes Lugar/Transicin con arcos inhibidores, Grafos Marcados, Redes de Petri Estocsticas
PN^3Editor
The PN^3-Editor es una MS-DOS con Herramienta de Redes de Windows 3.x Petri para la Especificacin y Comunicacin de Protocolos.
MS Redes de Jerrquicas
Petri
PNS - Petri PNS es una Herramienta Net de dominio pblico para Simulation la Simulacin de Redes de Petri. PNTBLPetri Net TaBLe-based SIM SIMulator
Estacin de trabajo Redes Lugar Unix o PC con linux /Transicin Extendidas (requiere XWindows) MS-DOS
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
POLTICA: disponible sin cargo para usuarios no comerciales va ftp para Solaris, para Sun OS y para Linux
El Editor PN^3 es un sucesor del entorno de Redes de Petri composicionales. POLTICA: prototipo disponible con condiciones de respuesta especial para Universidades y Centros de Investigacin POLTICA: disponible a annimos herramienta travs de ftp
Redes de Petri EDITOR de texto Coloreadas, Redes de SIMULACIN interactiva o estadstica Petri Temporizadas con ANLISIS de alcanzabilidad: rbol de cobertura
79
POSES++
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.
PROD TOOL
Poses++ Server: SUN Solaris 2.3 o superior, DEC OSF1 V3.0 o superior, viniendo pronto: Linux, Windows NT (quizs Windows95); ms adelante: Compilador Gnu C++ (>=2.7.0), GNU make (>=3.74) Poses++ IDE: Windows3.1 o superior; ms adelante: WINSOCK.DLL (e.j. Trumpet Winsock) PROD es una herramienta Unix, MS-DOS del anlisis de la (requiere compilador y alcanzabilidad para Redes linkador C) Pr/T.
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
Modelado en lenguaje POSES++ (como C) Grfica de ANIMACIN en lnea o fuera de lnea SIMULACIN remota de alta velocidad (sistema multicliente/multiservidor) Interface de mdulos de software C La integracin en otros sistemas de software (e.j. PPS) es posible Anlisis estructural de estados de seguridad (contado de marcas, utilizacin,...)
PROMPT
El Product Net Machine es una herramienta integrada para la especificacin y anlisis de Redes Producto, que puede modelar aplicaciones complejas de mundo real. PROMPT es una herramienta para la implementacin de protocolos y otras aplicaciones desde un lenguaje de Redes de Petri de altas prestaciones hasta cdigo C.
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
Redes /Transicin
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
PROMPT ha sido diseada a partir de herramienta PROTEAN y es una componente de FORSEE POLTICA: precio negociable en la solicitud, licencia disponible para universidades
80
PSITool NET
Con PSITool NET el VAX-GPX y usuario puede construir, VAXstations (requiere analizar, ejecutar y animar X-Windows/Motif) redes denominadas NET.
Redes NET: Redes Pr/T jerrquicas modificadas con tiempo y caractersticas estocsticas
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.
Unix
RN Estocstica (SRN)
durante la ejecucin SCI Un conjunto de libreras que proporcionan funciones no-red como submodelos Facilidades para el usuario para incorporar su propio cdigo C, para redes depuradas y para analizar la eficacia del funcionamiento Una coleccin de Redes de parmetros que ejerce el sistema para permitir comparaciones cuantitativas La herramienta contiene cuatro componentes integradas: EDITOR sensible de sintaxis grfica SIMULADOR: interactivo y fuera de lnea ANALIZADOR. Anlisis de rasgos de la Mquina de Redes de Petri que se han integrado los cuales consideran redes NET como redes P/T y de otra forma ignoran las inscripciones de red COMPONENTES de ANIMACIN: permite la visualizacin del comportamiento de los procesos ejecutados EDITOR grfico ANLISIS DE ESTRUCTURAS de estado ANLISIS: Anlisis de Alcanzabilidad Invariantes S y T Algoritmo de eficiencia funcional para las Redes Libre Eleccin EDITORES grficos con comprobador de sintaxix HERRAMIENTA DE TRANSFORMACIN con la librera de transformacin provista de una transformacin paso a paso basada en la equivalencia observacional El Simulador y el Monitorizado permiten un modo manual o automtico de evolucin, una exploracin de la grfica de alcanzabilidad (construida durante la simulacin)... Verificador de propiedades temporales El compilador acepta un subconjunto de lenguaje CO-OPN y cdigo de generacin C para obtener una ejecucin ms eficaz Las Redes son descritas por un lenguaje de entrada basado en C (CSPL- C basado en lenguaje de Redes de Petri Estocsticas) Construccin de la grfica de alcanzabilidad Construccin del correspondiente eslabn Markov Temporizado Continuo/Determinado Caractersticas de transicin y estado y anlisis de caracterizacin
POLTICA: en la solicitud
Trabajo Redes Lugar/Transicin Descripcin textual de redes Anlisis de alcanzabilidad usando: Mtodo de conjunto pertinaz Tcnica de anlisis de la Alcanzabilidad de Holzmann
TORAS es un componente de FORSEE. POLTICA: todava no disponible, pero existe prototipo herramienta travs de ftp
MS-DOS
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
81
VOLTAIRE
WIN PETRI
Voltaire evoluciona desde un contrato de investigacin de cuatro aos entre Bell Canada's Quality Engineering Group y VLSI Design Laboratory en el Departamento de Ingeniera Elctrica en la Universidad McGill usado para el entorno de un modelado de sistemas y un entorno de evaluacin. MS-DOS con MSWindows (requiere compilador C++)
Redes de Petri SIMULACIN con verificacin de coherencia Coloreadas jerrquicas ANLISIS cuantitativo con arcos inhibidores y extensiones estocsticas Caractersticas objeto orientado
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) POLTICA: disponible a annimos
XPETRI
XSIMNET
Unix XWindows)
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
[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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
[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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
[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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
[och94a] P. Ochsenschlger, Verification of Cooperating Systems by simple homomorphisms using the Product Net Machine, Workshop Algorithmen und Werkzeuge fr Petri Netze, Berlin, 1994 [och94b] P. Ochsenschlger, Verfikation von SmartCard-Anwendungen mit Produktnetzen, 1994 [oem90] H. Oswald, R. Esser, R. Mattmann, An environment for specifying and executing hierarchical Petri Nets, Proc. Int. Conf. on Software Engineering, IEEE, 1990 [op95] P. Ochsenschger, R. Prinoth, Modellierung verteilter Systeme. Konzeption, Formale Spezifikation und Verifikation mit Produktnetzen, Programm fr Angewandte Informatik, Vieweg Verlag, to appear April1995 [par90] K. R. Parker: The PROMPT automatic implementation tool - Initial impressions. Proc. 3rd Int. Conf. on Formal Description Techniques, Madrid, Spain, Nov. 1990 [ps93] L. Peters, R. Schultz: The application of Petri Nets in Object-Oriented Enterprise simulation. Hawaii International Cong. on system Sciences (HICSS-26), January 1993 [pt91] P. Parent, O. Taniv: Voltaire: a discrete event simulator. 4th Int. Workshop on Petri Nets and Performance Models, Melbourne, Australia, 1991 [ram74] C. Ramchandani, Analysis of asynchronous concurrent systems by Petri Nets, Cambridge, MA: MIT, Project MAC, TR-120, Feb. 1974 [rei85a] W. Reisig, Petri Nets. An Introduction, New York: Springer Verlag, 1985 [sa88] J. Snow, R. Albright, MetaDesign - The graphic tool for modelling complex systems, Version 2.3; Meta Software Corporation, Cambridge, 1988 [sd88] R. Shapiro, R. D. Druker, Design/OA, Meta Software Corporation, Cambridge, 1988 [sif77] J. Sifakis, Use of Petri Nets for performance evaluation, in: H. Beilner and E. Gelenbe (eds.), Measuring, Modelling and Evaluating Computer Systems, North Holland, 1977 [ska92] M. Skacel, Tools for Petri Nets drawing, simulation and analysis under MS Windows, dipl. thesis, Dep. of Computer Science and Engineering, Technical University of Brno, 1992 [skb93] X. Shen, R. K. Keller, G. von Bochmann, Macrotec at a glance, a new approach and toolset for business modelling and simulation, October 1993, Handout at demonstration session at the 1993 GAS conference, Toronto, Canada [sm86] W. H. Sanders, J. F. Meyer, METASAN: A Performance Evaluation Tool based on Stochastic Activity Networks, Proc. ACM/IEEE-CS Fall Joint Computer Conference, Nov. 1986 [so93] W. H. Sanders, W. D. Obal II, Dependability Evaluation using UltraSAN, Software Demonstration in Proc. of the 23rd International Symposium on Fault-Tolerant Computing, Toulouse, France, IEEE Press, June 1993 [ssw94] S. Schf, M. Sonnenschein, R. Wieting, Sequentielle und verteilte Simulation von THORNetzen, in: J. Desel, A. Oberweis, W. Reisig (ed.s), Workshop "Algorithmen und Werkzeuge fr Petri Netze, Berlin, October 1994 [ssw95] S. Schf, M. Sonnenschein, R. Wieting, High-level Modeling with THOR Nets, Proceedings of the 14th International Congress on Cybernetics, Namur, Belgium, August 21-25, 1995 (to appear) [sta88] P. H. Starke, Remarks on Timed Petri Nets, Proc. 9th European Workshop on Application and Theory of Petri Nets, 1988 [sta90] P. H. Starke, Analyse von Petri-Netz-Modellen. B. J. Teubner Verlag, Stuttgart, 1990 [sta91] P. H. Starke, PAN/CPNA: Petri-Netz-Analyse-Werkzeuge, Effizientes Engineering komplexer Automatisierungssysteme, TU Braunschweig, 1991 [sur90] Z. Suraj, GRAPH: A graphical system for Petri Net design and simulation, Petri Net Newsletter no. 35, 1990 [ucs91] Unico Computer Systems: PROMPT System User Manual, Unico Computer Systems and Telecom Australia, Sept. 1991 [var93] K. Varpaaniemi, Efficent Detection of Deadlocks of Petri Nets, Helsinki University of Technology, Digital Systems Laboratory Report A26, Espoo, October 1993 [var94] K. Varpaaniemi, On Computing Symmetries and Stubborn Sets, Helsinki University of Technology, Digital Systems Laboratory Report B12, Espoo, April 1994 [var95] S. Varallo, Laboratorio su alcune teorie dei processi, Tesi di Laurea, DSI, Univ. degli Studi di Milano, 1995 [vr92] K. Varpaaniemi, M. Rauhamaa, The Stubborn Set Method in Practice, Lecture Notes in Computer Science vol. 616, Springer Verlag, 1992. 87
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
Diferentes aplicaciones de Petri http://www.google.com/search?q=cache:worldserver.oleane.com/adv/elstech/petrin et.htm+petri+nets&hl=es INTRODUCTION TO PETRI NETS http://www.comp.lancs.ac.uk/computing/users/angie/petri.htm Introduccin a Redes de Petri http://www.autom.dist.unige.it/autom_ita/software/petri_net.html http://citeseer.nj.nec.com/did/107580 ELECTRONIC SYSTEM DESIGN AUTOMATION USING HIGH LEVEL PETRI NETS (CORRECT) http://www.laas.fr/~robert/logic.d/austra.html Petri nets and Artificial Intelligence http://www-dse.doc.ic.ac.uk/~nd/surprise_97/journal/vol4/wll1/petriex.htm http://www.ee.umanitoba.ca/tech.archive/pns-ex.html PETRI NETS EXAMPLE http://www.astem.or.jp/~tanabe/work/icpn97.html TIMED PETRI NETS AND TEMPORAL LINEAR LOGIC http://wwwis.win.tue.nl/~wsinwa/jcsc/node5.html HIGH-LEVEL PETRI NETS http://viking.gmu.edu/http/syst511/vg511/AppC.html AN INTRODUCTION TO PETRI NETS http://home.datacomm.ch/wkeller/petri/dokSem/sld001.htm PETRI NETS FOR REVERSE ENGINEERING http://www.ele.puc-rio.br/~menasche/petri/petridef.html A SHORT INTRODUCTION TO PETRI NETS http://www.informatik.uni-stuttgart.de/ifi/ti/fap98/fap98.html WORKSHOP ON FORMAL LANGUAGES, AUTOMATA AND PETRI-NETS http://www.inria.fr/RRRT/RR-1520.html PARALLEL SIMULATION OF STOCHASTIC PETRI NETS USING RECURSIVE EQUATIONS http://markun.cs.shinshu-u.ac.jp/kiso/projects/petrinet/pds/design/move-e.html DESIGNING PETRI http://dcr.rpi.edu/Research/VOPN.web/VOPN.rtf.20no98.html EVOLUTION OF VIRTUAL OBJECTS IN PETRI NET MODELED COLLABORATIVE BEHAVIOR http://www.univ-tlse1.fr/ceriss/COOpubli.html THE CLIENT-SERVER PROTOCOL FOR COMMUNICATION OF PETRI NETS http://yoneda-www.cs.titech.ac.jp/Papers/timed-e.htm VERIFICATION OF TIMED SYSTEM BASED ON TIME PETRI NETS http://etourtelot.free.fr/download/petri/ PETRI NET SIMULATION http://www.research-projects.unizh.ch/oek/unit35100/area479/p1754.htm PENREE - PETRI NETS FOR REVERSE ENGINEERING PENREE - Petri Nets for Reverse Engineering http://dalton.abo.fi/~atorn/Petri/P31.html
90
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 1: Elementos de la Automatizacin Avanzada.
OBJECT PETRI NETS http://www.dcs.ed.ac.uk/home/lfcsreps/91/ECS-LFCS-91-172/ Verifying Temporal Properties of Systems with Applications to Petri Nets http://www.aut.utt.ro/~mappy/petri/nets/mod-intro.html MODULAR PETRI NETS INTRODUCTION http://www.fee.vutbr.cz/~vojnar/Articles/springer97/springer97.abstract.html.cs.is o-8859-10 PNTALK - A COMPUTERIZED TOOL FOR OBJECT ORIENTED PETRI NETS MODELLING http://www.e-technik.uni-kl.de/litz/ENGLISH/members/frey/Abstracts/SIM982.htm Simulation of Hybrid Systems based on Interpreted Petri Nets.Proceedings of the IEE International Conference on Simulation http://karna.cs.umd.edu:3264/papers/SG92:debit/SG92:debit.html PLACE/TRANSITION NETS WITH DEBIT ARCS http://www.pdv.cs.tu-berlin.de/~azi/texte/osaka_info.html PERFORMANCE AND DEPENDABILITY EVALUATION OF MANUFACTURING SYSTEMS USING PETRI NETS http://sirio.dit.upm.es/~str/silva.html TRANSPARENCIAS SOBRE SISTEMAS DISCRETOS Y REDES DE PETRI BASADAS EN EL LIBRO DE MANUEL SILVA http://lucas.cdf.udc.es/main/planes/indus/3/aut-elec/auto-ind.htm Special Issue on Flexible Workflow Technology Driving the Networked Economy. http://wwwis.win.tue.nl/~wsinwa/csse_special_issue.html Special Issue on Flexible Workflow Technology Driving the Networked http://wwwis.win.tue.nl/~wsinwa/jcsc/node1.html THE APPLICATION OF PETRI NETS WORKFLOW. THEORETICAL FOUNDATIONS OF COMPUTER SCIENCE http://www.informatik.unihamburg.de/TGI/publikationen/publikationen_home_eng.html http://www4.cs.uni-dortmund.de/QPN/ QUEUEING PETRI NETS (QPNS) http://polaris.dit.upm.es/~str/silva.html Transparencias sobre sistemas discretos y redes de Petri basadas en el libro de Manuel Silva Las Redes de Petri en la Automtica y en la Informtica. Transparencias de redes de Petri http://claymore.engineer.gvsu.edu/eod/mathmod/petri/petri.html MATHEMATICAL MODELLING. Introduccin general a las redes de Petri. http://www1.gratisweb.com/ivanherrera/ MODELOS DE REDES Y REDES DE PETRI http://gehtnix.fernuni-hagen.de:8000/se2-eng/ke5/node11.html Explicacin terica sobre las redes de Petri, se establece una introduccin sobre los lugares, transiciones (elementos de que se compone las redes de Petri), clasificando los objetivos y lugares de diseo:
93
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
prefabricados de construccin, las de componentes para automocin, etc. Tomando el caso de las bodegas de crianza, las grandes bodegas que se construyeron necesitaron grandes inversiones para conseguir los recintos subterrneos con las condiciones fsicas ideales. Posteriormente con la aparicin de los sistemas automticos necesitaron adaptar dichas instalaciones a sistemas de almacenaje automticos, para poder competir con las nuevas instalaciones que s que lo incorporaban. E igualmente ha ido ocurriendo con las mejoras que han ido apareciendo como sistemas de monitorizacin y de supervisin, herramientas de gestin global, etc. En este contexto de evolucin y desarrollo de las automatizaciones, muchas veces condicionado por la herencia anterior, se debe tener especial cuidado en realizar la adaptacin de una manera coherente y previsora, intentando buscar no solamente la consecucin del objetivo sino tambin una realizacin clara, estructurada, y sistemtica, que condicione lo menos posible la adaptacin de las futuras innovaciones que haya que aplicar. Pero por desgracia este tipo de previsin se da con poca frecuencia, especialmente en la pequea y mediana industria, en la que suele primar la resolucin rpida del problema antes que una solucin de futuro. Por otro lado, hemos visto en el tema anterior que las RdP constituyen una herramienta, terica y prctica, de inestimable ayuda para el modelado de sistemas y el desarrollo de automatizaciones en estas plantas, especialmente en sistemas secuenciales y concurrentes. Hay que decir que es ms habitual la utilizacin de GRAFCET que RdP en las automatizaciones industriales, principalmente debido a que las RdP son ms desconocidas, aunque ms potentes. Sin embargo, puesto que los GRAFCET se pueden interpretar como un subconjunto de las RdP (todo esquema en GRAFCET puede ser traducido a una RdP, y de una manera muy sencilla) a partir de ahora y durante el resto de esta tesis nos referiremos a ambas herramientas de la automatizacin nombrando de forma genrica RdP. En muchas ocasiones, una vez que se ha diseado la RdP que controla el proceso, se traduce al lenguaje del autmata (generalmente en forma de diagrama de contactos), y se pierde ya el concepto global del funcionamiento que nos proporcionaba esa red. En otras ocasiones ni siquiera se disea la RdP que modela el sistema, sino que se programa ste directamente en lenguaje de contactos, de una manera poco sistemtica y clara, o incluso en ocasiones se genera el programa secuencial del autmata traduciendo literalmente los contactos fsicos existentes a base de rels (lgica cableada) antes de introducir los autmatas programables. Precisamente para aprovechar las ventajas de las RdP, su potencia y su simplicidad, se realiza junto a la simulacin del proceso productivo, la simulacin de la Red de Petri que define su funcionamiento, ya sea la que se ha empleado para el desarrollo del programa del autmata o una que modeliza tal desarrollo. Con esto, tenemos en la monitorizacin toda la informacin del estado del sistema, ya que con la visualizacin de la planta tan slo tenemos informacin de las entradas y salidas, lo cual no es suficiente en los sistemas secuenciales. Adems as podemos emplear todas las posibilidades de anlisis, optimizacin y deteccin de errores, ampliamente estudiadas en las RdP, para mejorar el proceso, y de una manera clara, estructurada, y sistemtica, para facilitar posteriores modificaciones o ampliaciones.
95
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Esta simulacin de redes de Petri supervisoras del sistema automatizado ha sido aplicada en industrias colaboradoras con esta lnea de investigacin, con resultados muy satisfactorios, de dos formas principalmente: mediante programas informticos (con metodologa orientada a objetos) capaces de comunicar con los autmatas programables para compartir su informacin, y tambin aprovechando los sistemas grficos de supervisin (SCADA) que se emplean en muchas plantas industriales.
Figura 1: Ejemplo de sincronizacin con desactivacin mediante RdP La mayora de las automatizaciones estn controladas con autmatas programables a nivel de planta, muchas veces conectados en red entre s y con otros sistemas, a travs de buses de campo, y en ocasiones estos buses conectados a otras redes de mayor mbito. Estos autmatas programables guardan en sus memorias el programa de funcionamiento con el cual controlan sus salidas en funcin de las entradas y de los estados internos. Estos programas de los autmatas estn realizados en el lenguaje propio de su marca y modelo, y habitualmente pueden ser realizados tanto en listado de instrucciones como en contactos (que bsicamente es una forma semigrfica de
96
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 3: Red de Petri de un mando bimanual de seguridad Vemos que es ms simple el programa en contactos, pero en la RdP vemos en todo momento dnde tenemos el sistema y sus posibilidades de evolucin. De todas formas puede considerarse este ejemplo como una excepcin, ya que no es frecuente encontrar este tipo de sistemas secuenciales que sean ms sencillos modelados en contactos, y lo ms normal es que el programa del autmata consista en unas series de biestables a modo de secuenciadores, conectados entre s mediante funciones algo ms complejas. A todo lo comentado anteriormente hay que aadir que ciertos modelos y marcas de autmatas programables permiten la programacin en GRAFCET, as como la visualizacin en el propio GRAFCET de control de la evolucin del proceso. Esto confiere a tales modelos una gran ventaja sobre los que no lo permiten, si bien aun es ms ventajoso el empleo de RdP de supervisin y simulacin del proceso por tres principales razones: no se necesita que los autmatas sean de ningn tipo especial, se pueden representar RdP correspondientes a ms de un autmata simultneamente (o a todo el proceso global de la planta), y adems, como ya hemos comentado, la potencia como herramienta de las RdP es muy superior a la del GRAFCET.
98
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 4: Monitorizacin con SCADA de zona de planta industrial Los modernos paquetes de software SCADA incluyen herramientas para realizar tales funciones de una manera muy eficiente y no muy complicada [12], y adems cuentan con otras posibilidades incorporadas tales como gestin de recetas, control remoto va mdem, gestin de alarmas, grficos de tendencias, histricos de datos, anlisis y tratamiento de informacin, etc. Sus interconexiones con la planta a travs del computador se muestran en la figura 5. Adems veremos ms adelante que es posible incluir otra conexin directa adicional entre el computador que controla el SCADA y la planta para, programando el SCADA convenientemente, realizar un control redundante paralelo al del autmata, que sea capaz de detectar errores de funcionamiento, e incluso realizar un control de emergencia si ocurre esto.
Histrico de Datos
PC SCADA
PLC
PLANTA
MODEM
Tratamiento de Alarmas
Figura 5: Diagrama de automatizacin supervisada con SCADA En la figura 6 se muestra un ejemplo de planta monitorizada mediante SCADA. Con l las posibilidades de control y gestin de la planta mejoran de manera muy considerable [4], y adems permiten realizar la implementacin de la Red de Petri de supervisin mediante sus propias aplicaciones grficas y de comunicaciones, para visualizar, a la vez que la planta, la evolucin del proceso y de sus estados internos.
99
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 6: Planta industrial de montaje en estaciones de trabajo supervisada con SCADA As la representacin de la evolucin de la RdP es muy sencilla puesto que tan slo hay que correlacionar los lugares y las transiciones con las posiciones de memoria correspondientes del autmata, para as visualizar el estado interno del sistema, que en ocasiones no puede ser visualizado con la representacin de la planta. Adems, como veremos en el apartado 2.4.7, tenemos la posibilidad de disear sin coste adicional un sistema redundante supervisor para alguna zona especialmente importante o peligrosa. Para ello tan slo tenemos que programar la RdP que hemos implementado en el SCADA para que evolucione segn los eventos, en vez de tan slo monitorizar la evolucin del autmata. As podemos comparar ambas evoluciones, la del autmata y la del computador sobre el que se ejecuta el SCADA, para detectar posibles conflictos o errores en el funcionamiento. Todo esto se puede hacer igualmente sin la necesidad de un paquete informtico SCADA, simplemente construyendo la aplicacin informtica a medida. Con ello evitamos el tener que comprar una licencia del SCADA comercial, y adems tenemos la ventaja de poder realizar la aplicacin ms a medida de nuestras necesidades. Las desventajas son que hay que realizar la aplicacin informtica, incluyendo el sistema de comunicacin con los autmatas programables, lo cual lleva mucho tiempo, y adems no podemos beneficiarnos de las aplicaciones que ya lleva implementado el SCADA (drivers y controladores para PLCs y buses de campo comerciales, gestin de recursos de la CPU, etc.).
Figura 7: Supervisin de zona de planta industrial mediante programa a medida. Con las actuales tcnicas de programacin, especialmente con metodologa orientada a objetos, se consiguen buenas aplicaciones de RdP de supervisin en plantas que no disponen de un sistema SCADA incorporado, y sin excesivo esfuerzo. En concreto se
100
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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.
Figura 9: Red de Petri para recurso comn En las figuras 10 y 11 tenemos otro ejemplo de planta industrial, en este caso de produccin de diversos tipos de ladrillos (este ejemplo real ser ampliamente analizado en captulos posteriores). Existen dos cruces de vas con puentes gra, as como cuatro robots empleados todos ellos en dos tipos de procesos distintos y dos transbordadores que funcionan como sistemas de concurrencia a otros eventos. Todos estos elementos constituyen recursos compartidos. Con ello tenemos un caso claro de la complejidad del anlisis global de ciertos sistemas. Pero adems, en este caso, cuando se hizo el anlisis de los datos recogidos en planta para la deteccin de errores mediante redes neuronales, se comprob que las variables con ms influencia en los errores eran estados internos
101
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
(ms influencia que las entradas y salidas) con lo cual no era suficiente recolectar los valores de planta.
Figura 11: Automatizacin de planta con mltiples recursos compartidos En algunas de las aplicaciones realizadas tambin ha dado muy buen resultado emplear estas redes no slo para supervisin sino tambin para el control de los eventos discretos del proceso (como se explica en la seccin 4 de este captulo), al igual que se suele realizar con los paquetes SCADA comerciales, si bien resulta recomendable tener la posibilidad de seleccionar el control desde la propia RdP o desde alguna pantalla especfica de control.
102
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
rdenes (consigna)
Eventos
Respuesta
Estado Interno
103
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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
Figura13: Cinta transportadora para modelar y automatizar. Existen dos sensores colocados en los extremo de la cinta, uno al principio de la misma (INICIO) y otro al final (FIN). La cinta tiene una capacidad mxima para tres piezas, y siempre que sea posible debe avanzar hasta que haya un ladrillo en el extremo final, de tal forma que pueda ser cogido por la automatizacin siguiente (por ejemplo un robot). Automatizacin del proceso Para llevar a cabo la automatizacin del funcionamiento de la cinta debemos tener claro qu entradas y qu salidas va a utilizar la automatizacin. stas se detallan en la siguiente figura:
Figura14: Entradas y salidas en la automatizacin del ejemplo Por lo tanto nuestra automatizacin no dispondr de consigna (siempre va a funcionar igual), y las entradas van a ser slo las seales de los sensores. Fijarse que como debemos saber el nmero de piezas, y dicha informacin no se recibe como entrada del sistema, entonces tendremos que generar y almacenar dicha informacin en el estado interno de la automatizacin. Con todo ello una solucin puede ser la que se muestra a continuacin en la Figura 15.
105
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 15: Automatizacin de la cinta transportadora. Modelado del sistema Una vez realizada la automatizacin de la cinta transportadora, el siguiente paso consiste en realizar la simulacin del sistema (en este caso slo nos interesan los sensores). Esas salidas del sistema se activarn en funcin de las rdenes procedentes de la automatizacin pero tambin en funcin de los eventos externos. Tngase en cuenta que el sistema cinta interacta con el exterior (un proceso de fabricacin mucho mayor), de manera que sobre la cinta se producen eventos procedentes de otras mquinas, robots, etc. Los eventos, las entradas y salidas de la simulacin son:
Figura16: Entradas y salidas en el modelo del ejemplo La simulacin de la cinta se ha realizado mediante la siguiente RdP:
106
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 17: Modelo del sistema del ejemplo El sistema parte de un estado inicial en el que sobre la cinta no existe ningn ladrillo. Cuando mediante el evento externo "Ladrillo Nuevo", se coloca un ladrillo en la cinta se simula el comportamiento del sensor "Inicio". Para ello se activa el sensor, y mediante un temporizador se simula el tiempo que permanece el sensor activado por el paso del ladrillo mientras la cinta se encuentra en marcha. De forma similar, cuando sobre la cinta se encuentra algn ladrillo, se temporiza el tiempo que tardara el ladrillo en recorrer la cinta hasta la activacin del sensor "Fin". Cuando el ladrillo llega al final de la cinta est en disposicin de ser retirado, cosa que ocurrir mediante el evento externo "Quitar Ladrillo". Se debe observar en este modelo de la cinta que independientemente del nmero de ladrillos que se encuentren sobre la cinta, o del tiempo que hayan estado avanzando los ladrillos sin llegar al final, siempre tardan el mismo tiempo en recorrer la cinta desde que se da la orden de avanzar hasta que llega el primero. Puede verse por tanto que este modelo no es exacto, pero si es suficiente para el proceso que estamos automatizando, a partir de ahora trabajaremos tan slo con este modelo. Evidentemente si se necesitase el modelo exacto habra que tener en cuenta el tiempo que cada ladrillo lleva avanzando para determinar con exactitud la distancia a la que se encuentran del final, y cundo lo alcanzan.
Funcionamiento simultneo de simulacin y automatizacin El siguiente paso de diseo consiste en realizar la fusin de la automatizacin y simulacin de la planta en el autmata, con el fin de detectar anomalas en el funcionamiento y depurar el mismo. Esta fusin puede realizarse en la fase de las propias herramientas de modelado (Grafcet RdP) para llevarlas a un programa de simulacin de dicha herramienta, o puede realizarse una vez traducidas esas herramientas al lenguaje del dispositivo. En este caso se ha realizado de ambas formas: se ha dibujado la RdP conjunta, comunicada mediante eventos (Figura 18). Son pocos los simuladores que permiten la utilizacin de eventos de entrada y salida
107
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
para coordinar subredes, pero con un poco de experiencia es muy sencillo sustituirlos por elementos estructurales (lugares, arcos y transiciones). directamente sobre el PLC, ms concretamente un autmata CQM1 de OMRON, si bien sera anlogo en cualquier otro tipo.
Figura 18: Simulacin y automatizacin comunicadas mediante eventos Para la realizacin sobre el PLC, primeramente se ha realizado la comprobacin de la automatizacin de la planta, mediante la traduccin de la RdP de automatizacin a lenguaje de autmata y realizando la comprobacin con el programa introducido en el propio PLC. Una vez depurada la automatizacin se ha realizado lo mismo con el modelo del sistema. Posteriormente se han unido ambos, que en realidad se puede considerar como una modelizacin del sistema automatizado. Sus entradas y salidas son por tanto:
108
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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 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 Salidas: Avanzar: IR 100.00 Variables: Huecos1: DM 0100 Ladrillos1: DM 0101 Huecos2: DM 0102 Ladrillos2: DM 0103 Bits de propsito general: Activo primer ciclo de scan: SR 253.15 Bit de siempre a ON: SR 253.13 Bit de "mayor que": SR 255.05
Bits auxiliares de deteccin de flancos: Aux1: IR 025.00 Aux2: IR 025.01 Temporizadores: Timer1: TIM 000 Timer2: TIM 001
Figura 20: Mapeado de entradas y salidas del ejemplo. y el listado en mnemnico de la aplicacin es el que se muestra a continuacin:
00000 00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 LD OR MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV MOV LD OR OR DIFU LD CMP LD 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 000.02 021.00 022.00 025.00 253.13 DM0100 #0000 255.05 SCAN RESET #0001 #0000 #0000 #0001 #0000 #0000 #0001 #0000 #0000 #0000 #0003 #0000 #0003
LUG1 LUG2 LUG3 LUG4 LUG5 LUG6 LUG7 LUG8 LUG9 LADRILLOS HUECOS LADRILLOS2 HUECOS2
109
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 00041 00042 00043 00044 00045 00046 00047 00048 00049 00050 00051 00052 00053 00054 00055 00056 00057 00058 00059 00060 00061 00062 00063 00064 00065 00066 00067 00068
AND INC DEC LD CMP LD AND INC DEC DEC LD OUT LD LD OR AND LD INC DEC LD OR DIFD LD AND INC INC DEC LD CMP LD AND AND INC DEC INC DEC LD AND INC DEC LD TIM LD AND INC DEC LD CMP
025.00 DM0101 DM0100 253.13 DM0101 #0000 255.05 016.00 017 DM0101 016 017.00 100.00 017.00 000.03 024.00 018 017 000.03 024.00 025.01 025.01 018.00 016 DM0100 018 253.13 DM0102 #0000 255.05 019.00 000.00 020 019 DM0103 DM0102 020.00 100.00 021 020 021.00 000 #0050 021.00 TIM000 019 021 253.13 DM0103 #0000
AUX1 LADRILLOS HUECOS ON LADRILLOS #0000 MAYOR LUG1.00 LUG2 LADRILLOS LUG1 LUG2.00 AVANZAR LUG2.00 FIN LUG9.00 LUG3 LUG2 FIN LUG9.00 AUX2 AUX2 LUG3.00 LUG1 HUECOS LUG3 ON HUECOS2 #0000 MAYOR LUG4.00 LADRILLO_NUEVO LUG5 LUG4 LADRILLOS2 HUECOS2 LUG5.00 AVANZAR LUG6 LUG5 LUG6.00 TIMER1 #0050 LUG6.00 TIMER1 LUG4 LUG6 ON LADRILLOS2 #0000
110
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
00069 00070 00071 00072 00073 00074 00075 00076 00077 00078 00079 00080 00081 00082 00083 00084 00085
LD AND INC DEC DEC LD TIM LD AND INC DEC LD AND INC DEC INC END
255.05 022.00 023 022 DM0103 023.00 001 #0070 023.00 TIM001 024 023 024.00 000.01 022 024 DM0102
MAYOR LUG7.00 LUG8 LUG7 LADRILLOS2 LUG8.00 TIMER2 #0070 LUG8.00 TIMER2 LUG9 LUG8 LUG9.00 QUITAR_LADRILLO LUG7 LUG9 HUECOS2
Ms adelante, como parte de esta misma tesis, se analizar la forma de traducir automticamente desde la RdP hasta el lenguaje del autmata programable o el de algn simulador (en este caso Matlab). Monitorizacin Puesto que ste es un ejemplo sencillo para indicar la forma de implementacin de la automatizacin total, tambin se ha realizado la monitorizacin de la planta mediante el paquete SCADA FIX 32, conectado al autmata CQM1 de OMRON. Para ello se han empleado los siguientes elementos: - Driver OMR de comunicacin con autmatas de OMRON. - Creacin de variables o bloques en la base de datos. - Diseo de una pantalla de monitorizacin. El primer elemento utilizado es el driver de comunicacin para autmatas de OMRON. Este driver permite la creacin de los "Pool Records" necesarios para poder acceder a las zonas de memoria del autmata y poder realizar la monitorizacin de la cinta en funcin de los valores de los bits y canales que se han utilizado en el programa del autmata. La configuracin del driver OMR se muestra en la siguiente figura:
111
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
Figura 22: Configuracin del driver de OMRON. Fue necesaria la creacin de los siguientes "Pool Records", que luego fueron asociados con bloques de la base de datos: - IR 0: asociado al primer canal de entradas, para conocer el estado de las entradas, "Ladrillo nuevo", "Quitar ladrillo", "Inicio" y "Fin". - IR 100: asociado al primer canal de salidas, para conocer el estado de la salida "Avanzar". - IR 016 IR 024: asociados a los lugares de la Red de Petri. - DM 100 DM 103: asociados a los DM's que almacenan el nmero de huecos y de ladrillos para la automatizacin y para la simulacin de la cinta. El siguiente paso es la creacin de los bloques o variables de la base de datos. Se han empleado los siguientes bloques, asociados a los "Pool Records" creados anteriormente:
Tag Name MHUECOS MHUECOS2 MLADRILLOS MLADRILLOS2 MAVANZAR MLADRILLO_NUEVO MQUITAR_LADRILLO MINICIO MFIN MLUG1 MLUG2 MLUG3 MLUG4 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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
DI DI DI DI DI
Figura 23: Bloques empleados en la aplicacin SCADA. El ltimo paso es la creacin de la pantalla de monitorizacin. Esta consiste en la monitorizacin de la evolucin de la RdP que representa el estado interno del sistema. El aspecto de esta pantalla de monitorizacin, en un determinado instante es el siguiente:
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
modelado de sistemas por medio de RdP hereda algunas propiedades y caractersticas del comportamiento del sistema (red interpretada) que pueden ser deducidas desde las caractersticas de la red autnoma, independientemente del significado fsico de la red empleada. Sin embargo, los resultados de RdP autnomas sobre RdP interpretadas o temporizadas no pueden generalizarse, puesto que algunas otras propiedades dependen de la interpretacin de la red. Esto es debido al hecho de que dentro del conjunto de marcados alcanzables en la red autnoma, algunos valores pueden estar fuera del conjunto de los vlidos en la red no autnoma. Aqu, aunque debera desarrollarse un anlisis de las propiedades de la red interpretada, tambin es muy interesante incluir aplicaciones de la simulacin para ser capaces de analizar el comportamiento del sistema. De este modo el poder de clculo de los sistemas informticos puede ser usado para deducir el comportamiento en maniobras complicadas o en partes donde un anlisis formal y metodolgico es extremadamente complicado. Esta simulacin tambin ayuda a desarrollar comportamientos avanzados del sistema, tales como controles redundantes, supervisin, control adaptativo, etc. En esta seccin se analiza la implementacin de la automatizacin, supervisin y simulacin de sistemas automticos por medio de RdP en automatizaciones industriales, en las cuales se emplean en equipo los PLCs de control con los PCs de supervisin, para conseguir mejorar las prestaciones.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
lo modela y lo describe [11]. Ello permite identificar errores en el funcionamiento, desarrollar el arranque del sistema, visualizar el proceso global, etc. Cuando el sistema de monitorizacin, adems de leer los valores de las entradas, salidas y estados internos del sistema, puede modificarlos en tiempo real [6], entonces se trata de un sistema de supervisin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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.
Figura 27: Simulacin de proceso industrial con SCADA Tambin se puede recurrir a otras aplicaciones de simulacin, desarrolladas a medida o comerciales. Entre estas ltimas destacan las aplicaciones de simulacin para realidad virtual [26], cada vez ms potentes y avanzadas. Aplicaciones de simulacin se han desarrollado en el marco de este trabajo en varios lenguajes de programacin (incluyendo realidad virtual), como se ver posteriormente. Otra forma de simulacin consiste en implementar en el propio PLC un programa de simulacin de la planta que funcione conjuntamente a la automatizacin, pero sin estar conectada la planta. Puede parecer un inconveniente de este mtodo el que la simulacin no sea grfica, sino en el entorno del PLC, pero podemos hacerla grfica simplemente empleando la monitorizacin sobre el programa de simulacin, igual que si fuese sobre la planta real. Adems, como ya hemos visto anteriormente, otra gran ventaja que presenta este mtodo es que las RdP que empleemos para desarrollar esta simulacin se pueden juntar a las de la automatizacin para conseguir un modelo conjunto del sistema plantaautomatizacin, que podemos correr sobre cualquier programa de simulacin de redes
116
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
de Petri. Este mtodo es adems muy interesante para comprobar el correcto funcionamiento del programa del PLC e incluso de la monitorizacin y la simulacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
SDM 100
DM 100
SIMULATION
PROGR 0
IR 00000
SUPERVISION
PROGR 3
IR 00003
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
S_DM100 Analog Register SIM 1 S_DM101 Analog Register SIM 2 S_CONDIC Boolean S_IR00000 Digital Input SIM 5:0 S_CONDIC2 Digital Output SIM 11:0 S_IR00001 Digital Register SIM 5:1 S_IR00002 Digital Register SIM 5:2 S_IR10000 Digital Register SIM 4:0 PROGR0 Program 0 IF S_DM100 < 0,50 GOTO 4 1 IF S_IR10000 > 0,50 GOTO 4 2 CLOSE S_IR10000 3 ADDOUT -1,00 TO S_DM100 PROGR1 Program 0 IF S_IR10000 < 0,50 GOTO 3 1 ADDOUT 1,00 TO S_DM101 2 OPEN SIR10000 PROGR2 Program 0 IF S_DM101 < 0,50 GOTO 3 1 ADDOUT 1,00 TO S_DM100 2 ADDOUT -1,00 TO S_DM101 PROGR3 Program 0 IF S_DM100 < 0,50 GOTO 3 1 ADDOUT 1,00 TO S_DM101
118
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
2 ADDOUT
-1,00 TO S_DM100
Figura 29: Programa para supervisar y simular las RdP anteriores mediante aplicacin SCADA
y(k) Reloj
A/D
y(t)
Figura 30: Esquema general de control en lazo cerrado con sistema informtico. Muchos de estos sistemas disponen de bloques de control PID (Figura 31), y de la posibilidad de implementar otros sistemas de control ms complicados. Adems esos bloques de control pueden combinarse en estructuras realimentadas simples (Figura 32) o ms complejas (maestro esclavo de la Figura 33) tal como se hara con cualquier otro sistema de control [19].
y n = K P ( E n E n 1 ) + + 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
60 ms
70 ms
No PID ProPID Processing (130 cessing (70 ms) ms, 30 ms next step)
CONTROL PID
DISPOSITIVO DE CONTROL
PROCESO
Figura 32: Control simple en lazo cerrado con bloques PID de un SCADA.
119
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
PROCESO IN
120
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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].
SYSTEM PLC
Figura 35: Deteccin de errores mediante control con PLC y simulacin con SCADA
SCADA
SIMULATION CONTROL OUT System IN System Comp. 2 (model)
121
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
CONTROL
PLC
SCADA ADAPTIVE
SIMULATION CONTROL 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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 2: Metodologa y Arquitecturas para la Automatizacin de Procesos Complejos
[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
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
de
las
RdP
en
los
Dispositivos
de
Como se acaba de comentar, la RdP es usada principalmente como una herramienta en el modelado y automatizacin del sistema, y despus esa automatizacin es implementado bien sobre un PLC (controlador lgico programable) [6] o en una computadora o IPC (Industrial-PC). Cuando se traduce la RdP al dispositivo de control es esencial conocer perfectamente el lenguaje de programacin empleado (o la aplicacin del computador), as como la operacin interna del sistema de control (el PLC o el IPC [4]). La falta de conocimiento de cualquiera de ellos podra llevar a un funcionamiento diferente del esperado. Entonces el dispositivo de control podra realizar una accin errnea (mejor dicho, no deseada), pese a cumplir las instrucciones. Normalmente es aconsejable distinguir entre la fase de modelado y la de implementacin. Es decir, desarrollar primero la RdP que modela el comportamiento, incluso cuando es una RdP con funciones adicionales debido a alguna caracterstica especial del sistema, y despus traducir ese modelo al lenguaje del dispositivo de control (sin tener ya en cuenta la planta, sino slo su modelo). Si esto no se hace, a menudo pueden modificarse algunas formas de comportamiento en la fase de traduccin, mejorando algunas partes, pero daando por otro lado otras. A modo de ejemplo se traduce la pequea RdP de la Figura1. Para implementar esta RdP, es decir, para traducirla al sistema de programacin, el primer paso consiste en elaborar un mapa de las entradas y salidas del sistema de control, y asociar una posicin de memoria o una variable interna a cada valor, de acuerdo con su funcionamiento. Por consiguiente, los valores binarios pueden representarse por una variable booleana o por un bit de memoria, mientras las otras requieren una variable entera (o un contador) o una palabra de memoria (o canal). La implementacin de esa RdP en el lenguaje del PLC depende del tipo y modelo del PLC, as como del sistema de programacin (casi todos los PLCs permiten cdigo mnemnico y ladder, y algunos otros, tambin GRAFCET o incluso herramientas grficas ms avanzadas). Esto podra realizarse de la forma que se indica en la tabla de la figura 2, el programa de la figura 3 y el diagrama de contactos de la figura 4.
P1
P2 D B
P3
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
Variable A B C D P1 P2 P3
Fig. 4. Implementacin en Ladder correspondiente a la Figura 1. La automatizacin empleando una computadora no es tan frecuente. Puede llevarse a cabo por medio de una aplicacin de control donde la programacin dependa de la
127
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
aplicacin correspondiente (aqu incluso puede programarse directamente en GRAFCET o en otros idiomas grficos [3]), o tambin puede llevarse a cabo por medio de un programa personalizado en algn lenguaje de programacin (generalmente un lenguaje orientado a objetos). En ambos, el PC debe tener una tarjeta de adquisicin de datos (dispositivos de entrada-salida) que habilita la entrada de datos desde el sistema y la salida al mismo. En un lenguaje de programacin genrico, su traduccin podra ser como sigue en el programa de la figura 5. stos son solamente ejemplos de la implementacin en algunos de los posibles sistemas de programacin. Aunque el PLC es uno de los ms frecuentemente usados, la implementacin puede llevarse a cabo con cualquier otro sistema del control, con tal de que el programa ejecute las instrucciones. Hay tambin otras maneras de implementar RdP en el mismo dispositivo que son igualmente vlidas, como los mtodos matriciales, entre otros, pero en todos ellos es necesario tener cuidado con ciertos aspectos. Hay tambin algunos sistemas de implementacin que permiten la programacin en GRAFCET, y entonces a veces puede asociarse un contador a los valores no binarios para acercarse el modelado mediante RdP (de muy bajo nivel). Adems, otros permiten la implementacin directa de una manera grfica por medio del dibujo de la RdP, aunque desgraciadamente, esto no es muy frecuente.
variables p1,p2:integer; p2:boolean; A,B,C,D: boolean input; program p1:=3; p2:=false; p3:=0 repeat if A and p1>0 and not p2 then p1:=p1-1; p2:=true if B and p2 then p2:=false; p3:=p3+1 if C and p3>0 then p3:=p3-1; p1:=p1+1 if D and p1>0 then p1:=p1-1; p3:=p3+1 until end_of_program end program
128
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
(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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
P4
P1
t4 SET P1
RSET P4
t1
P1
P2 t4 t2
t1 SET P2
RSET P1
P3
t3
P4
P4 P1 t4
P1 P2 t1
P2 P1 P2
P3
La razn por la cual es usual encontrar algunas implementaciones de esta manera incorrecta (Figura 8) es la herencia de la lgica cableada. Si el propio esquema desarrollado en GRAFCET se traduce a contactos elctricos, queda como se muestra en la Figura 9, y traducida esta ltima a ladder da el resultado de la Figura 8.
P1
P1
P1
P1
t1
t1
t1
t1
P2 t4 t2 t4
P2
t4
P2 t4 t2
P2
t2
t2
P3
P3
P3
P3
t3
t3
t3
t3
P4
P4
P4
P4
130
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
P1
t1
P2 t4 t5 t2 P5
P3
t3
t6
P4
Fig. 11. RdP con diferentes comportamientos, dependiendo de la implementacin en el dispositivo lgico. De hecho, los resultados son iguales cuando los programas llevan a cabo secuencias simples, y ste es frecuentemente el caso (como en el ejemplo mostrado), puesto que la ltima marca es la misma y la evolucin es muy rpida (idealmente instantnea). Pero en ciertas RdP los resultados no son los mismos. Por ejemplo, en la RdP de la Figura 11, dnde p5 no est nunca activo segn el marcado inicial, pero debido a la implementacin en el dispositivo lgico, podra llegar a estar marcado, lo cual es errneo. Todos esto sucede porque el PLC ejecuta sus instrucciones en orden secuencial (una a una). Tambin es interesante sealar que en una ramificacin el programa guarda el valor evaluado, que ser igual para todas las ramas, sin evaluarlo de nuevo aunque en algunas ramas varios elementos anteriores hayan cambiado. Todo esto se ha analizado para la implementacin en un PLC, pero es igual si se implementa en un PC por medio de un programa de ordenador (Figuras 12 y 13) en cualquier lenguaje secuencial (para los lenguajes no secuenciales, tales como ADA, el resultado es diferente).
p1:=1 repeat if p1 and t1 then (p2:=1; p1:=0) if p2 and t2 then (p3:=1; p2:=0) if p3 and t3 then (p4:=1; p3:=0) if p4 and t4 then (p1:=1; p4:=0) until end_ program 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
Figura 13: Programa correspondiente a una incorrecta interpretacin de la RdP, debido al orden en las instrucciones
131
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
Por todo ello la forma ms empleada y habitualmente la ms eficiente consiste en la traduccin una a una de las transiciones de la red. Una transicin t presenta en general un cierto nmero de arcos provenientes de los lugares de entrada t ( t = { p P | ( p, t ) > 0} ), incluidos los arcos inhibidores, y otro nmero de arcos que salen hacia los lugares de salida de t, t ( t = { p P | (t , p) > 0} ). Sin embargo, dado que muchos de los lugares son binarios en la prctica, y por tanto se pueden representar y manejar con posiciones de memoria tipo bit de una manera ms cmoda y eficiente, conviene distinguir entre los lugares binarios y los que no lo son (si bien se pueden considerar en general todos como no binarios y el funcionamiento es correcto). Por lo tanto, una transicin tendr en general la forma que muestra la Figura 14. De momento consideramos transiciones sin retardo o temporizacin, y estos se introducirn ms adelante.
132
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
len
leni
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
ON
MEN
MEN
MEN
.....
.....
evento
.....
.....
MEN
CONDI CION
MEN
leb 1
leb a .....
lebi 1
lebi .....
---
(1)
134
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
---
(1)
SET lsb 1
....
SET lsb e
RESET leb 1
....
SUB len b pen b Figura 16: Implementacin en Ladder de una transicin global en un PLC. donde: ON MENOR MAYOR es un bit siempre activo es el bit de comparacin que indica menor es el bit de comparacin que indica mayor
135
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
CONDICION
El diagrama de contactos se ha roto, indicndose con el smbolo (1), simplemente para poder meterlo en la hoja, pero hay que suponer que va todo seguido. De todas formas cuando se indique ms adelante cmo se realiza este tipo de implementaciones con transiciones temporizadas, va a venir muy bien ese corte que se ha realizado, puesto que es precisamente ah donde se insertarn los elementos de la temporizacin. Ese mismo programa, desarrollado en lenguaje mnemnico queda de la siguiente manera: 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 SET lsb 1
.... 136 .... .... ....
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
SET lsb e SET leb 1 SET leb a ADD lsn 1, psn 1, lsn 1 ADD lsn f, psn f, lsn f, ADD len 1, pen 1, len 1, ADD len b, pen b, len b, Figura 17: Implementacin en mnemnico de una transicin global en un PLC.
.... .... ....
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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 l2
(t1)
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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.
A.2. Retardos en la sensibilizacin de la transicin Este tipo de temporizacin consiste simplemente en un tiempo de espera desde que se dan las condiciones de sensiblizacin de la red hasta que se pueden producir los disparos de sta. Es decir, es como si se incluyese como condicin al disparo de la transicin: "llevar t segundos cumpliendo que p t , M ( p ) ( p, t ) y cumpliendo el evento asociado a la transicin". Podemos verlo desde el mismo punto de vista de marcas dispuestas e indispuestas, considerando tambin que cuando la marca est indispuesta es como si no existiese a efectos de disparo de la transicin, y que cuando aparece una marca en un lugar entonces est indispuesta, y permanece as durante (ti) unidades de tiempo. Pero la diferencia es que ahora cuando se produce el disparo de la transicin (debido a otra marca distinta) no se vuelve a empezar a esperar.
l1 t1 l2
tim tim
l1 t1 l2
tim tim
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
Hasta tal punto es as que los autmatas programables industriales ms frecuentes en el mercado es el nico que incluyen directamente, y los dems tipos de temporizaciones se realizan a partir de este tipo de elementos. Los tipos de temporizadores que normalmente derivan de este tipo de retardo, y que se pueden construir a partir de l, son los que comentaremos a continuacin, as como las RdP para conseguirlos. En estos temporizadores se habla de entrada y salida porque un temporizador es un dispositivo capaz de retardar una orden de salida un cierto tiempo en respuesta a la seal de mando de entrada. A.2.1 Temporizador a la conexin Activa la salida cuando lleva cierto tiempo recibiendo entrada, y se desactiva la salida cuando cesa la entrada. Consiste simplemente en aplicar un retardo a la conexin para activar la salida (Figura 20).
Entrada
A.2.2 Temporizador a la desconexin La salida se activa inmediatamente con la entrada, pero permanece un cierto tiempo despus de desaparecida sta (Figura 22).
140
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
A.2.3 Temporizador a la conexin y a la desconexin Combina los dos tipos anteriores, es decir, la salida tarda en activarse un cierto tiempo mientras recibe entrada, y una vez activada tarda un cierto tiempo en desactivarse cuando deja de recibir seal. Los tiempos de activacin y desactivacin no tienen por que ser iguales (Figura 24).
Entrada
Entrada
141
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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 Entrada Salida (conexin) Salida (conexin, desconexin) Tim1 Salida (conexin-desconexin) Figura 25: Cronograma del temporizador a la conexin-desconexin Tim2 Tim2
A.2.4 Temporizador Impulso La salida se mantiene activa mientras dure activa la condicin de marcha pero con un tiempo mximo (Figura 26).
Figura 26: Esquema del temporizador impulso Tim Entrada Salida Figura 27: Cronograma del temporizador impulso
142
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
A.2.5 Temporizador Monoestable o Conformador de Impulso Cuando se activa la entrada se activa tambin la salida durante un tiempo constante e independiente de que se mantenga o no la entrada (Figura 28).
Figura 28: Esquema del temporizador monoestable Tim Entrada Salida Figura 29: Cronograma del temporizador monoestable
A.3 Retardos asociados a las marcas Otro tipo de retardo es el que se puede asociar a todas las marcas que accedan a un lugar. Entonces, cuando una marca accede a un lugar, debe esperar cierta cantidad de tiempo antes de estar dispuesta, y pasado dicho tiempo ya est dispuesta en todo momento. Este tipo de transicin puede darse en la industria cuando tengamos un proceso, como por ejemplo un horno (representado por un lugar), en el que los elementos (las marcas) deben estar al menos una cantidad de tiempo antes de poder salir. En realidad este tipo de retardo es equivalente a los dos anteriores si se consideran redes coloreadas (que enseguida analizaremos) y se considera que cada elemento tiene un color diferente. Hay que notar que al tener cada marca un color diferente, para cada color la red es binaria, por lo cual los dos tipos anteriores de retardo son el mismo (cosa que deba ocurrir para ser coherente la propiedad anterior). B. Retardos en redes coloreadas Se ha comentado anteriormente que una RdP coloreada es aquella que presenta marcas de diversos colores (que las distingue de las de colores distintos), en la que la evolucin es independiente para cada tipo de color.
143
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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)
MEN
TIM
TIM (tl)
144
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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 (tl)
TIM
---
(1)
145
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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 .... .... .... .... ....
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
SET leb a ADD lsn 1, psn 1, lsn 1 ADD lsn f, psn f, lsn f, ADD len 1, pen 1, len 1, ADD len b, pen b, len b, Figura 34: Implementacin (en mnemnico) para una transicin global
.... ....
A.2 Retardos en la sensibilizacin de la transicin Hay que conseguir lo mismo que en el apartado anterior, con la nica diferencia de que ahora no se debe resetear el temporizador con el disparo de temporizaciones precedentes. Por lo tanto, la traduccin del caso ms simple (Figura 30), queda de la siguiente manera: ON CMP l1 p ll
MEN
TIM (tl)
TIM
ADD l2 p l2 SUB l1 p ll
147
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
---
(1)
TIM (tl)
TIM
---
(1)
Y en la representacin en mnemnico tan slo hay que eliminar la instruccin "LOADNOT TIM". Conocida la forma de implementar estas transiciones, y las construcciones de los temporizadores con RdP (Figuras 20 a 29), se puede implementar cada uno de los temporizadores vistos previamente. Sin embargo, ya que son bloques con una entrada y una salida sobre los que no se suelen realizar modificaciones, es habitual construirlos de forma directa, que adems en estos casos suele ser bastante ms corta y compacta. A continuacin vemos como pueden implementarse de forma directa: A.2.1 Temporizador a la conexin Entrada TIM
TIM
148
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
A.2.3 Temporizador a la conexin y a la desconexin Entrada TIM1 ( Auxiliar ) Auxiliar Salida Salida Entrada TIM2 ( Salida ) TIM1
TIM2
Figura 39: Temporizador a la conexin y a la desconexin (conexin-desconexin) Se puede observar de nuevo que este temporizador no consiste en meter como entrada del temporizador a la desconexin la salida de uno a la conexin (ver figura 25). Esta diferencia en el comportamiento esperado se consigue poniendo como condicin de corte (LOADNOT) del temporizador de desconexin (TIM2) la entrada global (E) en vez de la entrada del bloque de desconexin (AUX, que tambin es la entrada del bloque de desconexin).
Figura 40: Temporizador impulso A.2.5 Temporizador Monoestable o Conformador de Impulso Entrada TIM ( Salida ) Entrada TIM
149
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
B. Retardos asociados a las marcas y Retardos en redes coloreadas En estos tipos de retardo obligatoriamente se debe emplear un temporizador para cada marca posible en los lugares, o bien guardar en una lista el momento en que cada marca ha llegado al lugar. La segunda opcin es mucho ms econmica en cuanto a recursos del PLC, y es por tanto la que se emplea habitualmente. La forma de realizar dicha implementacin es muy similar a la forma de simular las temporizaciones en Matlab (tanto este tipo de retardos como los de los tipos anteriores) por lo que se remite a dicha seccin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 3: Implementacin de las Automatizaciones en los Dispositivos Industriales
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.
151
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: Sirve de comprobacin para corroborar que la simulacin realizada sobre el PLC da los mismos resultados (verificacin de la simulacin en el PLC) Permite realizar pruebas de modificacin de parmetros antes de simularlas sobre el PLC, y por lo tanto sin tener que desconectar el funcionamiento de ste en la planta Permite realizar dichas modificaciones de una manera ms gil, puesto que los lenguajes de programacin estn ms indicados para ello que el autmata programable Incluso se puede programar sobre esta simulacin un algoritmo de bsqueda de la solucin ptima mediante tcnicas avanzadas (inteligencia artificial, algoritmos genticos u otros mtodos), para una vez encontrada poderla simular tanto sobre el PLC como sobre el propio PC de una manera detallada
Para realizar esta simulacin se puede emplear cualquier lenguaje de programacin de propsito general, por ejemplo los empleados para las diversas aplicaciones informticas que componen esta tesis (C, Visual Basic, Java, etc.). Sin embargo puede resultar muy interesante realizar dicha aplicacin sobre Matlab, por su potencia en el manejo de informacin en forma matricial, as como por la facilidad a la hora de ser programado y de representar los resultados en forma de grficas. La realizacin de la simulacin en cualquier otro programa simplemente consiste en aplicar los mismos principios sobre el lenguaje de programacin correspondiente. Y esos principios no son otra cosa que los empleados para realizar la traduccin de las RdP al lenguaje de contactos del autmata programable, pero con unas reglas de juego algo distintas (las del computador en vez de las del autmata programable).
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
a lugares de entrada
le 1 .... pe 1 le
a
li
pi 1
pi
evento ps 1 .... ls 1 ls c ps 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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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 es el marcado inicial del lugar i es el nmero de lugares en la red es el nmero de pasos en la simulacin es el evento (condicin lgica) asociado a la transicin,
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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
Figura 3: Parmetros temporales en la simulacin de las redes temporizadas Adems, el algoritmo de implementacin debe tener en cuenta el tipo de retardo de las transiciones, tal como vimos anteriormente. Veamos cmo queda el algoritmo para los dos tipos de retardos.
(1)
donde lx es un lugar incidente a la transicin (con arco no inhibidor), px es el peso de su arco, y tim es el valor de la temporizacin. Para el caso frecuente de arcos con peso unitario, esa expresin se reduce considerablemente: la comparacin: pasa a:
Y(i, lex)>= 1 all(Y(i-tim/paso:i, lex))
(2)
156
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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)
2) Imponiendo como condicin al disparo de la transicin, que haya pasado el tiempo mnimo. Para ello se incluye inmediatamente despus del if (en las transiciones con temporizacin) como primera condicin booleana:
i>tim/paso .
(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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
Figura 4: RdP con retardo en la sensibilizacin de la transicin. La traduccin, segn el primer mtodo, se debe realizar segn el algoritmo de la Figura 2, iterando con los parmetros temporales de la Figura 3 y de (1) ( (2) si los arcos son de peso unitario), y sustituyendo las condiciones correspondientes a los arcos no inhibidores de incidencia previa a las transiciones con temporizacin de acuerdo a (3) en los casos generales y de acuerdo a (4) cuando los arcos tienen peso unitario. Con todo ello la simulacin es la que se presenta en la Figura 5.
close; hold off; t0=0; tf=10; paso=0.1; 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 Y(max([1 i-tim/paso]):i, 2) >=2*ones(min([i 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');
Figura 5: Programa correspondiente a la red de la Figura 4 segn la forma primera. . La traduccin segn el segundo mtodo se debe realizar tambin segn el algoritmo de la Figura 2, iterando con los parmetros temporales de la Figura 3 y de (1) ( (2) si los arcos son de peso unitario), y poniendo como primera condicin de la evaluacin de las transiciones temporizadas la indicada en (5). La simulacin est representada en la Figura 6.
close; hold on; t0=0; tf=10; paso=0.1;
158
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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 &...
que corresponde a la condicin para una transicin no temporizada Con tim=0 la expresin (4) queda as:
if all(Y(max([1 i]):i, l e1))&...
e1))
es
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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 2
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
cuando act =0 queda as: i-disparo(trans_actual)>=0 lo cual se cumple siempre y no impone nada nuevo, ya que disparo almacena un valor de i, de una iteracin anterior o de la actual, por lo que nunca puede ser mayor que el i de la iteracin en curso.
4.3.3.1.
Ejemplo
Veamos un ejemplo de un sistema industrial que emplea una red totalmente temporizada. Se trata de un ejemplo simple pero real, por lo cual ser empleado en varias ocasiones a lo largo de este captulo, y va a servir de ensayo a escala del sistema real completo y extremadamente complejo que se analiza ms adelante en otro captulo y que constituye uno de los pilares de este trabajo. El sistema, representado en la Figura 8b, consiste simplemente en dos lneas de entrada, A y B, y una lnea de salida. La lnea A consiste en una mquina (la mquina 1-a) que carga piezas de tipo A en un buffer (el buffer 1-a). La transicin t1a representa el tiempo que tarda la mquina en cargar la pieza, y la transicin t2a representa el tiempo que tarda en descargarla. Tanto la mquina 1-a como el buffer 1-a estn representados por dos lugares (el lugar que representa los elementos y su complementario que representa los huecos). La lnea de entrada de piezas B es exactamente igual a A. Despus, la mquina 2 ensambla una pieza de A del buffer 1-a con una pieza de B del buffer 1-b, y la pieza resultante la deposita en el buffer 2. De nuevo t3 y t4 representan los tiempos de cogida y de dejada de las piezas respectivamente. Por ltimo la mquina 3 coge las piezas resultantes (igualmente con tiempo de acceso a coger y dejar) y las saca como producto. Adems el nmero total de piezas en el proceso est limitado (por
162
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
ejemplo debido al nmero de recipientes o a la energa necesaria) lo cual se representa devolviendo desde el final del proceso 'los recipientes' al principio.
Buffer 1a Buffer 1b Maqu. 1a Maqu. 1b Piezas A
Producto
Maqu. 3
Buffer 2
Maqu. 2
Piezas B
t3
MAQU 3
BUF 1a
t2a
MAQU 1a
t6 p16
BUF 2
t5 p 14
MAQU 2
t4 p 12
13
p4
p5 p2 t2b p9
p3
.. .
.
p8
t1a Piezas A k p1
.p
15
...p
p11
p10
...
p7
t1b Piezas B k p6
BUF 1b
MAQU 1b
Figura 8-a: Sistema de produccin representado mediante una RdP totalmente temporizada Lo primero que hay que determinar es el tipo de retardos que tenemos (si en el disparo o en la sensibilizacin). Como la transicin representa el tiempo que tarda la mquina en coger o dejar cada pieza, el retardo es en el disparo en todas las transiciones. De todas formas dado que los lugares que representan las mquinas, ya sea cargando o descargando (p2, p3, p7, p8, p11, p12, p15, p16), son lugares binarios, en este caso vuelve a ser indiferente el tipo de retardo (son equivalentes). Esto es algo bastante frecuente, y posiblemente esa sea la razn de que muchas veces no se tenga en cuenta el tipo de retardo, por lo que cuando no es indiferente se cometen errores en el modelado e implementacin. Entonces, segn lo visto hasta ahora, el mtodo de implementacin s es correcto para esta red, y el programa resultante se muestra en la Figura 8-b. En dicho programa se ha incluido alguna caracterstica adicional (frecuencia de salida, parametrizacin de marcado inicial, etc.) a la que haremos referencia ms adelante, pero que se ha incluido aqu para no tener que repetir el listado del programa.
t0=0;%el tiempo inicial tf=input('Cuntos segundos quieres evaluar?');%el tiempo final paso=0.1; %cuanto menor paso ms exacto el clculo y la grfica tspan=t0:(tf/paso)-1; clf; %borra la figura actual hold on; %mantiene el dibujo actual buffer=3; k=input('Parmetro inicial del sistema?'); Y(1,:)=[k 1 0 buffer 0 k 1 0 buffer 0 1 0 buffer 0 1 0]; trans=[1 1 1 1 1 1 1 1]; produc=0;%lo utilizo para calcular la frecuencia de salida
163
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
for i=2:(tf/paso) %i es el contador del tiempo Y(i,:)=Y(i-1,:); if i-trans(1) >= 10 & all(Y(i-10:i,1)) & all(Y(i-10:i,2)) Y(i,1)=Y(i,1)-1;Y(i,2)=Y(i,2)-1;Y(i,3)=Y(i,3)+1;trans(1)=i; end if i-trans(2) >= 10 & Y(i-10:i,6)>0 & Y(i-10:i,7)>0 Y(i,6)=Y(i,6)-1;Y(i,7)=Y(i,7)-1;Y(i,8)=Y(i,8)+1;trans(2)=i; end if i-trans(3) >= 2 & Y(i-2:i,3)>0 & Y(i-2:i,4)>0 Y(i,3)=Y(i,3)-1;Y(i,4)=Y(i,4)1;Y(i,2)=Y(i,2)+1;Y(i,5)=Y(i,5)+1;trans(3)=i; end if i-trans(4) >= 2 & Y(i-2:i,8)>0 & Y(i-2:i,9)>0 Y(i,8)=Y(i,8)-1;Y(i,9)=Y(i,9)1;Y(i,7)=Y(i,7)+1;Y(i,10)=Y(i,10)+1;trans(4)=i; end if i-trans(5)>= 10 & Y(i-10:i,5)>0 & Y(i-10:i,10)>0 & Y(i10:i,11)>0 Y(i,5)=Y(i,5)-1;Y(i,10)=Y(i,10)-1;Y(i,11)=Y(i,11)-1; Y(i,4)=Y(i,4)+1;Y(i,9)=Y(i,9)+1;Y(i,12)=Y(i,12)+1;trans(5)=i; end if i-trans(6)>= 2 & Y(i-2:i,12)>0 & Y(i-2:i,13)>0 Y(i,12)=Y(i,12)-1;Y(i,13)=Y(i,13)1;Y(i,11)=Y(i,11)+1;Y(i,14)=Y(i,14)+1;trans(6)=i; end if i-trans(7)>= 10 & Y(i-2:i,14)>0 & Y(i-2:i,15)>0 Y(i,14)=Y(i,14)-1;Y(i,15)=Y(i,15)1;Y(i,13)=Y(i,13)+1;Y(i,16)=Y(i,16)+1;trans(7)=i; end if i-trans(8)>= 2 & Y(i-2:i,16)>0 Y(i,16)=Y(i,16)1;Y(i,15)=Y(i,15)+1;Y(i,1)=Y(i,1)+1;Y(i,6)=Y(i,6)+1;trans(8)=i; produc=produc+1;instante(produc)=i; end end for k=1:produc-1 periodo(k)=(instante(k+1)-instante(k))/10;%periodo en segundos de salida de pieza frecuencia(k)=10/(instante(k+1)-instante(k));%frecuencia en segundos de salida de pieza end plot(tspan/10,Y(:,16),'r'); %ploteo el lugar 16 en funcin del tiempo [filasY,columY]=size(Y); Yf=[Y(filasY,:)]; disp('El flujo en rgimen permanente es');frecuencia disp('i.e., sale una pieza cada estos segundos');periodo disp('El ltimo valor encontrado de Y es');Yf
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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).
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
Figura 11: Grfica del marcado de p1 (arriba) y p2 (abajo) en la simulacin del programa de la Figura 10. Vemos que la marca no aparece constantemente en p2, tal como debera ocurrir puesto que t1 es una transicin sin temporizar. Sin embargo, las iteraciones que el programa emplea para mover las marcas a travs de transiciones no temporizadas son consideradas como un paso de tiempo. El disparo, que se tena que producir cada segundo, se produce cada 1,1 segundos. Cuanto menor sea el paso en comparacin con el tiempo de la temporizacin menor ser tambin el error relativo cometido, pero a costa de multiplicar el esfuerzo computacional para lograr el mismo tiempo de simulacin. Por ejemplo, esa misma simulacin, con paso de 0.01 (la dcima parte del que haba) nos da el resultado de la figura 12, en el que se obtiene un periodo de 1.01 segundos frente a 1 segundo que es el valor exacto (error del 1%). Y si lo simulamos con el paso igual al tiempo de simulacin se obtiene el de la figura 13, en el que el error es del 100%.
166
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
1 0.8 0.6 0.4 0.2 0 0 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
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 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
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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.
definir el tiempo inicial(t0), el tiempo final (tf) y el paso (paso) definir los instantes de simulacin: tspan=t0:tf/paso-1; definir el marcado inicial: Y=[marcado inicial]; inicializar los disparos iniciales: disparo=ones(1,num_temporizac); for i=1:tf/paso seguir=1; while seguir ~=0 seguir=0; .... %comienzo de una transicin cualquiera con retardo if i-disparo(num_transic)>=tr/paso & condiciones & evento acciones;disparo(1)=i;seguir=1; end %del if %fin de una transicin cualquiera con retardo .... end %del while if i<tf/paso Y(i+1,:)=Y(i,:); end %del if end %del for crear las grficas: plot(tspan*paso,Y(:,lugar_a_plotear),'color');
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
La Figura 17 muestra la grfica correspondiente a la simulacin, que efectivamente corresponde al resultado terico que se deba obtener.
Figura 17: Simulacin del sistema de la Figura 15. Marcado de p1 (arriba) y p2 (abajo). Aunque en las grficas del marcado no se aprecia, puesto que son constantes, si representamos la grfica del disparo de la transicin temporizada vemos que efectivamente el periodo es de 1 segundo exacto, como se aprecia en la grfica de la Figura 18.
1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10
Figura 18: Grfica del disparo de la transicin con temporizacin segn la implementacin de la Figura 16. Los lugares donde la grfica vale 1
170
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
indican el instante del disparo de la transicin. La otra transicin se dispara exactamente en los mismos instantes
Figura 19: Algoritmo de implementacin de redes mixtas con transiciones con retardo en la sensibilizacin
171
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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');
Figura 20: Implementacin del ejemplo de la Figura 9 segn el algoritmo de la Figura 19. Por lo tanto cuando tengamos redes mixtas son stas las formas de implementacin en Matlab, o en cualquier otro lenguaje de propsito general, en funcin del tipo de transicin con retardo que tengamos. El paso mximo que se debe emplear es el mximo comn divisor de los retardos de todas las temporizaciones, en cualquier unidad de tiempo en la que se obtengan valores enteros. Por ejemplo, si hay una temporizacin de 0.2 segundos y otra de 0.5, el mximo comn divisor de 2 dcimas y 5 dcimas es 1 dcima de segundo, que es el valor del paso mximo (es decir, 0.1 segundos). Adems, es ese paso el que se debe emplear siempre (el mximo), porque cualquier otro paso divisor de ste dar el mismo resultado pero multiplicando el esfuerzo computacional.
172
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
4.5. Redes mixtas con informacin total 4.5.1. Informacin de disparos con retardo y sin retardo
El mtodo que se ha empleado en la simulacin de las redes que incluyen transiciones temporizadas y sin temporizar ha consistido en hacer evolucionar todas las transiciones sin temporizar hasta que se queden bloqueadas, sobre una misma fila de las matrices de simulacin, y en ese momento disparar las transiciones con retardo en una nueva fila, que de nuevo ser modificada si se puede evolucionar sin que transcurra tiempo (si hay transiciones sin retardo vivas). Con esa forma de realizar la simulacin guardamos la informacin de todos los marcados que se producen en cada instante de tiempo, pero se pierden las evoluciones de las transiciones sin temporizar. Normalmente es mejor as, puesto que de otra forma puede ser desbordante la cantidad de informacin almacenada. Sin embargo en otras ocasiones se necesita conocer la evolucin de "todos" los pasos en la evolucin de la red, normalmente para detectar errores que no se sabe por qu ocurren. Entonces necesitaremos realizar la simulacin de distinta manera, para guardar toda esa informacin. En primer lugar se tendr que almacenar informacin del instante de tiempo que corresponde a cada uno de los pasos de la simulacin, ya que en general habr varios pasos dentro del mismo instante de tiempo (los que deriven del disparo de transiciones no temporizadas). Otra opcin es guardar en una matriz el paso que corresponde a cada instante de tiempo, pero de esta manera luego se complica la representacin grfica.
Siguiendo con el anlisis del algoritmo de implementacin, guardando la informacin de las evoluciones sin tiempo, vemos que ahora no va a servir la forma que tenamos de comprobar que haba transcurrido el tiempo necesario para la temporizacin, debido a que ahora comprobar el marcado en tres lugares anteriores no quiere decir que sean tres unidades de tiempo. Por eso se va a construir un algoritmo que rompe con la lnea de los anteriores, y en el que se va a almacenar el valor de los temporizadores a medida que se avance en la simulacin, para comprobarlo con el valor de disparo. De esta manera ya no necesitaremos la informacin que antes guardbamos en las variables sensibilizacin y disparo. Este algoritmo se asemeja ms a la forma de evolucin de las RdP, y se aleja algo de la forma de implementarlo en los PLCs (dnde no se escribe sobre los temporizadores). La
173
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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.
definir el tiempo inicial(t0), el tiempo final (tf) y el paso (paso) definir el marcado inicial: Y=[marcado inicial]; definir los tiempos de retardo de las transiciones: Tim=[tiempos de retardo]; inicializar los tiempos de los retardos: T=zeros(1,num_temporiz); tiempo= 0;i=1;tspan(1)=0; while tiempo<=tf %actualizacin de los parmetros de la iteracin i=i+1; Y(i,:)=Y(i-1,:); tspan(i)=tiempo seguir=0; %indica que no hay disparos si no se aumenta el tiempo %fin de actualizacin de los parmetros de la iteracin %test de disparo de las transiciones ... %se repite lo siguiente para cada transicin if T(tr_actual)>= Tim(tr_actual)& %esto si es temporizada condiciones & evento acciones; T(tr_actual)=0;%esto si era un retardo en el disparo seguir=1; end %del if %se repite lo anterior para cada transicin ... %fin del test de disparo de las transiciones % actualizacin del tiempo if seguir=0 tiempo=tiempo+paso; i=i-1; %elimino la ltima fila, que no ha cambiado end % fin de actualizacin del tiempo % actualizacin de los temporizadores ... % se repite lo siguiente por cada transicin con retardo if condiciones if seguir=0 & T(tr_actual)< Tim(tr_actual) T(tr_actual)=min([T(tr_actual)+paso Tim(tr_actual)]); end else T(tr_actual)=0; end %del if % se repite lo antrior por cada transicin con retardo ... % fin de actualizacin de los temporizadores
174
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
Figura 21: Algoritmo de implementacin de redes mixtas guardando informacin de disparos con retardo y sin retardo. Las estructuras empleadas son: Y: Matriz con tantas filas como marcados almacenados, y tantas columnas como marcados tspan: Vector que indica el tiempo de simulacin de cada marcado que se ha almacenado. Tiene tantos elementos como filas Y T: Vector con una columna para cada transicin con retardo. Indica el tiempo que lleva temporizando cada temporizador Tim: Vector que almacena el tiempo de retardo de cada transicin temporizada tiempo: Variable con la que seguimos el tiempo de simulacin i: Variable con la que iteramos los diversos marcados del sistema, es decir, el nmero de columnas de Y
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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');
Figura 22: Programa para implementar el sistema de las figuras 9 15 segn el algoritmo de la Figura 21.
1 0.8 0.6 0.4 0.2 0 0 1 0.8 0.6 0.4 0.2 0 0 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Figura 23: Marcado de los lugares del ejemplo de las Figuras 9 15 segn el programa de la Figura 22. Vemos que, ahora guardamos toda la informacin de la evolucin, es decir, sabemos que en el instante 1 segundo el lugar 1 comenz teniendo una marca que perdi en ese mismo instante, y el lugar 2 comenz sin marcas y gan una en ese mismo instante. Adems vemos que mediante este tipo de algoritmo no hace falta compensar el efecto de los ndices en las matrices ya que las grficas se realizan segn el tiempo, en vez de segn los pasos. Tambin podemos fijarnos que si se sustituye el paso ideal (1 segundo en este caso) por un divisor suyo (0.5, 0.2, etc.) el espacio en el que se almacena la informacin es
176
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
Figura 24: Modificacin en el algoritmo de la Figura 21 para la implementacin de redes mixtas guardando toda la informacin posible.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
figuras 9 y 15, puesto que es el mismo ejemplo con un lugar de comportamiento "instantneo" en medio de los que haba.
p1 t1 p2 t2 p3 t3
Tim Tim
Figura 25: Ejemplo de sitema con diferente comportamiento en simulacin segn algoritmo de la Fig. 21 o segn el de la 24. Si analizamos el sistema como hemos hecho en el ejemplo anterior segn el algoritmo de la Figura 21, se va a guardar la informacin de lo que ocurre al principio de la secuencia, y antes del disparo, pero la secuencia se realiza de un solo paso, y por lo tanto se pierde la informacin de la evolucin del lugar p2 (Figura 26). Sin embargo si realizamos la simulacin guardando toda la informacin (algoritmo de la Fig. 24), se mantiene la informacin de todo lo que ocurre en p2, es decir, que pasa de cero a uno y de nuevo a cero en el mismo instante (Figura 27). La figura 28 representa una tabla con los valores que almacena cada uno de los programas. Vemos que en la tabla de la derecha en todos los instantes de simulacin (distintos valores de la primera columna) se conoce que p2 ha tenido marcado 1.
178
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
0.5
0 0 1 1 2 3 4 5 6 7 8 9 10
-1 0 1 1 2 3 4 5 6 7 8 9 10
0.5
0 0 1 2 3 4 5 6 7 8 9 10
Figura 26: Simulacin del sistema del ejemplo segn el algoritmo de la Fig. 21.
0.5
0 0 1 1 2 3 4 5 6 7 8 9 10
0.5
0 0 1 1 2 3 4 5 6 7 8 9 10
0.5
0 0 1 2 3 4 5 6 7 8 9 10
Figura 27: Simulacin del sistema del ejemplo guardando toda la informacin.
179
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0
p2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
p3 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 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
p2 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
p3 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
Figura 28: Tabla comparativa de la informacin guardada en la simulacin del ejemplo segn los dos algoritmos distintos: Figura 21 (izquierda) y Figura 24 (derecha). Por lo tanto el algoritmo de la Fig. 24 es el ms completo para casos de transiciones mixtas y de varios tipos de retardos. Como ejemplo se incluye el programa de este ejemplo segn dicho algoritmo (figura 29).
close; hold off; t0=0; tf=10; paso=1; Tim=[1]; Y=[1 0 0]; T=[0];
180
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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: en muchas ocasiones se trata de funciones lgicas del estado, en vez de combinaciones lineales es muy frecuente encontrar salidas condicionadas, e igualmente las condiciones pueden ser funciones no lineales La matriz A es una matriz que ocupa gran cantidad de informacin, pues tiene tantos lugares como el producto de los lugares de la red por las salidas; de todos esos valores la mayora suelen ser cero (pues muchas salidas coinciden con 1 dos lugares), y aunque Matlab trata eficientemente este tipo de matrices (matrices dispersas) otros tipos de lenguajes no lo hacen, y por lo tanto resulta poco rentable muchas veces interesa como salida el flanco del lugar (paso de activo a desactivo flanco descendente-, o viceversa -flanco ascendente-), que tampoco se adapta bien al tratamiento matricial. el mtodo matricial suele ser til para salidas tipo out, pero no para las tipo set-reset que se dan a menudo.
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
Figura 30: Salida tipo Out El tipo visto es con diferencia el ms frecuente, pero si la condicin es de otro tipo, o la salida no es booleana se procede exactamente igual. Tambin son frecuentes las salidas tipo set o reset, en las cuales la salida se activa o desactiva si se cumple la condicin pero no se hace nada si no es as. Por ejemplo:
182
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
p10
SET Salida 2
p10
RESET Salida 2
Podemos fijarnos que el tratamiento de actualizacin de los temporizadores que realizbamos en los algoritmos previos (Figura 21) consiste en una salida tipo Out sobre ellos en la cual en vez de poner a 1 cuando se da la condicin, se incrementan en una unidad.
p10
SET Salida 2 p5
Y en el caso de condicin en los temporizadores, se procede exactamente igual, en la zona del programa de actualizacin de los temporizadores.
if Y(i,10)>0 & S(4)>0 if seguir==0 & T(2)< Tim(2) T(2)=min([T(2)+paso Tim(2)]); end else T(2)=0; end
p10
183
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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). if Y(i,1)>0 & S(1)==0 S(2)=1; else S(2)=0; end if Y(i,1)>0 S(1)=1; else S(1)=0; end if Y(i,1)==0 & S(1) ==1 S(2)=1; else S(2)=0; end
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
el sistema de produccin de la Figura 8-a se puede incluir el lugar que se muestra en la figura 35, y que no es otra cosa que la produccin total (o la integracin de los disparos de la transicin t6). Sin embargo ese tipo de lugares, que por su carcter de integradores estn no acotados en general, suele dar problemas en muchos simuladores.
MAQU 3 Produccin
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. Antes de las iteraciones: produc=0; Dentro de las iteraciones, en las acciones correspondientes al disparo de la transicin:
produc=produc+1;instante(produc)=i;
Figura 36: Implementacin del Throughput de una transicin, y obtencin del periodo y la frecuencia.
185
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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.
Figura 37-a: Simulacin continuada en el tiempo del ejemplo de produccin de la Figura 8-a.
186
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
modelice un proceso industrial real, aun huyendo de precisiones innecesarias, se sita en los cientos de lugares, o incluso miles. Si en el sistema hay algn retardo de tiempo relativamente muy inferior al tiempo total que queremos simular, nos encontramos con que no es posible realizar la simulacin por problema del tamao de la matriz Y. Ello es especialmente problemtico si empleamos el algoritmo de las Figuras 21 24, en los que se guardaba toda la informacin disponible, pero que emplea toda una fila de Y (cientos o miles de valores) para cada disparo de la transicin. En esos casos, que en la prctica de simulacin de plantas industriales completas se dan muy frecuentemente, lo que se hace es llegar hasta el horizonte de tiempo deseado a base de realizar simulaciones de tiempo ms breves. Cuando se alcanza este tiempo, que permite manejar Y aceptables, se almacena el estado del sistema y el tiempo de simulacin, y se procede a realizar la siguiente sub-simulacin pero sobreescribiendo los valores anteriores. De esa manera el sistema trabajar con matrices pequeas que se irn empleando y desechando, y con paciencia se puede llegar a cualquier horizonte temporal de simulacin sin posibilidad de desbordar el sistema informtico.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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.
Pese a la utilidad demostrada por la aplicacin Matlab en las simulaciones discretas desarrolladas hasta el momento, su gran utilidad reside en su manejo como herramienta de simulacin de variables continuas, gobernadas por ecuaciones diferenciales. En muchas ocasiones el sistema a automatizar no es discreto, sino que tiene partes continuas y partes discretas. Especialmente se da el caso de necesitar variables continuas en la simulacin del proceso, ms que en su automatizacin. Por ejemplo supongamos que queremos controlar el nivel de un depsito en el que constantemente est entrando agua, abriendo o cerrando una vlvula que funciona a modo de sobradero. La automatizacin consiste tan slo en abrir o cerrar (en funcin del nivel), es decir, es discreta, pero para simular la altura del depsito debemos trabajar sobre una variable continua. Sin embargo el uso de las variables continuas (o hbridas) en automatizaciones industriales tiene un campo, ahora mismo en expansin, que es el de las redes continuizadas. Continuizar las redes discretas consiste en transformar la red discreta en una red continua que la modelice, para determinar prestaciones de esa la red discreta (y por lo tanto del sistema) trabajando de forma continua y con variables continuas. Cuando la red discreta es muy grande y soporta grandes marcados (gran nmero de marcas), ocurre la explosin del sistema como discreto, que complica su manejo. Adems debido al gran nmero de marcas en la continuizacin de una variable discreta en otra continua se comete un error relativo pequeo. Por supuesto no siempre puede realizarse esa transformacin, y adems puede realizarse de varias formas distintas (finitos servidores, infinitos servidores, etc.). Adems la interpretacin de los resultados del modelo continuo y su exportacin al discreto es complicada y est an en fase de estudio y formalizacin. En aplicaciones industriales reales an no se han implantado estas tcnicas, pero sin duda se pueden obtener resultados muy buenos si se emplean, por supuesto teniendo en cuenta qu es lo que se est haciendo.
188
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
Con este tipo de modelos continuizados, la simulacin en cualquier lenguaje, y especialmente en Matlab (por la comentada facilidad en el manejo de ecuaciones diferenciales), permite obtener simulaciones de sistemas ms complejos y con mayor horizonte de simulacin empleando menor esfuerzo computacional. En el ejemplo que veremos a continuacin lo comprobaremos de forma cuantitativa. Dado ese bajo coste computacional de este tipo de simulaciones continuas, pueden ser muy interesantes para hacer una primera evaluacin en el ajuste de los parmetros del sistema, cuando hay muchos parmetros (muchas direcciones sobre las que evolucionar), y por tanto el espacio multidimensional sobre el que hay que buscar la solucin ptima es grande y complejo (ver apartado siguiente). Una vez que se han encontrado los valores ideales de los parmetros y se han determinado las regiones de actuacin ms propicias, se puede comprobar el correcto funcionamiento con la simulacin continua. Lo que es evidente es que para obtener resultados ms precisos y fiables se requiere mayor esfuerzo de computacin.
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 BUF 2 3 PROD MAQU. 1b BUF 1b 3 MAQU. 2 PIEC B k PIEC A k
MAQU. 3
Figura 38: Modelo continuo correspondiente al problema de la Figura 8-a No se va a entrar en cmo se ha llegado a esos modelos, sino en cmo poder realizar su simulacin de una forma sencilla, para posteriormente poder aplicarlo a sistemas complejos, como se har en prximos captulos. Para el manejo de las ecuaciones diferenciales Matlab emplea un mtodo Runge-Kutta (en cualquier otro lenguaje de
189
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
programacin se puede programar fcilmente), para el que hay que indicarle en un fichero aparte cules son las ecuaciones diferenciales que puede resolver. Por eso cada simulacin presenta dos ficheros: el del programa de simulacin y el de las ecuaciones diferenciales. La simulacin del primer sistema se muestra en las grficas 39-a y 39-b, y la del segundo (el de la Figura 38) se muestra en las 41-a y 41-b. No es necesario darle al programa el paso para el mtodo Runge-Kutta (en este caso de orden 2/3), pues l toma uno apropiado, pero se le puede indicar uno menor (como se ha hecho) para lograr mayor precisin si es que as se requiere. La Figura 40 muestra la simulacin de la evolucin de los marcados del primer sistema continuo presentado (infinitos servidores). La del segundo sistema (finitos servidores) no se muestra porque en este ejemplo va a ser constante el marcado de cada lugar, como puede preverse analizando la Figura 38 (teniendo en cuenta que las transiciones tienen una velocidad de paso de marcado constante e igual entre ellas).
t0=0;%el tiempo inicial para el runge-kutta tf=input('Cuntos segundos quieres evaluar?');%el tiempo final para el runge-kutta paso=0.01; %cuanto menor paso ms exacto el clculo y la grfica k=input('Parmetro inicial del sistema?'); Y0=[k 1 0 3 0 k 1 0 3 0 1 0 3 0 1 0]; tspan=t0:paso:tf; [t,Y]=ode23('ec_infinite',tspan,Y0); plot(tspan,Y(:,1),tspan,Y(:,3),tspan,Y(:,5),tspan,Y(:,12),tspan,Y(:,14 ),tspan,Y(:,16)); hold on; plot(tspan,Y(:,16)*5,'r')%plotea 10 * el throughput en rojo
Figura 39-b: Programa ec_infinite, que describe las ecuaciones diferenciales del sistema de la Figura anterior.
190
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
2.5
1.5
0.5
0 0 1 2 3 4 5 6 7 8 9 10
Figura 40: Simulacin de la evolucin del marcado de los lugares de un sistema continuo a velocidad variable.
t0=0;%el tiempo inicial para el runge-kutta tf=input('Cuntos segundos quieres evaluar?');%el tiempo final para el runge-kutta paso=0.01; %cuanto menor paso ms exacto el clculo y la grfica k=input('Parmetro inicial del sistema?'); Y0=[k 3 0 k 3 0 3 0]; tspan=t0:paso:tf; [t,Y]=ode23('ec_finite',tspan,Y0); plot(tspan,Y(:,1),tspan,Y(:,3),tspan,Y(:,8)); hold on; plot(tspan,Y(:,8)*(1/1.2),'r')%plotea el throughput en rojo
191
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
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.10. Parametrizacin de los sistemas. Mtodos de bsqueda para optimizacin del proceso.
Como ya hemos adelantado anteriormente, una de las ventajas de la simulacin en el computado del proceso productivo, tanto de la automatizacin como de la planta, consiste en poder comprobar el efecto que tendr la variacin de los parmetros para conseguir mejores resultados. Pongamos como ejemplo el sistema productivo que hemos tratado en todo el captulo, y que se encuentra representado en la figura 8-a. Deliberadamente se puso el parmetro k como el mximo nmero de piezas de cada tipo (o de contenedores para las piezas) que tiene el sistema. En las simulaciones se ha empleado con valor igual a 3, pero se dej indicado as para analizar el efecto de modificar el nmero de contenedores en el sistema. Si k vale 1, la frecuencia de produccin es de 0.278 s-1, con k igual a 2 la frecuencia sube a 0.555 s-1, y para valores de k iguales o superiores a 3 la frecuencia es de 0.833 s-1. Por lo tanto vemos que no se obtendra beneficio de aumentar el nmero de recipientes, si no se aumenta tambin la capacidad de los buffers. Ese anlisis de la produccin segn el valor del parmetro k se puede programar fcilmente en la simulacin por computador para obtener la curva correspondiente. Si tenemos dos parmetros (por ejemplo nmero de bandejas y tiempo de la transicin 2) tendremos que movernos a lo largo de una superficie para determinar el punto o la zona que optimiza la frecuencia de salida. Y en general lo que tendremos es n parmetros y por tanto un espacio n-dimensional. Adems, se puede incluir en la programacin aspectos como el coste de los parmetros, y por lo tanto, no habr que intentar optimizar la produccin a cualquier precio sino una cierta relacin produccin-coste que se habr indicado mediante una funcin objetivo. En este aspecto puede resultar muy interesante emplear tcnicas de inteligencia artificial para maximizar esa funcin objetivo mediante diversos mtodos de bsqueda. En el captulo 5 se muestran diversos algoritmos de bsqueda de soluciones a un problema mediante inteligencia artificial, y se aplican para resolver un problema concreto. Esos mtodos podran igualmente incluirse en este apartado. Tambin resulta interesante en muchas ocasiones para optimizar el sistema el empleo de mtodos de programacin
192
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
lineal y de programacin no lineal, si bien a veces el empleo de los sistemas discretos y continuos con parmetros se vale de estos mtodos de forma implcita.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 4: Metodologa de Simulacin Mediante Lenguajes de Programacin.
[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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
simulacin, supervisin, etc.), y tambin cmo pueden traducirse directamente al lenguaje de los PLCs. En la aplicacin que se propone, se emplea un programa de ordenador para generar automticamente, a partir de una tabla de datos, la RdP de la automatizacin, que depende de los elementos del sistema, sus posibles estados, los procesos, y los requisitos. Esto hace posible que cualquiera familiarizado con el proceso pueda generar la RdP pertinente, incluso siendo profano en temas de robtica o automatizacin. En este caso el tamao o el grado de sofisticacin del sistema es irrelevante. Por otra parte, la generacin automtica de la RdP para el proceso presenta muchas otras ventajas igualmente interesantes [5, 6]. Programar la automatizacin in situ es normalmente complicado, en parte porque los sistemas de control de automatizacin ms ampliamente usados, los autmatas programables, generalmente no tienen un lenguaje de alto nivel adaptado a los procesos secuenciales y concurrentes. Pero la traduccin de una RdP a lenguaje de programacin para PLC es un proceso que est resuelto segn la metodologa presentada en el captulo 3. Por consiguiente, es posible generar, en tiempo real y de una manera simple, el programa de control para el proceso con una aplicacin de computador. Esta aplicacin genera la RdP desde las especificaciones, y el programa del PLC desde la RdP, segn se aprecia en la Figura 1.
Red de Petri
Programa PLC
Figura 1: Generacin del Programa. Tambin es posible generar el programa del PLC directamente a partir de la descripcin del proceso, sin llevar a cabo el paso intermedio de la RdP, pero no es muy aconsejable, puesto que se perderan todas las ventajas que esta herramienta ofrece: - Las RdP tienen una extensa teora que las avala, y cuyos resultados estn implementados en aplicaciones de computador que permiten detectar muchos de los errores que pueden ocurrir en el diseo. As, pueden corregirse antes de transferir el programa al PLC y al proceso. - Otras herramientas basadas en la teora de RdP optimizan la red en s misma. As, se transfiere al PLC un programa equivalente pero ms eficaz con un menor tiempo de respuesta. En cualquier caso, esto no es normalmente relevante en los procesos de produccin, y la RdP original, equivalente a la perfeccionada, tambin puede usarse, porque suele ser ms sencilla de entender. - Tambin tenemos la ventaja de los simuladores de RdP. Con ellas puede verificarse si el funcionamiento corresponde a las expectativas. Y esta verificacin puede llevarse a cabo de una manera grfica, con un entorno mucho ms agradable y cmodo que el cdigo mnemnico o el ladder [3]. No es muy importante ser capaz de desarrollar instantneamente el programa de control, pero s la posibilidad de modificarlo en tiempo real, puesto que las condiciones del proceso pueden cambiar en cualquier momento, para adaptarse a la operacin ms conveniente en un estado particular de trabajo. Es posible agregar o quitar nuevas
196
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
restricciones cuando se requiera, as como aumentar el nmero de elementos o sus estados en el proceso, etc. Estos cambios se modifican automticamente en la RdP e incluso en el programa del proceso. Este problema es muy interesante en procesos que frecuentemente se ven modificados (por ejemplo, el empaquetado automtico de tornillos o piezas). Ms adelante se expondr un ejemplo.
Limits of the system and the operation Analysis of external events
Modification of specificatios
Generation of the PN
no Generation of a new PN
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
S3 Output conveyor 5
Robot 1 R1 1
6 7 2 3
S1 Input conveyor
Output conveyor S4
R2 4 Robot 2
Input conveyor S2
.
P2 P5
P1
.
t2
P3
t1
P4
.
t3 P7 P20 P11 P8 t8 t4 P9 t9 P12 t5 t6 P10 t10 t7 t14
P6
t11 t12
t13
t15
t16 P14
t17 P15
t18
P13
P16
. .
P17
P18
. .
t19
t20
P19
P20
198
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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.
.
P2 P5
P1
.
t2
P3
t1
P4
.
t3 P7 t7 t14 P20 P11 P8 t8 t9 P12 t4 t5 P9 t10 t6 P10
P6
t11 t12
t13
t15
t16 P14
t17 P15
t18
P13
P16
. .
P17
P18
. .
t19
t20
P19
P20
Priority(t3,t6) > Priority(t4,t5) Priority (t15) > Priority (t16) Priority (t18) > Priority (t17)
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
global u otras partes. El resultado se muestra en la Figura 8. Las restricciones y las prioridades son las mismas que en el proceso precedente.
S3 Output conveyor 5
Robot 1 R1 1
6 7
S1 Input conveyor
Output conveyor S4
R2 4 Robot 2
.
P2 P5
P1
.
t21
P21 t2 P22
P3
t1
P4
.
t3 P7 t7 t14 P20 P11 P8 t8 t9 P12 t4 t5 P9 t10 t6 P10
P6
t11 t12
t13
t15
t16 P14
t17 P15
t18
P13
P16
. .
P17
P18
. .
t19
t20
P19
P20
Figura 8: RdP del proceso modificado Si algn nuevo robot se introduce ahora, el resultado es mucho ms complejo, y podra ser necesario empezar el proceso entero de nuevo. Lo mismo sucede si se cambian prioridades o restricciones. Sin embargo, computacionalmente este no es un gran problema. Es necesario simplemente cambiar el mapa de definicin del proceso. Este
200
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
processes consumed produced conditions prio- comments activ/disact states states rity
pr1 activat. R1free.S1 disact. R1load pr2 activat. R1free.S2 disact. R1load pr3 activat. R2free.S1 disact. R2load pr4 activat. R2free.S2 disact. R2load pr5 activat. R1load.S3 disact. R1free pr6 activat. R1load.S4 disact. R1free pr7 activat. R2load.S3 disact. R2free pr8 activat. R2load.S4 disact. R2free pr9 act S1 pr10 act pr11 act pr12 act S2 S3 S4 -
end_pr1
pr 3 pr 4
1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 0
R1 from R1 from
catch S1 catch S2
end_pr2
pr1 pr 2
end_pr3 end_pr4
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
pr 7 end_pr5
pr 7 pr8
end_pr6
pr 5 pr 6
end_pr7
pr 6
end_pr8 s1 s2 s3 s4
201
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
t
P1
P1
t P1 P2
P1
P2
P1+P2 t 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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
P2
P1+P2
.
P1+P2
P1
P2
t P1+P2
P1
P2
Figura 12 (a, b, y c): Restriccin lgica p1+p2. Por otro lado, las prioridades en las transiciones se adaptan mejor a los programas y simuladores con RdP que a la programacin en PLCs. De cualquier modo, estas prioridades pueden ser traducidas a restricciones lgicas. En este caso, las funciones lgicas estn compuestas por las transiciones con mayor prioridad (una funcin lgica "y" de todas ellas invertidas), y cada una de estas transiciones es otra funcin lgica de sus lugares de la entrada. Por ejemplo, en el proceso con la RdP de la Figura 6, poner prioridad(t15)>prioridad(t16) es lo mismo que aadir la condicin lgica t15 = p11 p17 p15 = p11 + p17 + p15 en t16. Adems es posible reducir estas condiciones, como en este ejemplo dnde p11 puede eliminarse de la red sin restricciones (Figura 5). En la red con restricciones (Figura 6) p15 tambin puede ser eliminado. Entonces la prioridad puede adquirirse aadiendo la condicin p17 en t16. Tambin pueden introducirse prioridades con una frecuencia relativa (por ejemplo con una razn de 2/3 entre ellos), o cualesquiera otras.
R1
B2
R2 Pr 2
Pr
C2
R3
203
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
Time required for moving a piece In its process: 2 seconds In the next robot's process: 3 seconds Arrival times of pieces to places A: 0, 1 + 3 n n=0,1,... B: 2+3n n=0,1,... C: 3+3n n=0,1,...
Pr11
Pr A s 21
.
3
Pr1
Pr13
Pr
.
2
Pr
Pr
22
r33
R3
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
Pr3
.
C
.
R2
204
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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.
5.3. Aplicaciones de Inteligencia Artificial en la optimizacin del control automtico 5.3.1. Introduccin
Empleando RdP se puede integrar el control de los elementos ms complicados del proceso (como pueden ser los robots) dentro del proceso global. Si dicho proceso global es totalmente determinista, se puede dejar evolucionar y ver su evolucin a lo largo de los diversos estados por los que pasa. Pero tambin podemos emplear modelos no deterministas, en los que se controle la evolucin del sistema mediante sus eventos, en los cuales hay que buscar la secuencia de eventos que consigue llevar al sistema desde el estado inicial al que nos interesa. En esos casos la bsqueda de dichas secuencias, del camino que lleva al sistema al estado deseado, puede ser una tarea complicada, y la utilizacin de tcnicas de inteligencia artificial (IA), empleando algoritmos de bsqueda, puede constituir una manera eficaz de resolver el problema. Por eso en esta seccin se realiza un anlisis de los mtodos ms tiles para las aplicaciones que integran esta tesis, y se aplican esos mtodos para la resolucin de un problema en particular. Sin embargo, estas tcnicas pueden ser empleadas en cualquier parte del proceso en donde haya que buscar una solucin que cumpla ciertas condiciones sin saber por qu camino se puede conseguir. En particular, estas tcnicas pueden ser ciertamente tiles en el control de las propias RdP empleadas para el modelado y automatizacin del proceso, cuando sea una aplicacin externa la que las controle mediante la secuencia de eventos necesarios.
205
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
El objetivo de la inteligencia artificial es el diseo de un programa agente que sea capaz de implementar una funcin que asocie a cada secuencia percibida una accin adecuada. Dicho programa se ejecuta dentro de un sistema de cmputo, que tenga una serie de sensores y actuadores, adems de una estructura, a la que se le llama arquitectura. Por lo tanto un agente es la suma de la arquitectura ms el programa. Se definen varios tipos de estructuras de agentes racionales: 1. Agentes con tabla percepcin - accin: Tienen una tabla de bsqueda en la que almacenan la totalidad de secuencias de percepciones. Dada una secuencia percibida, se localiza en la tabla la accin apropiada. Habitualmente no se puede llevar a la prctica porque la tabla suele ser extensa y no es autnomo, ya que si cambiase el entorno, la tabla no servira. 2. Agentes de reflejo simple: Presentan reglas de condicin-accin que resumen porciones de la tabla percepcin-accin, de forma que se puedan implementar eficientemente. El inconveniente es que su rango de aplicacin es muy pequeo. 3. Agente con estado interno: Es capaz de almacenar informacin de los estados del entorno en momentos anteriores utilizando un estado interno. Para definir cual es la situacin del entorno en el momento en curso y actualizar la informacin del estado interno ha de saberse cmo evoluciona el mundo y qu es lo que producen las acciones. 4. Agentes basados en objetivos: Adicionalmente a la descripcin del entorno, para decidir las acciones que ha de realizar, el agente ha de conocer cierto tipo de informacin acerca de sus objetivos, siendo esta informacin la que detalla las situaciones deseables. Existen dos campos de la I.A. dedicados a encontrar secuencias de acciones conducentes a alcanzar los objetivos del agente, estos son bsqueda y planificacin. 5. Agentes basados en la utilidad: La utilidad es el grado de satisfaccin que se ha alcanzado, medido mediante una funcin que asocia a un estado un nmero real. Esta especificacin completa de la funcin de utilidad permite tomar decisiones racionales cuando existen mltiples objetivos que pueden ser conflictivos. Cada uno de los operadores puede ser caracterizado como poseedor de una funcin de utilidad. Entorno: Los agentes inteligentes que acabamos de definir deben actuar de manera que el entorno experimente una serie de estados que permitan maximizar el rendimiento. Los entornos pueden clasificarse segn los siguientes tipos: 1. Accesibles o no accesibles: Cuando los sensores del agente permiten el acceso a la totalidad del estado del entorno, se dice que es accesible a tal agente. Para entornos accesibles no hay necesidad de que el agente mantenga un estado interno. 2. Deterministas y no deterministas: Cuando el estado siguiente de un entorno se determina totalmente mediante el estado actual y las acciones seleccionadas por el agente, se dice que el entorno es determinista.
207
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
3. Episdicos y no episdicos: Se dice que un entorno es episdico cuando la experiencia del agente se divide en episodios, el cual consta de una percepcin y una accin. 4. Estticos y dinmicos: Cuando el entorno no sufre modificaciones mientras el agente est deliberando, se dice que es esttico. Si tal entorno no cambia, pero el tiempo afecta a la medida de actuacin del agente, se dice que el entorno es semi-dinmico. 5. Discretos y continuos: Cuando existe un nmero limitado de percepciones y acciones distintas, se dice que el nmero es discreto. Problema: es la informacin que utiliza el agente para decidir qu va a hacer. Se define mediante dos conceptos bsicos: los estados y las acciones. El espacio de estados del problema es el conjunto de estados que pueden alcanzare desde el estado inicial mediante cualquier secuencia de acciones. Para definir formalmente el problema se necesita: 1. El estado inicial 2. Conjunto de operadores (posibles acciones) 3. El test del objetivo: la prueba que aplica el agente a un estado para decidir si se trata de un estado objetivo. Se lleva a cabo mediante un conjunto explcito de estados, o mediante una propiedad abstracta. 4. El coste del camino (en tiempo o en memoria): una funcin que asigna un coste a cada camino determinado. Ese coste es la suma de todas las acciones individuales que componen el camino. 5. Una solucin: camino que va desde el estado inicial a un estado que satisface el test del objetivo. Los problemas se pueden clasificar en los siguientes grupos: 1. Problemas de estado nico (entorno accesible): Son aquellos en que el estado siempre puede determinarse con certeza. 2. Problemas de estado mltiple (entorno no accesible o no determinista): Se conoce un conjunto de estados en los que puede estar. 3. Problemas de contingencia (entorno dinmico): No puede encontrarse una secuencia de acciones garantizando la solucin. El agente ha de calcular todo un rbol de acciones. Cada rama del rbol supone una posible contingencia que pudiera surgir. Esto ocurre en la mayora de los problemas fsicos reales. 4. Problemas de exploracin: El agente no pose informacin acerca de las acciones ni acerca de qu tipos de estados existen. Ha de aprender el efecto de las acciones.
208
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
3. quitar frente (Lista de espera): elimina el elemento que encabeza la lista, y lo devuelve. 4. funcin poner en lista (Elementos, Lista de espera): pone un conjunto de elementos en la lista. Cada variedad en la lista de espera generar distintas variedades del algoritmo de bsqueda. Basndonos en las definiciones anteriores ya es posible dar una versin ms formal del algoritmo general de bsqueda: En el algoritmo general de bsqueda (Figura 16), obsrvese Funcin_Lista_de_espera es una variable cuyo valor se convertir en funcin. que
Funcin Bsqueda_General ( Problema, Funcin-lista de espera) responde con solucin o fallo Nodos Hacer-Lista de espera (Hacer-nodo(Estado-Inicial[problema])) Bucle hacer Si nodos est vaci, contestar con falla Nodo Eliminar_del_frente(nodos) Si Prueba-meta[problema] se aplica a Estado(nodo) y se tiene xito, contestar con nodo NodosFunc.-Lista de espera(nodos,Expandir(nodo,Operadores[problema])) fin Figura 16: algoritmo general de bsqueda
210
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
Bsqueda de coste uniforme Aplicando la bsqueda preferente por amplitud se llega a encontrar el estado meta ms prximo a la superficie, no obstante, ste estado no siempre es la solucin de coste mnimo de la funcin general de coste de ruta. En el caso de bsqueda de coste uniforme se modifica la estrategia preferente por amplitud en el sentido de expandir siempre el nodo de menor coste en el margen (medido por el coste de la ruta g(n)) en vez del nodo de menor profundidad. No es difcil observar que la bsqueda preferente por amplitud no es sino una bsqueda de coste uniforme en la cual g(n)=PROFUNDIDAD(n). El caso de coste de ruta no uniforme es similar al caso de encontrar la ruta ms corta para ir de una ciudad a otra, donde las carreteras que unen distintas ciudades, tienen distinta longitud. Si se cumplen determinadas condiciones, hay seguridad de que la primera solucin encontrada es la ms barata, dado que si hubiera una ruta ms barata que fuese solucin, ya se habra expandido anteriormente y ya habra sido encontrada. Mediante la bsqueda por coste uniforme puede encontrarse la solucin ms barata, siempre y cuando se satisfaga un muy sencillo requisito: el coste de la ruta nunca debe ir disminuyendo mientras avanzamos por la ruta. En otras palabras, es importante que: g(SUCESOR(n)) >= g(n), en todos los nodos n. Bsqueda preferente por profundidad: En este tipo de bsqueda preferente por profundidad siempre se expande uno de los nodos que se encuentre en lo ms profundo del rbol. Solamente si la bsqueda conduce a un callejn sin salida (un nodo sin meta que no tiene expansin), se revierte la bsqueda y se expanden los nodos de niveles menos profundos. La implantacin de tal estrategia se realiza mediante Bsqueda-General, con una funcin de lista de espera que va colocando los estados recin generados a la cabeza de tal lista. Puesto que el nodo expandido fue el ms profundo, los respectivos sucesores estarn a profundidades cada vez mayores. El proceso de la bsqueda puede verse en la siguiente figura.
Figura 17: rboles de bsqueda preferente por profundidad de un rbol de bsqueda binario. Para la bsqueda preferente por profundidad las necesidades de memoria son bastante modestas. Como puede verse en la figura, slo es necesario guardar la ruta que va del
212
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
Bsqueda por profundizacin iterativa La difcultad en una bsqueda limitada por profundidad reside en la eleccin de un lmite adecuado. En el caso del ejemplo propuesto (problema de las ciudades) el lmite de 19 se escogi por tratarse de un lmite obvio, aunque puede darse el caso de que pueda realizarse en menos nodos, si se tiene una topologa de mapa dada. Sin embargo, en la mayora de los problemas, no resulta posible determinar un lmite adecuado de profundidad hasta no haber resuelto el problema. La bsqueda por profundizacin iterativa es una estrategia que elude el tema de la eleccin del mejor lmite de la profundidad a base de probar todos los lmites de profundidad posibles: Primero la profundidad 0, luego la profundidad 1, luego la profundidad 2, etctera. El algoritmo utilizado se muestra en la figura siguiente:
Lmite = 0
Lmite = 1
Lmite = 2
En efecto, con la bsqueda de profundizacin iterativa se combinan las ventajas de las bsquedas preferente por profundidad y preferente por amplitud. Resulta ptima y completa, como la bsqueda preferente por amplitud, al tiempo que la memoria necesaria es slo la de la bsqueda preferente por profundidad. El orden de expansin de los estados es similar al de la bsqueda preferente por amplitud, excepto que algunos de los estados se expanden varias veces. En la figura anterior pueden observarse las primeras de 3 iteraciones de la Bsqueda-por-profundizacin-iterativa en un rbol de bsqueda binario. La bsqueda por profundizacin iterativa puede dar la imagen de desperdicio de tiempo, al expansionar tantos nodos tantas veces. Sin embargo, en la mayora de los problemas, el exceso de tal expansin mltiple resulta ser en realidad bastante pequea. La explicacin intuitiva de lo anterior es que en un rbol de bsqueda exponencial, casi todos los nodos estn en el nivel inferior, por lo que no importa demasiado que los niveles superiores se expandan varias veces. Funcin Bsqueda-por-profundidad-iterativa (problema) responde con una secuencia solucin. Entradas: problema, un problema. Para profundidad 0 a infinito hacer Si Bsqueda-limitada-por-profundidad(problema, profundidad) tiene xito, entregue el resultado obtenido. Fin Responda falla Algoritmo de bsqueda por profundidad iterativa. Hay que recordar que la cantidad de expansiones de una bsqueda limitada por profundidad hasta una profundidad d con factor de ramificacin b es:
214
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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.
En la cifra de complejidad O(bd/2) se supone que el procedimiento para probar la interseccin de las dos fronteras puede efectuarse en tiempo constante (es decir, es independiente de la cantidad de estados). Para ello se emplea una embrollada tabla. A fin de que ambas bsquedas lleguen a encontrarse en algn momento, los nodos de al menos uno de ellos deber quedar retenido en la memoria (como bsqueda preferente por amplitud). Es decir, la complejidad espacial de una bsqueda bidireccional que no cuenta con informacin es O(bd/2). Comparacin de las diversas estrategias de bsqueda En la siguiente tabla se comparan las seis estrategias de bsqueda de acuerdo a los cuatro criterios de seleccin:
Criterio Preferente por Coste ampli-tud uniforme Preferente por prof. Limitada en Profundi-zacin prof. iterativa Bidireccional
bd bd Si Si
bd bd Si Si
bm bm No No
bl bl No Si cuando l>=d
bd bd Si SI
bd/2 bd/2 Si Si
Anlisis de los estados repetidos Hasta el momento no se ha dicho nada acerca de una de las ms importantes complicaciones en el proceso de bsqueda: la posibilidad de la prdida de tiempo al expandir los estados que ya se encontraron y ya fueron expandidos anteriormente, en alguna otra ruta. En el caso de algunos problemas, esta posibilidad no existe; solo hay una forma de llegar a cada uno de los estados. Pero para muchos otros estados no es inevitable la repeticin de estados. Este es el caso de todos aquellos problemas donde los operadores son reversibles, como para los problemas de determinacin de rutas, y el problema de los misioneros y los canbales. Aunque los rboles de bsqueda sean infinitos, si se podan algunos de los estados repetidos, el rbol quedar podado a un tamao finito, y se generar slo aquella porcin del rbol que cubre la grfica del espacio de estados. An en el caso de que el
216
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
hacen esfuerzos por reducir este coste al mnimo. Anteriormente ya se ha presentado un ejemplo de tal medida: el empleo del coste de ruta g para decidir qu ruta emplear. Sin embargo, esta medida no es una bsqueda directa dirigida a la meta. Para enfocar la bsqueda, en tal medida debe figurar algn tipo de clculo del coste de la ruta que va de un estado al estado ms cercano a la meta. Se trata por tanto de dos tipos de aproximacin bsicos: el primero trata de expandir el nodo ms cercano a la meta; el segundo, el correspondiente a la ruta de la solucin menos costosa. Bsqueda avara. Reduccin del coste estimado al mnimo para alcanzar la meta Para la mayora de los problemas, aunque puede estimarse el coste que implica llegar a una meta desde un estado determinado, no es posible hacerlo con precisin. La funcin que se utiliza para calcular tales estimaciones de coste es conocida como funcin heurstica, y se simbolizada generalmente con la letra h: h(n) = coste estimado de la ruta de menor coste que une el estado del nodo n con un estado meta. A la bsqueda preferente por lo mejor que utiliza la funcin h(n) para elegir cul es el siguiente nodo que se va a expandir se la denomina bsqueda avara, por razones que resultarn evidentes. Dada una funcin heurstica h, el cdigo correspondiente a una bsqueda avara es el siguiente:
Funcin Bsqueda-avara (problema) responde con solucin o falla Responde con Bsqueda-preferente-por-lo-mejor(problema,h)
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
En otras palabras, si de lo que se trata es de encontrar la solucin de menos coste, entonces es razonable probar primero en el nodo cuyo valor de f sea el ms bajo. Lo interesante de esta estrategia es que no slo es razonable, sino que puede demostrarse que es completa y ptima, dada una sencilla restriccin de la funcin h. Tal restriccin consiste en escoger una funcin h que nunca sobreestime el coste que implica alcanzar la meta. A dicha funcin h se le conoce como heurstica admisible. Por naturaleza, este tipo de funciones heursticas son optimistas, pues consideran que el coste para resolver un problema es siempre inferior a lo que en realidad es. Tal optimismo se transfiere a la funcin f: Si h es aceptable, f(n) nunca sobreestimar el coste real de la mejor solucin que pase por n. A esta bsqueda preferente por lo mejor, en la que se utiliza f como una funcin de evaluacin y una funcin h aceptable, se le conoce como bsqueda A*. Funcin Bsqueda-A* (problema) responde con una solucin o falla Responde con Bsqueda-preferente por lo mejor (problema,g+h) Propiedades de A*: - ptima Si G es un estado meta ptimo, cuyo coste de ruta es f*, , y G2 un estado meta subptimo, es decir un estado meta cuyo coste de ruta es g(G2) > f*, supngamos que A* escogi a G2 de la lista de espera. Dado que G2 es un estado meta, la bsqueda habra concluido al escoger la solucin subptima. Se trata de demostrar que eso no es posible. En efecto, considrese un nodo n que en un momento dado es un nodo hoja de una ruta ptima para G (debe haber algn nodo as, a menos que ya se haya expandido toda la ruta, en cuyo caso el algoritmo ya habra respondido con G). Supuesto que h es aceptable, tendremos: f*.>= f(n) Adems, si n no es seleccionado para expansin sobre G2 , debemos tener f(n)>=f(G2) Combinando juntas esas dos desigualdades, se tiene: f*.>= f(G2) Pero como G2 es un estado meta, tenemos que h(G2)=0, por lo tanto f(G2)=g(G2). Y as, con base en lo supuesto se demuestra que: f*.>= g(G2) Lo anterior contradice la suposicin de que G2 es estado de meta subptimo, y por lo tanto, A* nunca seleccionar para expandir un estado meta subptimo. Por lo tanto, puesto que slo se produce una solucin despus de seleccionarla para efectuar una expansin, A* es un algoritmo ptimo. - completa Anteriormente se comprob que dado que A* expande los nodos por orden de f creciente, al final har una expansin que le permita llegar al estado de meta. Esto es
219
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
Existe un grupo de cuatro operaciones sencillas: 1- Mover el bloque de la derecha del hueco, hacia la izquierda. 2- Mover el bloque de la izquierda del hueco hacia la derecha. 3- Mover el bloque de arriba hacia abajo. 4- Mover el bloque de abajo hacia arriba. Adems para estos movimientos existen limitaciones, que son: 1- Limitacin geomtrica, ya que en los bordes del recinto, no se pueden dar los cuatro tipos de movimiento. 2- Restricciones en el planteamiento del problema, ya que puede que uno de los bloques que rodee el hueco, sea precisamente uno de los que no se pueden mover. Test del objetivo Para definir el objetivo, a la vez que las restricciones del problema, se ha definido una matriz objetivo de 8x4 enteros. En ella si aparece un nmero del 1 al 31 nos indica que en esa posicin debe acabar el bloque de ese nmero, si hay un 100 es indiferente qu bloque acabe en esa posicin, y si hay un 1000, ese bloque no se debe mover en el proceso, por lo que no debemos preocuparnos de si cumple o no cumple las expectativas (por definicin las cumplir, al no moverse de su sitio en todo el proceso).
221
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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 8 16 24 9 17 25 2 10 18 26 3 11 19 27 4 12 20 28 5 13 21 29 6 14 22 30 7 15 23 31
Es decir, queremos que los bloques nmeros 4, 5 y 9 (y el hueco) se queden en esa posicin sin tocar el bloque 13. Si definimos rea de trabajo como la mnima serie de columnas consecutivas del estado del nodo que engloban bloques objetivo, nuestra rea de trabajo ser:
224
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
1 8 16 24 9 17 25
2 10 18 26
3 11 19 27
4 12 20 28
5 13 21 29
6 14 22 30
7 15 23 31
Tambin podemos definir como rea de objetivo la mnima serie de columnas consecutivas del estado objetivo, que engloban a todos los bloques objetivo (y el hueco) que deben ser movidos.
X X X X X X X X X X X X X 9 X X X X 4 X X F13 5 X X X X X X X X X
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 X X X F F F F X X X X X 9 X X X X 4 X X F13 5 X F F F F X X X X
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 X X X F F F F X X X X X 9 X X X X 4 X X F13 5 X X X X X F F F F
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
En el primero de los puntos se han mostrado algunos ejemplos de robots manejados en aplicaciones con caractersticas especiales: Procesos flexibles de produccin con robots compartidos entre varios procesos y robots usados en procesos altamente variables. Se consigue la modificacin de programas complejos en las plantas industriales automticas fcilmente. Eso se logra con un programa que guarda las especificaciones en una tabla y los convierte en la RdP correspondiente, y despus la RdP en el programa de PLC. Esto tambin permite al sistema llevar a cabo automticamente los cambios en los parmetros del funcionamiento, segn los requisitos y el sistema de trabajo. Estos cambios son realizados en tiempo real (usando tcnicas Fuzzy y redes neuronales), de modo que la RdP (y los programas de control del proceso) evolucionan para conseguir una mejora por medio de la adaptacin a las condiciones cambiantes. Estas aportaciones tambin han sido estudiadas sobre procesos reales. Tambin se ha mostrado dentro de ese primer punto del tema que esa informacin lgica, que cambia dependiendo de las entradas y los estados internos, puede ser usada como restricciones o condiciones (funciones del estado interno), o prioridades (que a su vez pueden interpretarse como condiciones). Ambas pueden traducirse en nuevos elementos dentro de la RdP (arcos, lugares y transiciones), para que de esta manera pueda realizarse el anlisis de la actuacin del proceso con las restricciones simplemente a travs de la RdP modificada. La segunda parte del captulo muestra como pueden integrarse en todas estas aplicaciones mtodos de inteligencia artificial para buscar la mejor solucin cuando haya varias posibilidades o cuando no sepamos cmo conseguirla. Puesto que de IA no se ha tratado nada en el primer captulo, que es el que introduca a los temas principales de automatizacin, se comienza haciendo un repaso de los mtodos de bsqueda empleados en IA, al estilo de un Estado del Arte. Tras analizar los mtodos de bsqueda se ha implementado una aplicacin que emplea el ms apropiado para el movimiento automtico de los paquetes producidos y almacenados, mediante puentes gra o mediante otros tipos de robots. Esos mtodos pueden tambin emplearse para controlar las propias RdP cuando stas no sean deterministas (cuando la automatizacin controle parte de los eventos de su evolucin) y haya que buscar un camino para conseguir llevarlas al estado deseado.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 5: Implementacin de Tcnicas Avanzadas en la Automatizacin.
17. Artificial intelligence in perspective / edited by Daniel g. Bobrow (1994) 18. Artificial intelligence: methodology, systems, applications / edited by A.M. Ramsay (1996) 19. Artificial intelligence techniques in power systems / edited by Kevin Warwick, Aarthur Ekwue and Raj Aggarwal (1997)
229
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
control automtico de sistemas concurrentes de eventos discretos. El modelado y la automatizacin de esta clase de sistemas desarrollados usando RdP posibilitan el anlisis del sistema desde varios puntos de vista (elementos cclicos, reas de la planta, produccin de material) proporcionando altas prestaciones al control automtico. Este apartado describe el anlisis del comportamiento de las RdP y la implementacin en el modelado y control automtico de aquellos sistemas que incluyen un flujo concurrente con subsistemas cclicos.
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
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
PROCESS
CYCLE 1
CYCLE
CYCLE 2
INPUT
OUTPUT
INPUT
OUTPUT
Figuras 1a y 1b. Diagrama de flujo de material (o piezas) a travs de ciclos y de los subciclos que incluyen.
Supongamos un sistema simple donde un contenedor debe llenarse de n piezas para seguir un proceso. El ciclo del contenedor y el flujo de las piezas son considerados en la Figura 2a que muestra ambos ciclos. Hay una clara sincronizacin: mientras no hay ningn contenedor ni n elementos, ni p1 ni p2 evolucionarn. Esto se muestra en Figura 2b donde la RdP modela el sincronismo de ambos ciclos. Esta RdP puede sustituirse por la de la Figura 2c que es similar, cuando p3 y p4 han sido combinadas en p5. Sin embargo, en Figura 2c podra ser interesante prestar atencin al significado de las marcas. Cada marca en el p1 representa un elemento, cada marca en el p2 representa un contenedor, y cada marca en el p3 representa un contenedor cargado con n elementos. As, podra interpretarse que las Figuras 2a y 2b representan cada subsistema, y la Figura 2c el sistema entero.
P1
P2
n t1
t1
P1 n t1 n
P2
P1 n
P2
t1
t1
P3
P4
P3
P4
P5
Este modelo del sistema entero es correcto, y puede implementarse en un dispositivo de la manera mencionada (como se muestra en la Figura 2c). Pero normalmente se requiere saber en tiempo real qu contenedor est en cada rea del proceso, o tener un conocimiento histrico del contenedor dnde cada elemento se ha producido (tracking). En este caso el anlisis es realizado desde el punto de vista de las piezas (o el material). Entonces esto se debe desarrollar a travs de alguna funcin adicional cuando se implemente la RdP. Esto puede ser modelado con RdP coloreadas (CRdP), dnde cada marca (o grupo de marcas) tiene un color que la diferencia del resto de las marcas (o de los grupos). El problema es implementar la CRdP en el dispositivo de control (por ejemplo PLCs [2,4] o PCs[1]). Si el problema se resuelve por medio de un programa desarrollado con un lenguaje de programacin, una buena solucin puede ser implementar las marcas que corresponden a los contenedores como registros, con un campo que es un vector de n espacios de tipo "elemento". Como esos contenedores puede englobarse en otros ms grandes (Figura 3),
233
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
estos ltimos podran ser registros de m registros, y podra ser posible proceder de la misma manera a ms niveles.
INPUT
P1 n t1
P2
INPUT
P4
P3 m
t2 P5 t5 m P6 n P9
OUTPUT
t3
t4
P5
P3 P1
124 122 7 123 121
P3 Containers P2 P4
Containers of containers
4
Parts
P8
P7
126 125 128 127 122 121 124 123
P7 P6
124 122 123 7 121 128 126 127 8 125
P9
t6 P8
OUT PUT
P6
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.
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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 ....... 121 122 123 124 125 126 127 128 .......
Recip. 1 2 3 4 5 6 7 8
part 4=n .... .... .... .... .... .... 124 128
Containers 1,2,3,4,5,6 -
235
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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.
1000
Temperatura (C) 0
Longitud (m)
120 m
Estas dos automatizaciones son las principales de la planta, y tienen la especial caracterstica de contar con unos parmetros (temperatura, humedad y velocidad del aire) que varan a lo largo del recorrido pero que deben permanecer constantes (al menos en cada ciclo) en cada punto del recorrido, siguiendo la consigna de las curvas de funcionamiento preestablecidas. Estas curvas de funcionamiento son de especial importancia, puesto que una desviacin en alguno de los puntos podra ocasionar la fractura del material. Adems son curvas en cuyo control no es necesario una excesiva velocidad (no es importante optimizar el tiempo de respuesta), pero sin embargo s es importante que no existan sobreoscilaciones en ciertos puntos y mucho ms que se siga fielmente la consigna (es decir, que el error sea cero). Una sobreoscilacin en la temperatura de la zona de coccin podra llevarnos a fundir el material. En la zona de enfriamiento se debe tener especial cuidado en realizar una transicin suave por la temperatura de 573QC , ya que es la zona de transicin entre la cristalizacin y la cristalizacin , por lo que en esa zona lo importante es anular totalmente el error. En el secadero, un mal seguimiento de las consignas durante el primer 5% de perdida, que es cuando se produce la contraccin, ocasionara el agrietamiento del material o su rotura. Por lo tanto comprobamos que en los controles de esta parte de la planta la principal condicin es el fiel seguimiento de la consigna, intentando eliminar el error. Adems el quemado en el horno se realiza a travs de inyectores situados a unos 1,5 m de distancia durante ms de 40 m. y en cada una de los lugares de inyeccin se dispone de sensores de todos los parmetros requeridos, y en todas las direcciones. Por lo tanto cuando hablamos de una curva de temperatura o de humedad no estamos hablando de un slo control sino de un control para cada punto de inyeccin. Dichas curvas son constantes a lo largo de cada ciclo de produccin, pero se deben modificar en funcin de la carga (la masa que pase por unidad de tiempo), el producto (el tipo de elemento cermico que se est fabricando en ese momento) y de la materia prima (la calidad y tipo de la arcilla empleada). Por tanto se debe memorizar las curvas
237
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
de referencia en funcin de dichas caractersticas, as como su comportamiento. Se hace evidente la necesidad de contar con control adaptativo, y de disponer de sistemas de almacenamiento de la gran cantidad de parmetros que componen las curvas de consigna. Pero existen muchos otros puntos, adems de los del secadero y el horno, que precisan de controles con distintas caractersticas (menores tiempos de respuesta, sobreamortiguados, etc.), por lo que nuestro sistema de control debe ser capaz de adaptarse a diversos modelos y configuraciones.
238
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
17 8 7 6 5 15 14 4 12 4 3 1 2 13 12 22 11 20 21 10 9 19 18
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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.
Wait for piece Abailable piece Catch piece End_catch Wait for place Free place Move to destination End_move
Fig. 8. Control coordinado de los cuatro robots Tab = Transicin "Robot a en proceso b"
240
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Wait in the beginning Loaded (wagon/pack.) Move forward End_move Wait while unloading End_unloading Move-back End_move-back
9 6 2 7 4 3 1
Figura 10: Representacin de los 10 ciclos individuales
5 10
241
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Wait in load area Wagon full with pieces Move forward until ferry platform End_move_forward Wait to ferry platform Free ferry platform Load in ferry platform End_load Wait End_advance_ferry_platform Unload of ferry platform End_unload Process of the pieces End_process Similar to the above mentioned, with similar route in the other ferry-platform and with unload of pieces instead of load
242
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Wait in load area Full with pieces Advance to gantry crane Gantry crane free Cycle gantry crane End_cycle gantry crane Cycle trays wagon End_cycle trays wagon Cycle gantry crane 2 End:cycle gantry crane 2 Advance until area of load End_advance Unload pieces Empty of pieces Advance to load area End_advance
Fig. 14. Ciclo de las bandejas En estos ciclos de trabajo, pueden usarse varias polticas. Por ejemplo, si en el ciclo de los carros de las bandejas hay ms carros que los justos en el proceso ms uno, entonces en el rea correspondiente habr un carro esperando, a modo de buffer (tambin conocido como pulmn), y la RdP ser ligeramente diferente. Hay tambin buffers para las bandejas y para los carros de las piezas. El ciclo de trabajo de los carros de las piezas consiste en una sucesin compuesta de 1, 2, 3, 4 y 5 en la Figura 15, y su RdP se muestra en Figura 11. Con el ciclo de los carros de las bandejas conseguimos los mismos resultados que en el ciclo anterior (6, 7, 8, 9, 10 y 11 en Figura 15 y RdP en Figura 13). Tambin es necesario coordinarlo con otros ciclos; en este caso, con el ciclo de las bandejas. Y el ciclo de las bandejas (1 a 11 en Figura 16) tambin debe ser modelado por medio de una RdP coloreada (Figura 14) si queremos saber qu bandeja est en un lugar dado o en un carro de bandejas concreto.
243
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
3 8 7 6 1 11 10 9 5 4
6 5 4 9 3 2 1 11 10 8 7
244
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Trays cycle
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. Obteniendo esta informacin directamente de la RdP global durante su evolucin, pero usando como tokens en la implementacin de la RdP un tipo de datos en forma de registro coloreado.
Este registro coloreado simplemente consiste en un dato similar a un token coloreado pero conteniendo la informacin sobre el subtokens de que est compuesto. Uniendo todos los subsistemas anteriores, se obtiene la RdP entera para controlar el sistema y sus elementos, que es la que se muestra en la Figura 19 de la pgina siguiente. (Figura 19: Coordinacin de los subsistemas que componen la automatizacin)
245
ESPERAR ROBOT 1 PUESTO 1 LIBRE FIN AVANZAR ZONA PUESTO 2 CARGA LIBRE LIBRE COGER LADRILLO ladrillos en bandeja descargando COGER LADRILLO huecos en bandeja descargando LADRILLO CINTA 3 LIBRE EN A i huecos en zona de espera ciclo H j carros en zona de espera ciclo H ESPERAR AVANZAR ZONA DE ESPERA CICLO H
CARRO CARGADO
GALLETERA
ESPERAR LADRILLO
GENERACIN DE LADRILLOS
TEMP FIN COGER FIN COGER FIN ESPERAR TRANSBORDADOR 1 MOVER LADRILLO A PUESTO 1 MOVER LADRILLO A VAGN FIN SUBIR REGRESAR A ORIGEN m 8 k FIN VOLVER FIN VOLVER ESPERAR ROBOT 2 ROBOT 3 FIN REGRESAR FIN SUBIR AVANZAR n PUESTO 2 LIBRE ladrillos en carro cargando huecos en carro cargando huecos en zona de espera a descarga r ladrillos en carro descargando m carros en zona de espera a descarga s ZONA DESCARGA OCUPADA AVANZAR HASTA ZONA DE DESCARGA ZONA DESCARGA OCUPADA ESPERAR DESCARGA CARRO ZONA CARGA OCUPADA ESPERAR BANDEJA BANDEJA PREPARADA AVANZAR BANDEJA PREPARADA n de bandejas en cinta 2 CINTA 2 LIBRE ESPERAR DESCARGA DE LADRILLOS FIN DESCARGA DE LADRILLOS MOVER BANDEJA A PULMN FIN MOVER CINTA 1 CINTA 4 CINTA 2 ESPERAR BANDEJA PREPARADA VAGN DE LADRILLOS ESPERAR ESPERAR AVANZAR A ZONA DE CARGA ZONA CARGA OCUPADA ESPERAR EN ZONA DE CARGA FIN AVANZAR CINTA B n huecos en pulmn g h n bandejas en pulmn FIN AVANZAR AVANZAR HASTA ZONA DE ESP DESCARGA n REGRESAR A ORIGEN AVANZAR TRANSBORDADOR 2 PUESTO 2 LIBRE FIN REGRESAR CARRO SUBE A TRANSBORDADOR 2 TRANSBORDADOR 2 FIN CICLO H ESPERAR EN ORIGEN REGRESAR A ORIGEN CARROS EN CICLO H FIN AVANZAR AVANZAR TRANSBORDADOR 1 n ladrillos en cinta B FIN MOVER VOLVER A ORIGEN VOLVER A ORIGEN FIN MOVER FIN REGRESAR CARRO SUBE A TRANSBORDADOR 1 COGER LADRILLO ESPERAR EN ORIGEN
n de ladrillos en cinta A
AVANZAR
LADRILLO EN A
ESPERAR
CINTA A
PULMN
ESPERAR BANDEJA
CINTA 3 LIBRE m
CINTA 3 LIBRE
CINTA 4 LIBRE
REPOSO
CINTA 1 LIBRE
n bandejas en cinta 4
ESPERAR BANDEJA
ESPERAR
COGER BANDEJA
PALET
FIN COGER
COGER LADRILLO
FIN COGER MOVER LADRILLO A PALET FIN COGER FIN MOVER MOVER LADRILLO A PUESTO 4 VOLVER A ORIGEN FIN MOVER
FIN AVANZAR
DEJAR BANDEJA FIN AVANZAR n de huecos en secadero e f n de vagones en secadero FIN CICLO SECAD. FIN COGER COGER BANDEJA CINTA 1 LIBRE
FIN DEJAR
FIN VOLVER VOLVER A ORIGEN ROBOT 5 FIN VOLVER huecos en palet ladrillos en palet
FIN REGRESAR c n bandejas en vagn descargando d n de vagones en zona de espera a descarga ZONA DESCARGA OCUPADA AVANZAR ZONA DESCARGA ZONA DESCARGA OCUPADA ESPERAR DESCARGA p VAGN VACO p n huecos en vagn descargando
AVANZAR n ladrillos en cinta C ROBOT 4 FIN AVANZAR q ESPERAR MIENTRAS CARGAN DEJAR BANDEJA PALET CARGADO FIN DEJAR ESPERAR q REGRESAR A ORIGEN PUESTO 5 LIBRE FIN REGRESAR FIN AVANZAR COGER PALET CARGADO AVANZAR FIN COGER PUENTE GRUA 2 PUESTO 5 LIBRE AVANZAR ZONA EMPAQUETADO
PUENTE GRUA 1
AVANZAR A ZONA ESPERA CARGA FIN AVANZAR n huecos en zona de espera a a carga n vagones en b zona de espera a carga ZONA CARGA OCUPADA AVANZAR ZONA CARGA VAGN DE BANDEJAS
CINTA C
CARGAR PALET VACO FIN CARGAR REGRESAR A ORIGEN FIN REGRESAR PALET n palets producidos
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
247
ESPERAR R3_1 VL1 ROBOT 1 BA VLE E3_1 VLC BB huecos en zona de espera ciclo H T1_1 carros en zona de espera ciclo H i E3_2 j PUESTO 1 LIBRE FIN AVANZAR ZONA CARGA OCUPADA R3_2 ladrillos en bandeja descargando R2_2 COGER LADRILLO CLR2 huecos en bandeja descargando R2_1 ESPERAR AZECH AVANZAR ZONA DE ESPERA CICLO H
CARRO CARGADO
GALLETERA
ESPERAR LADRILLO CLR3 LADRILLO CINTA 3 LIBRE EN A A C3A R3A BD2 BD1 FIN COGER FIN ESPERAR TRANSBORDADOR 1 MLP1 R2_3 MLR2 T1_4 FIN SUBIR T1A T1_3 ROT1 m 8 FIN VOLVER R2C R3C REGRESAR A ORIGEN ROR1 ROBOT 2 ROBOT 3 BB FIN REGRESAR T2D B2 n ROT2 FIN AVANZAR CC2 VL3 CC1 huecos en zona de espera a descarga r E2_2 m VL4 CD1 m ladrillos en carro descargando carros en zona de espera a descarga E2_1 s T2B AZEDVL ladrillos en carro cargando huecos en carro cargando BB PULMN CINTA B n huecos en pulmn g h PU1 PU2 n bandejas en pulmn PUESTO 2 LIBRE n REGRESAR A ORIGEN T2_3 AAT2 AVANZAR TRANSBORDADOR 2 T2_4 FIN SUBIR T2A ACB AVANZAR R1C FIN REGRESAR T2_2 CARRO SUBE A TRANSBORDADOR 2 CST2 PUESTO 2 LIBRE TRANSBORDADOR 2 FIN CICLO H FCH ESPERAR EN ORIGEN FIN VOLVER ESPERAR B1 T2_1 VL2 k CARROS EN CICLO H FIN AVANZAR T1B REGRESAR A ORIGEN AVANZAR AT1 TRANSBORDADOR 1 B3 R3B MOVER LADRILLO A BANDEJA CARGANDO MLBC VOR3 VOLVER A ORIGEN FIN MOVER R1B R3_4 R2_4 VOLVER A ORIGEN VOR2 FIN MOVER n ladrillos en cinta B FIN MOVER R2B MOVER LADRILLO A VAGN FIN COGER R1A MOVER LADRILLO A PUESTO 1 R3_3 T1D FIN REGRESAR T1_2 CST1 CARRO SUBE A TRANSBORDADOR 1 R2A COGER LADRILLO CLR1 FIN COGER ESPERAR EN ORIGEN COGER LADRILLO
GENERACIN DE LADRILLOS
R1_1
PUESTO 2 LIBRE
TEMP
C_A
n de ladrillos en cinta A
R1_2
LADRILLO EN A
ACA
AVANZAR
CA1
R1_3
LADRILLO EN A
ESPERAR
CA2
R1_4
CINTA A
BC1
BC2
ESPERAR BANDEJA
C3_1
C3A
CINTA 3 LIBRE
ZONA DESCARGA OCUPADA AVANZAR HASTA ZONA DE DESCARGA AZDVL ZONA DESCARGA OCUPADA VL5 ESPERAR DESCARGA CARRO ZONA CARGA OCUPADA
VLB
MBPC3
C3_2
VLB
C3A ESPERAR BANDEJA C1_1 C2_1 ESPERAR BANDEJA PREPARADA C2B C2_2 ESPERAR C4B n de bandejas en cinta 2 C2B C2A C_2_5 C1_3 FIN DESCARGA DE LADRILLOS C2_4 C2_3 CINTA 2 LIBRE ESPERAR DESCARGA DE LADRILLOS BANDEJA PREPARADA C1_2 BANDEJA PREPARADA AVANZAR AC2
VLC AVANZAR A ZONA DE CARGA AZCVL ZONA CARGA OCUPADA VLC VL7 ESPERAR EN ZONA DE CARGA
C3_3
C4A
CINTA 4 LIBRE
C1A
CINTA 1 LIBRE
AAC4
C3_4
C4_4 C4_2
n bandejas en cinta 4
VAGN DE LADRILLOS
CINTA3 C4_3 C2A FIN MOVER C2C CINTA 1 CINTA 4 CINTA 2 PG1_2 CA VBB CLR4 COGER LADRILLO ESPERAR ESPERAR QUE COJAN BANDEJA CINTA 2 LIBRE
ESPERAR BANDEJA
R5_1 R4_1
ESPERAR
CBPG1
COGER BANDEJA
PALET
PUESTO 5 LIBRE
PE CB
PG1A VB1 VC1 p n huecos en vagn cargando VB2 VC2 n bandejas en vagn cargando FIN AVANZAR VBD n de huecos en secadero e f VS FIN CICLO SECAD. FCS FIN COGER AZED PG2A VB3 AVANZAR A Z.ESP.DESC. FIN AVANZAR c ED1 ED2 ZONA DESCARGA OCUPADA VBA VD2 PG2_4 p VD1 FIN DEJAR PG2C DEJAR BANDEJA DBPG2 VB4 AZDVB ZONA DESCARGA VBA OCUPADA VB5 p VAGN VACO ESPERAR DESCARGA AVANZAR ZONA DESCARGA n bandejas en vagn descargando d n de vagones en zona de espera a descarga VBE PG2_3 AVANZAR APG2 PG2_2 n de vagones en secadero HS COGER BANDEJA CINTA 1 LIBRE AS AVANZAR A SECADERO PG2_1 ESPERAR VAGN LLENO p
FIN COGER
PUESTO 4 LIBRE
R5_2
R4_2
FIN COGER
R5A
APG1
AVANZAR
PG1_3
MOVER LADRILLO A PALET FIN MOVER MLP4 MOVER LADRILLO A PUESTO 4 R4_3 R5_4 VOLVER A ORIGEN R5B
MLP
PG1B
FIN AVANZAR
DBPG1
DEJAR BANDEJA
PG1_4
VOR5
PG1C
FIN DEJAR
FIN VOLVER
R5C
ROPG1
REGRESAR A ORIGEN
PG1_5
ROBOT 5 R4C FIN VOLVER n ladrillos en cinta C ROBOT 4 FIN AVANZAR PG2B huecos en palet PA1 C__3 q P1 ESPERAR MIENTRAS CARGAN PALET CARGADO ESPERAR C_1 q P2 AVANZAR ZONA EMPAQUETADO AZE ladrillos en palet
PG1D
FIN REGRESAR
PA2
PUENTE GRUA 1
REGRESAR A ORIGEN
ROPG2
CB
PUESTO 5 LIBRE P3 FIN REGRESAR PG2D ACC PUENTE GRUA 2 CB AVANZAR C_2
FIN AVANZAR
PA
VB6 FIN AVANZAR n huecos en zona de espera a a carga E1_1 n vagones en b zona de espera a carga E1_2 ZONA CARGA OCUPADA VB7 AVANZAR ZONA CARGA VBB
CPC PB
CINTA C
CARGAR PALET VACO CPV FIN CARGAR AZCVB PC P5 REGRESAR A ROP ORIGEN FIN REGRESAR PALET PD n palets producidos PP
VAGN DE BANDEJAS
ROBOT 1 ROBOT 2 TRANSBORDADOR 1 COGER LADRILLO COGER LADRILLO AVANZAR A ZONA DE ESPERA CICLO HORNO CARRO SUBE A TRANSBORDADOR 1 TIM 26 TIM 14 FIN TEMP FIN COGER FIN COGER MOVER LADRILLO A PUESTO 1 FIN SUBIR MOVER LADRILLO A CARRO TIM 5 CINTA B TIM 6 TIM 14 AVANZAR FIN TEMP FIN TEMP TIM 3 TIM 4 AVANZAR FIN AVANZAR FIN TEMP VOLVER A ORIGEN TIM 27 TIM 5 PUESTO 1 LIBRE TIM 6 TIM14 FIN TEMP FIN TEMP FIN TEMP AVANZAR A ZONA DE ESPERA A DESCARGA FIN REGRESAR TIM15 FIN AVANZAR REGRESAR A ORIGEN REGRESAR A ORIGEN FIN TEMP FIN TEMP FIN AVANZAR FIN MOVER VOLVER A ORIGEN AVANZAR A ZONA DE ESPERA A DESCARGA FIN TEMP FIN MOVER n bandejas en cinta B>0 TIM 15 AVANZAR TRANSBORDADOR AVANZAR TRANSBORDADOR AVANZAR A ZONA DE ESPERA CH FIN SUBIR FIN AVANZAR FIN TEMP FIN TEMP FIN TEMP TIM 15 CARRO SUBE A TRANSBORDADOR 2 TRANSBORDADOR 2
ROBOT 3
CINTA A
COGER LADRILLO
TIM 5
FIN TEMP
AVANZAR
TIM 1
FIN COGER
FIN TEMP
LADRILLO EN A
MOVER LADRILLO
TIM 2
ESPERAR
ESPERAR
FIN TEMP
FIN MOVER
REGRESAR A ORIGEN
TIM 2
FIN TEMP
FIN TEMP
FIN REGRESAR
FIN VOLVER
FIN VOLVER
MOVER BANDEJA
FIN REGRESAR
ESPERAR
TIM 16 CINTA 4 CINTA1 AVANZAR n bandejas en cinta 4>0 AVANZAR A ZONA DESCARGA FIN DEJAR (PUENTE GRUA 2) TIM 19 TIM 32 FIN TEMP FIN TEMP FIN TEMP TIM 10 AVANZAR n bandejas en cinta 2>0 CINTA 2
FIN TEMP
AVANZAR
TIM 18
AVANZAR A CINTA 4 FIN TEMP ESPERAR CINTA 2 LIBRE AVANZAR CINTA 2 LIBRE SET ZONA DESCARGA OCUPADA BANDEJA PREPARADA
FIN TEMP
TIM 28
TIM 22
BANDEJA PREPARADA
FIN TEMP FIN TEMP FIN CICLO HORNO AVANZAR A ZONA CARGA SET ZONA CARGA OCUPADA
FIN TEMP
CINTA 3 LIBRE
CINTA 1 LIBRE ESPERAR BANDEJA EN CINTA 2 LIBRE
FIN MOVER
ROBOT 4
COGER LADRILLO
TIM 23 COGER BANDEJA FIN TEMP FIN TEMP TIM 7 SET ZONA CARGA OCUPADA FIN TEMP ESPERAR ZONA DE CARGA FIN COGER ESPERAR DESCARGA SET ZONA DESCARGA OCUPADA FIN TEMP TIM 8
TIM 24
COGER BANDEJA
TIM 12
FIN COGER FIN COGER AVANZAR ZONA EMPAQUETADO MOVER LADRILLO A PALET MOVER LADRILLO A PUESTO 4 TIM 13 TIM 11
FIN TEMP
FIN COGER
AVANZAR AVANZAR A SECADERO TIM 7 TIM 29 TIM 30 AVANZAR A ZONA DE ESPERA A CARGA AVANZAR
FIN TEMP
TIM 12
FIN AVANZAR
FIN AVANZAR
DEJAR BANDEJA AVANZAR A SECADERO ESPERAR AVANZAR A ZONA DE ESPERA CARGA ESPERAR
FIN COGER
TIM 12
FIN VOLVER
FIN TEMP
CINTA C
TIM 11 FIN DEJAR AVANZAR n bandejas en cinta C>0 FIN TEMP REGRESAR A ORIGEN
FIN DEJAR
carros en ciclo>0
TIM 9 FIN TEMP FIN TEMP TIM 7 FIN TEMP FIN AVANZAR FIN CICLO SECADERO FIN TEMP PUESTO 4 LIBRE AVANZAR A ZONA DE ESPERA DESCARGA
TIM 10
AVANZAR
FIN CARGAR
TIM 12
FIN TEMP
REGRESAR A ORIGEN
FIN TEMP
FIN REGRESAR FIN MOVER (ROBOT 4)
LADRILLO EN PUESTO 5
ESPERAR
FIN REGRESAR
LADRILLO EN PUESTO 4
PUESTO 5 LIBRE
FIN REGRESAR
PALET
ROBOT 1 ROBOT 2 TRANSBORDADOR 1 CLR1 COGER LADRILLO CLR2 CST1 SR2_1 SVL1 TIM 26 TSVL1 ST2_1 FIN TEMP TST1 FIN TEMP TST2 SVL2 T1A ST1_2 AVANZAR A ZONA DE ESPERA CH AZECH AT1 AT2 SVL3 TST1 TIM 14 ST1_3 TST2 ST2_3 TIM 15 ACB AVANZAR FIN TEMP TSR2 TST1 FIN TEMP TST2 FIN TEMP AVANZAR A ZONA DE ESPERA A DESCARGA T1B ST2_4 SVL4 TIM 27 ROT1 SR2_5 TIM 6 TSR2 TST1 R3B FIN MOVER (ROBOT 3) FIN COGER (ROBOT 2) R2A FIN TEMP TSR2 TST1 PUESTO 2 LIBRE BB SR2_6 T1D FIN REGRESAR ST1_6 T2D FIN TEMP TST2 FIN TEMP AVANZAR A ZONA DE ESPERA A DESCARGA AZEDVL ESPERAR SVL6 CINTA 2 CINTA1 n bandejas en cinta 4>0 TSC22 AC4 TSC21 TSVL3 SVL7 VL2 SCH1 TSVL3 FIN TEMP FIN TEMP VLB MBP AZCVL TSC1 FIN TEMP SC2_3 SC2_6 VLB FIN TEMP TSC22 SVL10 SC2_7 SIMULACION VAGON DE BANDEJAS BANDEJA EN CINTA 2 LIBRE TIM 20 TSC22 RESET ZONA DESCARGA OCUPADA AVANZAR A ZONA CARGA MOVER BANDEJA A PULMON SET ZONA DESCARGA OCUPADA SVL8 SCH2 FIN CICLO HORNO FCH SVL11 SET ZONA CARGA OCUPADA VLC TSCH FIN TEMP TSVL4 C2A CINTA 2 LIBRE ESPERAR CINTA 2 LIBRE SC1_1 TSC21 FIN TEMP AVANZAR SC2_2 SC2_5 BANDEJA PREPARADA C2B FIN TEMP TSC22 TIM 32 TIM 19 SC2_! AVANZAR AVANZAR SC4_4 SC4_1 FIN TEMP TSC41 TSC41 TIM 17 FIN DEJAR PG2C (PUENTE GRUA 2) SC2_4 TIM20 AC2 AZDVL AVANZAR A ZONA DESCARGA C4_4 AC2 AVANZAR n bandejas en cinta 2>0 C2_5 SVL5 TIM14 ST1_5 TST2 ST2_5 FIN AVANZAR VLD TIM15 REGRESAR A ORIGEN ROT2 REGRESAR A ORIGEN FIN TEMP TSVL2 TSVL2 TSCB1 FIN TEMP TSCB2 VOLVER A ORIGEN VOR2 FIN TEMP FIN AVANZAR ST1_4 T2B FIN AVANZAR AZEDVL SR2_4 FIN MOVER R2B R3B R1B TSCB1 TIM 3 SCB1 SCB4 FIN MOVER R3_4 TXCB2 TIM 4 ACB AVANZAR n bandejas en cinta B>0 B_3 CINTA B SR2_3 TIM 6 TSR2 AVANZAR TRANSBORDADOR AVANZAR TRANSBORDADOR ST2_2 MOVER LADRILLO A CARRO MLR2 TSR3 TIM 5 R3_3 FIN SUBIR T2A FIN SUBIR FIN AVANZAR VLE FIN TEMP SR2_2 R2A MLP1 MLBC MOVER LADRILLO A PUESTO 1 FIN COGER TSVL1 TSR1 FIN TEMP R3A R3_2 FIN COGER TSR2 TSR3 TST1 ST1_1 TST2 FIN TEMP TIM 14 TIM 15 TIM 6 TSR2 AZECH R3_1 AVANZAR A ZONA DE ESPERA CICLO HORNO CARRO SUBE A TRANSBORDADOR 1 CARRO SUBE A CST2 TRANSBORDADOR 2 CLR3 COGER LADRILLO TRANSBORDADOR 2
ROBOT 3
CINTA A
COGER LADRILLO
SR1_1
TIM 2
TSR1
TSR3
TIM 5
ACA AVANZAR
FIN TEMP
SCA1
SR1_2
FIN COGER
TSCA
FIN TEMP
LADRILLO EN A
SCA2
MOVER LADRILLO
SR1_3
TIM 2
TSR1
ESPERAR
ESPERAR
SCA3
FIN TEMP
SR1_4
FIN MOVER
TIM 2
TSR1
TIM 5
R3_5
LADRILLO EN PUESTO 2
CINTA3
FIN TEMP
TSR1
FIN REGRESAR
FIN VOLVER R2C
MBPC3
MOVER BANDEJA
FIN REGRESAR
ST2_6
TSC31 CINTA 4
TIM 16
SC3_1
AC4
AVANZAR
SC3_2
TSC42
TIM 18
AAC4
AVANZAR A CINTA 4
TSCH TIM 28
TSC32
TIM 22
SC3_3
C4A CINTA 4 LIBRE SC4_5 SC4_2 TSC1 TIM 21 SC1_2 TSC1 PG1A FIN COGER (PUENTE GRUA 1)
C4B
BANDEJA PREPARADA
AC1
TSC32
FIN TEMP
TSC32 ESPERAR
CINTA 3 LIBRE
SC4_6 SC4_3 C1A CINTA 1 LIBRE SC1_3
CINTA 1 LIBRE
C3A
CINTA 3 LIBRE
SC3_4
SVL9
AZECH
SVB1 SVB4 AVANZAR ZONA DESCARGA AZDVB CLR4 COGER LADRILLO PUENTE GRUA 2
ROBOT 4
PUENTE GRUA 1 AZCVB AVANZAR ZONA CARGA TSVB2 TSR4 COGER BANDEJA CBPG2 TSR4 FIN TEMP SPG2_1 VBB SET ZONA CARGA OCUPADA SVB3 SVB6 FIN TEMP TSPG2 EZCVB SPG2_2 FIN COGER PG2A ESPERAR ZONA DE CARGA EDVB MLP4 MOVER LADRILLO A PUESTO 4 ESPERAR DESCARGA R4A SET ZONA DESCARGA VBA OCUPADA TIM 7 TSPG2 TSVB1 FIN TEMP FIN TEMP TSVB2 TIM 8 SR4_1
COGER LADRILLO
CLR5
SR5_1
TIM 13
COGER BANDEJA
CBPG1
SPG1_1
TIM 12
TSPG1
FIN COGER
R5A AVANZAR ZONA EMPAQUETADO MOVER LADRILLO A MLP PALET SR5_3 TIM 13 TSR5 SP1 TIM 11 TSP AZE
FIN TEMP
TSPG1
SPG1_2
FIN COGER
PG1A
AVANZAR AVANZAR APG2 AS SPG2_3 TIM 30 TSVB4 FIN TEMP TSPG2 TIM 7 TSPG2 AVANZAR A SECADERO TIM 29 SVB7 SVB10 AVANZAR A ZONA DE AZECVB ESPERA A CARGA
APG1
TSR4
TIM 8
FIN TEMP SR4_3 FIN TEMP TSR4 FIN TEMP SR5_4 R4B FIN MOVER SR4_4 VOLVER A ORIGEN VOR5 VOR4 VOLVER A ORIGEN SR5_5 TIM 13 TSR5 FIN TEMP SP3 FIN MOVER R5B TSR5 SP2
TSP
SPG1_3 TSVB3
TIM 12
TSPG1
FIN AVANZAR
PA
TSPG1
CPC
SPG1_4 VBD FIN AVANZAR SVB8 SVB11 FIN AVANZAR VBC SPG2_4
TSP DEJAR BANDEJA DBPG2 TSR4 TIM 8 SR4_5 FIN TEMP TSR5 SP4 TIM 7 TSPG2 TSR4 FIN TEMP FIN VOLVER SR5_6 FIN TEMP TSPG2 R4C FIN VOLVER
DEJAR BANDEJA AS AVANZAR A SECADERO ESPERAR AVANZAR A ZONA AZECVB DE ESPERA CARGA ESPERAR
DBPG1
SR4_6 CINTA C R5C
FIN COGER
PB
TIM 12
TSPG1
SPG2_5
CPV
FIN TEMP
TSPG1
FIN DEJAR
PG1C
SPG2_6
SP5 FIN DEJAR PG2C ACC AVANZAR REGRESAR A ORIGEN ROPG2 n bandejas en cinta C>0 C3
TIM 11
TSP
ROPG1
SCS1
TSP
SPG1_7
TIM 12
TSPG1
TSVB5
FIN TEMP
FIN TEMP
TSCS
SPG2_7
TIM 7
TIM 10
ACC AVANZAR
SP6
FIN CARGAR
PC
FIN TEMP FIN CICLO SECADERO FCS FIN TEMP TSPG2 CA PUESTO 4 LIBRE SPG2_8
TSCC2
REGRESAR A ORIGEN
ROP
TSPG1 VBE
FIN REGRESAR PG2D R4B FIN MOVER (ROBOT 4)
SCC_3 SCC_5
LADRILLO EN PUESTO 5
SPG1_8
AZED ESPERAR
FIN REGRESAR
PG1D
TIM 11
TSP
SVB15 SCC_1
FIN TEMP
TSP
LADRILLO EN PUESTO 4
SCC_6
PUESTO 5 LIBRE
CB SP8
FIN REGRESAR PD
PALET PE
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Pero de la automatizacin que tenemos se puede hacer un estudio mucho ms profundo. Por ejemplo, un anlisis detallado revela que en realidad la automatizacin consiste en una serie de grupos o bloques que van pasando tokens desde el principio hasta el final, desde los buffers de entrada hasta los de salida. Los grupos se muestran en la Figura 23, y esta observacin resulta muy interesante, puesto que para obtener mayor produccin vemos que lo que hay que hacer es simplemente mejorar el grupo que sea ms lento. De esta manera, podemos simular (de cualquiera de las formas estudiadas a lo largo de esta tesis) cada uno de los grupos por separado, para ver la velocidad de cada uno. Como experiencia en automatizaciones industriales de varios procesos fuertemente interconectados, debo indicar que muchas veces se quiere mejorar la produccin pero no se sabe qu hay que hacer para ello. Es posible que aumentar el nmero de vagones no mejore en nada el proceso, si el cuello de botella estaba en otro sitio que no se ve afectado. Las siguientes figuras corresponden a cada uno de los grupos por separado, en la que se ha incluido una imagen de cmo son fsicamente, para indicar dnde estn los sensores y dems elementos de que constan. (Figura 23: Grupos o bloques de la automatizacin) (Figura 24: Grupo Galletera, Robot 1 y Cinta A) (Figura 25: Grupo Cinta 3, Cinta 4 y Puente Gra 1) (Figura 26: Grupo Vagn de Bandejas) (Figura 27: Grupo Cinta 1, Cinta 2 y Puente Gra 2) (Figura 28: Grupo Robot 2, Robot 3 y Cinta B) (Figura 29: Grupo Vagn de ladrillos) (Figura 30: Grupo Robot 4, Robot 5, Cinta C, Palets)
251
ESPERAR ROBOT 1 PUESTO 1 LIBRE FIN AVANZAR ZONA PUESTO 2 CARGA LIBRE LIBRE COGER LADRILLO LADRILLO CINTA 3 LIBRE EN A COGER LADRILLO i huecos en zona de espera ciclo H j carros en zona de espera ciclo H ESPERAR AVANZAR ZONA DE ESPERA CICLO H
CARRO CARGADO
GALLETERA
ESPERAR LADRILLO
GENERACIN DE LADRILLOS
TEMP FIN COGER FIN COGER FIN ESPERAR TRANSBORDADOR 1 MOVER LADRILLO A PUESTO 1 MOVER LADRILLO A VAGN FIN SUBIR REGRESAR A ORIGEN m 8 k FIN VOLVER FIN VOLVER ESPERAR ROBOT 2 ROBOT 3 FIN REGRESAR FIN SUBIR AVANZAR n PUESTO 2 LIBRE ladrillos en carro cargando huecos en carro cargando huecos en zona de espera a descarga r huecos en bandeja descargando ladrillos en bandeja descargando m m ladrillos en carro descargando carros en zona de espera a descarga s ZONA DESCARGA OCUPADA AVANZAR HASTA ZONA DE DESCARGA ZONA DESCARGA OCUPADA ESPERAR DESCARGA CARRO ZONA CARGA OCUPADA ESPERAR BANDEJA BANDEJA PREPARADA AVANZAR BANDEJA PREPARADA n de bandejas en cinta 2 CINTA 2 LIBRE ESPERAR DESCARGA DE LADRILLOS FIN DESCARGA DE LADRILLOS MOVER BANDEJA A PULMN FIN MOVER CINTA 1 CINTA 4 CINTA 2 ESPERAR BANDEJA PREPARADA VAGN DE LADRILLOS ESPERAR ESPERAR AVANZAR A ZONA DE CARGA ZONA CARGA OCUPADA ESPERAR EN ZONA DE CARGA FIN AVANZAR CINTA B n huecos en pulmn g h n bandejas en pulmn FIN AVANZAR AVANZAR HASTA ZONA DE ESP DESCARGA n REGRESAR A ORIGEN AVANZAR TRANSBORDADOR 2 PUESTO 2 LIBRE FIN REGRESAR CARRO SUBE A TRANSBORDADOR 2 TRANSBORDADOR 2 FIN CICLO H ESPERAR EN ORIGEN REGRESAR A ORIGEN CARROS EN CICLO H FIN AVANZAR AVANZAR TRANSBORDADOR 1 n ladrillos en cinta B FIN MOVER VOLVER A ORIGEN VOLVER A ORIGEN FIN MOVER FIN REGRESAR CARRO SUBE A TRANSBORDADOR 1 COGER LADRILLO ESPERAR EN ORIGEN
n de ladrillos en cinta A
AVANZAR
LADRILLO EN A
ESPERAR
CINTA A
PULMN
ESPERAR BANDEJA
CINTA 3 LIBRE
CINTA 3 LIBRE
CINTA 4 LIBRE
REPOSO
CINTA 1 LIBRE
n bandejas en cinta 4
ESPERAR BANDEJA
ESPERAR
COGER BANDEJA
PALET
FIN COGER
COGER LADRILLO
FIN COGER MOVER LADRILLO A PALET FIN COGER FIN MOVER MOVER LADRILLO A PUESTO 4 VOLVER A ORIGEN FIN MOVER
FIN AVANZAR
DEJAR BANDEJA FIN AVANZAR n de huecos en secadero e f n de vagones en secadero FIN CICLO SECAD. FIN COGER COGER BANDEJA CINTA 1 LIBRE
FIN DEJAR
FIN VOLVER VOLVER A ORIGEN ROBOT 5 FIN VOLVER huecos en palet ladrillos en palet
FIN REGRESAR c d n bandejas en vagn descargando n de vagones en zona de espera a descarga ZONA DESCARGA OCUPADA AVANZAR ZONA DESCARGA ZONA DESCARGA OCUPADA ESPERAR DESCARGA p VAGN VACO p n huecos en vagn descargando
AVANZAR n ladrillos en cinta C ROBOT 4 FIN AVANZAR q ESPERAR MIENTRAS CARGAN DEJAR BANDEJA PALET CARGADO FIN DEJAR ESPERAR q REGRESAR A ORIGEN PUESTO 5 LIBRE FIN REGRESAR FIN AVANZAR COGER PALET CARGADO AVANZAR FIN COGER PUENTE GRUA 2 PUESTO 5 LIBRE AVANZAR ZONA EMPAQUETADO
PUENTE GRUA 1
AVANZAR A ZONA ESPERA CARGA FIN AVANZAR n huecos en zona de espera a a carga b n vagones en zona de espera a carga ZONA CARGA OCUPADA AVANZAR ZONA CARGA VAGN DE BANDEJAS
CINTA C
CARGAR PALET VACO FIN CARGAR REGRESAR A ORIGEN FIN REGRESAR PALET n palets producidos
CINTA A
COGER LADRILLO
GALLETERA
LADRILLO EN A
FIN COGER
AVANZAR
LADRILLO EN A
FIN MOVER
ESPERAR
REGRESAR A ORIGEN
CINTA A
FIN REGRESAR
ESPERAR BANDEJA
n n
PULMN
CINTA 3 LIBRE
CINTA 3 LIBRE ESPERAR CARGA DE LADRILLOS CINTA 4 LIBRE AVANZAR A CINTA 4 AVANZAR BANDEJA PREPARADA ZONA CARGA OCUPADA
REPOSO
PUENTE GRUA 1
CINTA 3 CINTA 4 LIBRE LIBRE n bandejas en cinta 4 BANDEJA PREPARADA BANDEJA PREPARADA CINTA3 ESPERAR BANDEJA CINTA 4 CINTA 3 CINTA 4 COGER BANDEJA CINTA 4 LIBRE PULMN
FIN COGER
AVANZAR
FIN AVANZAR
DEJAR BANDEJA
FIN DEJAR
REGRESAR A ORIGEN
FIN REGRESAR
PUENTE GRUA 1
VAGN DE BANDEJAS AVANZAR A Z.ESP.DESC. FIN AVANZAR 3 n de vagones en zona de espera a descarga ZONA DESCARGA OCUPADA AVANZAR ZONA DESCARGA p ESPERAR DESCARGA VAGN VACO AVANZAR A ZONA ESPERA CARGA FIN AVANZAR 3 ZONA CARGA OCUPADA AVANZAR ZONA CARGA n vagones en zona de espera a carga ZONA DESCARGA OCUPADA VAGN CARGANDO ZONA DE ESPERA 1 VAGN DESCARGANDO PUENTE GRUA 1 PUENTE GRUA 2
ESPERAR BANDEJA BANDEJA PREPARADA AVANZAR ESPERAR BANDEJA PREPARADA CINTA 2 LIBRE ESPERAR DESCARGA DE LADRILLOS n de bandejas en cinta 2 FIN DESCARGA DE LADRILLOS MOVER BANDEJA A PULMN FIN MOVER CINTA 1 PUENTE GRUA 2 ESPERAR CINTA 1 LIBRE
AVANZAR
CINTA 2 LIBRE
ESPERAR CINTA 2
FIN COGER
CINTA 1
CINTA 1 LIBRE
DEJAR BANDEJA
BANDEJA PREPARADA
CINTA 2 LIBRE
FIN REGRESAR
PUENTE GRUA 2
VAGN DE LADRILLOS
ROBOT 2
PUESTO 2
LIBRE
COGER LADRILLO
COGER LADRILLO
FIN MOVER
VOLVER A ORIGEN VOLVER A ORIGEN FIN VOLVER FIN VOLVER ESPERAR ROBOT 2 ROBOT 3 PUESTO 2 LIBRE AVANZAR huecos en carro cargando ladrillos en carro cargando
CARRO CARGADO AVANZAR ZONA DE ESPERA CICLO H FIN AVANZAR d huecos en zona de espera ciclo H carros en zona de espera ciclo H CICLO DEL HORNO
ESPERAR EN ORIGEN FIN ESPERAR TRANSBORDADOR 1 FIN REGRESAR CARRO SUBE A TRANSBORDADOR 1 FIN SUBIR REGRESAR A ORIGEN m 8 ladrillos en carro cargando CARROS EN CICLO H AVANZAR TRANSBORDADOR 1 FIN AVANZAR
TRANSBORDADOR 1
TRANSBORDADOR 2
CARRO CARGANDO
CARRO DESCARGANDO
ESPERAR EN ORIGEN TRANSBORDADOR 2 FIN REGRESAR CARRO SUBE A TRANSBORDADOR 2 FIN SUBIR FIN CICLO H
VAGN DE LADRILLOS
REGRESAR A ORIGEN
AVANZAR TRANSBORDADOR 2 FIN AVANZAR AVANZAR HASTA ZONA DE ESP DESCARGA FIN AVANZAR
ZONA DESCARGA OCUPADA m 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
COGER LADRILLO
COGER LADRILLO
FIN COGER
FIN MOVER
PUESTO 4 LIBRE
CINTA C ROBOT 5 huecos en palet n ladrillos en cinta C ladrillos en palet q PUESTO 5 LIBRE
FIN VOLVER
PALET
ROBOT 4
ESPERAR
AVANZAR ZONA EMPAQUETADO FIN AVANZAR COGER PALET CARGADO FIN COGER
CARGAR PALET VACO FIN CARGAR REGRESAR A ORIGEN FIN REGRESAR n palets producidos
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
260
ESPERAR 55 70 ROBOT 1 84 92 71 96 85 huecos en zona de espera ciclo H 73 carros en zona de espera ciclo H i 72 j PUESTO 1 LIBRE FIN AVANZAR ZONA CARGA OCUPADA 56 ladrillos en bandeja descargando 65 COGER LADRILLO 28 huecos en bandeja descargando 64 ESPERAR 32/116 AVANZAR ZONA DE ESPERA CICLO H
CARRO CARGADO
GALLETERA
241
ESPERAR LADRILLO 25 LADRILLO CINTA 3 LIBRE EN A 53 57 78 59 60 FIN COGER FIN ESPERAR TRANSBORDADOR 1 26 66 29 76 FIN SUBIR 86 34 87 75 35 30 8 FIN VOLVER 83 80 REGRESAR A ORIGEN 4 ROBOT 2 ROBOT 3 85 FIN REGRESAR 91 63 n 38 FIN AVANZAR 68 82 69 huecos en zona de espera a descarga r 83 m 82 86 m ladrillos en carro descargando carros en zona de espera a descarga 84 s 90 39/118 93 ladrillos en carro cargando huecos en carro cargando FIN AVANZAR 85 PULMN CINTA B n huecos en pulmn g h PU1 PU2 n bandejas en pulmn PUESTO 2 LIBRE n REGRESAR A ORIGEN 80 37 AVANZAR TRANSBORDADOR 2 81 FIN SUBIR 89 31 AVANZAR 56 FIN REGRESAR 79 CARRO SUBE A TRANSBORDADOR 2 36/117 PUESTO 2 LIBRE TRANSBORDADOR 2 FIN CICLO H 95 ESPERAR EN ORIGEN FIN VOLVER ESPERAR 62 78 77 k CARROS EN CICLO H m FIN AVANZAR REGRESAR A ORIGEN AVANZAR TRANSBORDADOR 1 61 79 MOVER LADRILLO A BANDEJA CARGANDO 3 27 VOLVER A ORIGEN FIN MOVER 55 58 67 VOLVER A ORIGEN FIN MOVER 82 n ladrillos en cinta B FIN MOVER MOVER LADRILLO A VAGN FIN COGER 54 MOVER LADRILLO A PUESTO 1 57 88 FIN REGRESAR 74 33 CARRO SUBE A TRANSBORDADOR 1 81 COGER LADRILLO 2 FIN COGER ESPERAR EN ORIGEN COGER LADRILLO
GENERACIN DE LADRILLOS
PUESTO 2 LIBRE
TEMP
n de ladrillos en cinta A
53
LADRILLO EN A
AVANZAR
53
LADRILLO EN A
ESPERAR
CINTA A
ESPERAR BANDEJA
10
57
CINTA 3 LIBRE
ZONA DESCARGA OCUPADA AVANZAR HASTA ZONA DE DESCARGA 40 ZONA DESCARGA OCUPADA 87 ESPERAR DESCARGA CARRO ZONA CARGA OCUPADA 96 88 AVANZAR A ZONA DE CARGA 41/119 ZONA CARGA OCUPADA 96 89 ESPERAR EN ZONA DE CARGA
94
11
94
57 ESPERAR BANDEJA 45 48 ESPERAR BANDEJA PREPARADA 76 23 49 ESPERAR 59 n de bandejas en cinta 2 76 75 52 47 FIN DESCARGA DE LADRILLOS 51 24 50 CINTA 2 LIBRE ESPERAR DESCARGA DE LADRILLOS BANDEJA PREPARADA 46 BANDEJA PREPARADA AVANZAR
CINTA 3 LIBRE
12
58
CINTA 4 LIBRE
74
CINTA 1 LIBRE
13
22 15
n bandejas en cinta 4
VAGN DE LADRILLOS
CINTA3 16 75 FIN MOVER 77 CINTA 1 CINTA 4 CINTA 2 18 103 64 12/110 42 COGER LADRILLO ESPERAR ESPERAR QUE COJAN BANDEJA CINTA 2 LIBRE
ESPERAR BANDEJA
94 90
ESPERAR
COGER BANDEJA
PALET
109 104
45
60 25 23 p n huecos en vagn cargando 26 24 n bandejas en vagn cargando FIN AVANZAR 65 n de huecos en secadero e f 28 FIN CICLO SECAD. 69 FIN COGER 14/112/120 70 29 AVANZAR A Z.ESP.DESC. FIN AVANZAR c 30 31 ZONA DESCARGA OCUPADA 67 38 43 p 67 FIN DEJAR n huecos en vagn descargando p 44 72 39 DEJAR BANDEJA 20 32 113/114 ZONA DESCARGA OCUPADA 33 VAGN VACO ESPERAR DESCARGA AVANZAR ZONA DESCARGA n bandejas en vagn descargando d n de vagones en zona de espera a descarga 66 42 AVANZAR 19 41 n de vagones en secadero 27 COGER BANDEJA CINTA 1 LIBRE 13/111 AVANZAR A SECADERO 40 ESPERAR VAGN LLENO p
FIN COGER
91
FIN COGER
100
AVANZAR
19
96 97 FIN COGER
MOVER LADRILLO A PALET FIN MOVER 43 MOVER LADRILLO A PUESTO 4 92 97 VOLVER A ORIGEN 101
46
61
FIN AVANZAR
10
DEJAR BANDEJA
20
47
62
FIN DEJAR
FIN VOLVER
102
11
REGRESAR A ORIGEN
21
ROBOT 5 99 FIN VOLVER n ladrillos en cinta C ROBOT 4 FIN AVANZAR 71 huecos en palet 101 98 q 103 ESPERAR MIENTRAS CARGAN PALET CARGADO ESPERAR 99 q REGRESAR A ORIGEN 21 104 PUESTO 5 LIBRE 105 FIN REGRESAR 73 FIN AVANZAR 105 104 AVANZAR ZONA EMPAQUETADO 49 ladrillos en palet
63
FIN REGRESAR
102
PUENTE GRUA 1
AVANZAR
100
50 106
n huecos en zona de espera a a carga 35 n vagones en b zona de espera a carga 36 ZONA CARGA OCUPADA 37 AVANZAR ZONA CARGA
64 CINTA C
51 107 107 n palets producidos REGRESAR A ORIGEN 52 108 FIN REGRESAR PALET 108
VAGN DE BANDEJAS
ROBOT 1 ROBOT 2 TRANSBORDADOR 1 2 COGER LADRILLO 171 33 36 201 TIM 26 24 24 195 FIN TEMP 22 FIN TEMP 23 202 86 190 AVANZAR A ZONA DE ESPERA CH 116 34 37 203 22 TIM 14 191 23 193 TIM 15 31 AVANZAR FIN TEMP 22 FIN TEMP AVANZAR A ZONA DE ESPERA A DESCARGA 87 194 204 TIM 27 35 187 TIM 6 21 22 FIN MOVER (ROBOT 3) FIN TEMP 21 22 PUESTO 2 LIBRE 85 188 88 FIN REGRESAR 194 91 FIN TEMP 23 FIN TEMP AVANZAR A ZONA DE ESPERA A DESCARGA 118 205 FIN COGER (ROBOT 2) 81 TIM14 193 23 195 FIN AVANZAR 93 TIM15 REGRESAR A ORIGEN 38 REGRESAR A ORIGEN FIN TEMP 25 25 19 FIN TEMP VOLVER A ORIGEN 30 FIN TEMP 20 FIN AVANZAR 192 90 FIN AVANZAR 23 FIN TEMP 39 186 FIN MOVER 82 21 79 55 19 TIM 3 177 180 FIN MOVER 174 20 TIM 4 31 AVANZAR n bandejas en cinta B>0 61 CINTA B 185 TIM 6 21 AVANZAR TRANSBORDADOR AVANZAR TRANSBORDADOR ESPERAR 192 MOVER LADRILLO A CARRO 29 18 TIM 5 173 FIN SUBIR 89 FIN SUBIR FIN AVANZAR 92 FIN TEMP 184 81 26 3 MOVER LADRILLO A PUESTO 1 FIN COGER 183 3 FIN TEMP 78 172 FIN COGER 21 18 FIN TEMP 22 189 23 TIM 14 TIM 15 TIM 6 21 28 AVANZAR A ZONA DE ESPERA CICLO HORNO 32 CARRO SUBE A TRANSBORDADOR 1 CARRO SUBE A TRANSBORDADOR 2 25 COGER LADRILLO TRANSBORDADOR 2
ROBOT 3
CINTA A
COGER LADRILLO
112
TIM 2
18
TIM 5
FIN TEMP
AVANZAR
TIM 1 2 54
109
113
FIN COGER
FIN TEMP
53
LADRILLO EN A
110
MOVER LADRILLO
54 3 18 FIN TEMP
114
TIM 2
ESPERAR
111
FIN TEMP
115
FIN MOVER
REGRESAR A ORIGEN 4
27 VOLVER A ORIGEN
TIM 2
18 84
TIM 5
175
LADRILLO EN PUESTO 2
CINTA3
FIN TEMP
3 79
18 FIN TEMP
56 LADRILLO EN PUESTO 1
FIN REGRESAR
FIN VOLVER 83
MOVER BANDEJA
206
ESPERAR
4 CINTA 4 CINTA1 n bandejas en cinta 4>0 17 7 72 16 26 207 161 16 26 FIN TEMP FIN TEMP 94 24 211 119 166 169 94 FIN TEMP 17 TIM 20 17 RESET ZONA DESCARGA OCUPADA AVANZAR A ZONA CARGA SET ZONA DESCARGA OCUPADA 208 FIN CICLO HORNO 27 CINTA 2 LIBRE 165 168 BANDEJA PREPARADA 76 FIN TEMP FIN TEMP 17 210 TIM 32 TIM 19 164 AVANZAR AVANZAR 122 125 FIN TEMP 6 ESPERAR CINTA 2 LIBRE AVANZAR 75 6 TIM 17 FIN DEJAR (PUENTE GRUA 2) 167 TIM20 23 40 AVANZAR A ZONA DESCARGA 22 23 AVANZAR n bandejas en cinta 2>0 52 CINTA 2
TIM 16
118
FIN TEMP
AVANZAR
119
TIM 18
AVANZAR A CINTA 4
FIN TEMP
27 TIM 28
TIM 22
120
CINTA 4 LIBRE
BANDEJA PREPARADA
28
34
FIN TEMP
121
CINTA 3 LIBRE
124 127 122/74 CINTA 1 LIBRE 163
CINTA 1 LIBRE
121/57
CINTA 3 LIBRE
FIN MOVER 77
121
96
209
32
PUENTE GRUA 1 17 AVANZAR ZONA CARGA 11 29 COGER BANDEJA 18 29 153 64 138 FIN TEMP 110 154 FIN COGER 70 43 ESPERAR ZONA DE CARGA 114 MOVER LADRILLO A PUESTO 4 ESPERAR DESCARGA 14 97 SET ZONA CARGA OCUPADA 147 SET ZONA DESCARGA 67 OCUPADA TIM 7 14 FIN TEMP 8 FIN TEMP FIN TEMP 11 TIM 8 2151
COGER LADRILLO
45
227
TIM 13
COGER BANDEJA
128
TIM 12
FIN COGER
100 AVANZAR ZONA EMPAQUETADO MOVER LADRILLO A 46 PALET 229 TIM 13 32 233 TIM 11 33 49
FIN TEMP
129
FIN COGER
60
AVANZAR AVANZAR 19 13 155 TIM 30 12 FIN TEMP 14 TIM 7 14 AVANZAR A SECADERO TIM 29 139 148 AVANZAR A ZONA DE 16 ESPERA A CARGA
29
TIM 8
FIN TEMP 217 FIN TEMP 29 FIN TEMP 230 98 FIN MOVER 218 VOLVER A ORIGEN 47 44 VOLVER A ORIGEN 231 TIM 13 32 FIN TEMP 235 FIN MOVER 101 32 234
33
130 9
TIM 12
FIN AVANZAR
105
50
FIN AVANZAR 61
FIN AVANZAR 71
33 DEJAR BANDEJA 20 29 TIM 8 219 FIN TEMP 32 236 TIM 7 14 29 FIN TEMP FIN VOLVER 232 FIN TEMP 14 99 FIN VOLVER
DEJAR BANDEJA 111 AVANZAR A SECADERO ESPERAR AVANZAR A ZONA 115 DE ESPERA CARGA ESPERAR
10
220 CINTA C 102
FIN COGER
106
TIM 12
157
51
FIN TEMP
133 14 13 TIM 25 28
FIN DEJAR
62
158
TIM 11
33
11
151
FIN TEMP 13
FIN TEMP carros en ciclo>0 31 30 TIM 9 159 TIM 7 14 30 FIN TEMP FIN TEMP 31 221 224 TIM 10
33
48 AVANZAR
238
FIN CARGAR
134
TIM 12
10 FIN TEMP
107
REGRESAR A ORIGEN FIN CICLO SECADERO 69 FIN TEMP 14 103 PUESTO 4 LIBRE
52
7 66 143
FIN AVANZAR
160
222
135
120 ESPERAR
FIN REGRESAR
63
FIN REGRESAR
225
LADRILLO EN PUESTO 5
TIM 11
33
FIN TEMP
33
LADRILLO EN PUESTO 4
PUESTO 5 LIBRE
104 240
PALET 109
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
clear; clear all; parametros; %programa con los parmetros del proceso close; hold off; tf=10; tiempo=0; i=1; tspan(1)=tiempo; 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 transiciones;%test y disparo de transiciones if seguir==0 tiempo=tiempo+paso; i=i-1; %elimino la ltima fila, que no ha cambiado 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');
clear; clear all; parametros; %programa con los parmetros del proceso close; %hold on; %tf=1000; tiempo=0; repetir='si'; while repetir~='no' %While de repetir otro periodo de simulacin tf=input('Periodo de tiempo a evaluar'); tf=tf+tiempo; i=1; tspan(1)=tiempo; while tiempo<=tf %While de iterar para la simulacin i=i+1; Y(i,:)=Y(i-1,:); tspan(i)=tiempo; seguir=0; %indica que no hay disparos si no se aumenta el tiempo transiciones;%test y disparo de transiciones if seguir==0 tiempo=tiempo+paso; i=i-1; %elimino la ltima fila, que no ha cambiado 263
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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);
repetir=input('Quieres seguir simulando? ','s'); %preparo la nueva Y para la siguiente iteracin if repetir ~= 'no' [filasY,columY]=size(Y); Yf=[Y(filasY,:)]; clear Y;clear tspan; Y=Yf; end % del if end %del while
clear; clear all; parametros; %programa con los parmetros del proceso close; hold on; %tf=1000; tiempo=0; repetir='si'; while repetir~='no' %While de repetir otro periodo de simulacin tf=input('Periodo de tiempo a evaluar'); tf=tf+tiempo; i=1; tspan(1)=tiempo; while tiempo<=tf %While de iterar para la simulacin i=i+1; Y(i,:)=Y(i-1,:); tspan(i)=tiempo; seguir=0; %indica que no hay disparos si no se aumenta el tiempo transiciones;%test y disparo de transiciones if seguir==0 tiempo=tiempo+paso; i=i-1; %elimino la ltima fila, que no ha cambiado end tempor;%actualizacin de los temporizadores salidas;%actualizacin de las salidas 264
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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);
repetir=input('Quieres seguir simulando? ','s'); %preparo la nueva Y para la siguiente iteracin if repetir ~= 'no' [filasY,columY]=size(Y); Yf=[Y(filasY,:)]; clear Y;clear tspan; Y=Yf; end % del if end %del while
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
%repetir=input('Quieres seguir simulando? ','s'); if tiempo <=400 repetir='si'; else repetir='no'; end %preparo la nueva Y para la siguiente iteracin if repetir ~= 'no' [filasY,columY]=size(Y); Yf=[Y(filasY,:)]; clear Y;clear tspan; Y=Yf; end % del if end %del while
35
30
25
20
15
10
0 0 5 10 15 20 25 30 35 40 45 50
266
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Figura 38: Resumen de la Base de Datos de una aplicacin SCADA. Tan slo el listado de dicha base de datos ocupa ms de 10 hojas (el resto muchos cientos). La forma de programarlo es muy similar a los lenguajes orientados a objetos, rellenando las casillas de las propiedades de los bloques. Incluso las programaciones se realizan rellenando un bloque tipo programa (Figura 39)
267
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
268
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Figura 42: Pantallas de Hoja de Clculo y Base de Datos conectadas a la aplicacin SCADA
269
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
270
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
271
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
272
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
273
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
274
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
Tambin conviene indicar que es posible la integracin de estos sistemas de monitorizacin con otros de Realidad Virtual, surgiendo entonces lo que se denomina la fbrica virtual. Este nuevo concepto de fbrica virtual tiene ms sentido en otro tipo de fbricas en las que las maniobras sean mucho ms arriesgadas y un error pueda ocasionar grandes perjuicios, pero se ha considerado interesante exponer su existencia. Algo similar se est realizando a modo de ensayo con la misma planta industrial en otra lnea de investigacin, ms relacionada con la ingeniera grfica. De todas formas tambin pueden integrarse en las aplicaciones SCADA elementos desarrollados en entornos grficos ms avanzados, con lo que la automatizacinmonitorizacin-simulacin se asemeja mucho a la fbrica virtual [8] (Figura 43).
275
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
276
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 6: Aplicacin en Planta Industrial de ltima Generacin.
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
Este trabajo presenta un anlisis y una metodologa para la implementacin eficiente y robusta, empleando PLCs y sistemas SCADAs, de automatizaciones complejas en plantas industriales con procesos compuestos por sucesivos ciclos con una fuerte interconexin. Como ya hemos comentado anteriormente las aportaciones estn expuestas por separado en cada captulo, e incluso en algn captulo en cada seccin, cuando conviene destacar ciertos detalles dentro del tema del captulo. Sin embargo aqu haremos un sucinto repaso a dichas aportaciones para tener una visin global de todas ellas, y para poder profundizar posteriormente en la que nos interese acudiendo al captulo correspondiente. Como resultado global se puede considerar que se ha cumplido, con un muy alto grado de satisfaccin, con los objetivos planteados, si bien eso supone, lejos de cerrar la investigacin, haber abierto la puerta a investigaciones similares en otros tipos de procesos en los que la investigacin requiera de otros enfoques o lleve a otros resultados. A ese respecto decir que se eligi como modelo de industria sobre la que realizar el desarrollo de las investigaciones una empresa de cermica por cuestiones como la experiencia en ese tipo de procesos tanto del director como del doctorando, la importancia relativa de ese tipo de industrias en La Rioja (donde hay dos de las mayores y ms modernas del mundo) y en el resto del territorio nacional, y el inters mostrado por la propia empresa, que tiene un Ingeniero Industrial como Gerente, en mejorar en lo posible este tipo de procesos. El proceso de trabajo para llegar a los resultados se puede resumir como: partiendo de la experiencia en las automatizaciones industriales reales de los procesos de produccin, se analizan las posibilidades tcnicas y tecnolgicas existentes ms apropiadas para un tipo de dichos procesos, y se investiga en las posibilidades de mejora de las prestaciones del sistema. A partir de los resultados de dicha investigacin inicial se trata de enfocar la investigacin en los aspectos concretos que se presentan como susceptibles de ser mejorados, y cuando se llega a resultados satisfactorios se comprueban realmente. As, se puede decir que en este trabajo se muestra una metodologa para lograr automatizaciones eficientes y robustas, sencillas de realizar pero de diseo eficiente, susceptibles de ser simuladas mediante cualquier programa de simulacin o incluso en el propio dispositivo de control del proceso, y finalmente se muestra una aplicacin de todo ello. La distribucin en los captulos de todo eso se puede resumir como: El segundo captulo, Metodologa y arquitecturas para la automatizacin de procesos complejos, analiza la utilizacin de las herramientas grficas para la automatizacin, la
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 7:Resultados y Aportaciones.
divisin del proceso automatizado en modelo del sistema y automatizacin, e introduce el empleo de paquetes SCADA en las automatizaciones. El tercer captulo, Implementacin de las automatizaciones en los dispositivos industriales de control automtico, analiza y propone una metodologa de traduccin de las herramientas grficas a los lenguajes de los autmatas programables, dependiendo del tipo y nivel de elementos constitutivos del sistema. El cuarto captulo, Metodologa de simulacin mediante lenguajes de programacin, analiza y propone la metodologa para la traduccin desde las herramientas grficas a los lenguajes de programacin en los que pueden ser implementadas para simular el sistema o la automatizacin. En concreto, dada la potencia y extensin de la aplicacin informtica Matlab, se resuelve para dicha aplicacin. El quinto captulo, Implementacin de tcnicas avanzadas en la automatizacin, propone una metodologa de modelar automatizaciones mediante herramientas grficas que evolucionan y adaptan la automatizacin, para procesos industriales muy flexibles. Tambin realiza una presentacin de mtodos de inteligencia artificial que se emplean habitualmente en aplicaciones industriales, y se presenta un pequeo ejemplo. Y el sexto captulo, Aplicacin en planta industrial de ltima generacin, que comienza con un anlisis de la metodologa para modelizar y automatizar procesos de subsistemas concurrentes con el producto avanzando por ellos, prestando especial inters al seguimiento del material o las piezas de produccin a lo largo del proceso, presenta los resultados obtenidos en una planta de tales caractersticas al aplicar las metodologas desarrolladas en todo el trabajo. Con todo esto se da por concluido el trabajo que se presenta, esperando que ciertamente sea til y constituya una aportacin importante al desarrollo industrial, y una referencia para la investigacin sobre procesos industriales, as como su desarrollo. Sin embargo esto no cierra el camino en esta lnea de investigacin, sino que, al contrario, abre todo un abanico de trabajos de investigacin, algunos de los cuales incluso ya han comenzado. Los artculos cientficos en los que se ha comentado la lnea de actuacin, han tenido gran xito, y desde diversos foros se ha solicitado una ampliacin de las explicaciones cientficas que derivan de este trabajo. Igualmente desde el mbito industrial, las empresas que firmaron proyectos de investigacin como convenio con la Universidad de La Rioja, que fueron realizados por el doctorando de este trabajo y que sirvieron de punto de partida que presentaba una problemtica comn a varias empresas de la regin, han mostrado su inters en renovar los contratos de proyectos de investigacin, al comprobar que efectivamente han repercutido en un beneficio para su proceso productivo. Incluso otras empresas de otros sectores han mostrado su inters en desarrollar investigaciones cuyo desarrollo les permita igualmente conseguir automatizar sus procesos industriales de forma ms sencilla y ms eficiente. Por tanto a partir de las aportaciones de esta tesis se pretende constituir un nuevo equipo investigador, que inicialmente siga contando con el apoyo del grupo del investigador principal y director de esta tesis, pero capaz de crecer para dar respuesta a esta demanda surgida desde los mbitos cientfico e industrial.
280
Tesis Doctoral (EJM) Tcnicas de Automatizacin Avanzadas en Procesos Industriales Tema 7:Resultados y Aportaciones.
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