Sie sind auf Seite 1von 5

SIMULADOR PARA REDES DE PETRI H IBRIDAS

J. M. Maestre pepemaestre@cartuja.us.es E.F. Camacho eduardo@cartuja.us.es

Resumen
El siguiente art culo presenta un programa informtico para la simulacin de redes de Petri. A a o pesar de la gran cantidad de simuladores ya existentes, el aqu presentado posee una serie de car acter sticas unicas que lo convierten en una her ramienta de enorme utilidad para el ingeniero. El simulador est orientado a la simulacin de sisa o temas h bridos de manera integrada: todos los componentes de las redes son h bridos, de manera que se rompe con el enfoque tradicional de integrar componentes de naturaleza discreta y continua para el modelado de fenmenos h o bridos. Otra caracter stica de inters es la posibilidad de emplear e como coste asociado a las transiciones expresiones en funcin de magnitudes ya denidas en el siso tema, del tiempo o incluso de variables aleatorias, lo que proporciona gran exibilidad de modelado. Por ultimo, el programa permite su integracin o de forma sencilla con MATLAB c mediante DDE (Dynamic Data Exchange). Palabras clave: Simulador Redes de Petri, Sistemas H bridos, Sistemas Estocsticos, Matlab. a

Drath en [3], en la que se aplican algunos conceptos de orientacin a objetos al paradigma h o brido de las redes de Petri, es decir, se asocia a cada elemento de la red una cierta estructura con campos de informacin que la caracterizan. o Se asume que el lector dispone de conocimientos bsicos sobre redes de Petri. En caso contrario a se recomienda acudir a alguna de las fuentes bibliogrcas bsicas empleadas en la redaccin de a a o este documento como el excelente libro de David y Alla [4]. En primer lugar se repasarn los conceptos de a mayor importancia relacionados con este tipo de redes. A continuacin se denirn las ampliao a ciones que realizaremos al modelo bsico para la a obtencin de un nuevo paradigma para la repreo sentacin de sistemas h o bridos basado en redes de Petri. Por ultimo se estudiarn aplicaciones al a control.

2
2.1

REDES DE PETRI
REDES DE PETRI CLASICAS

INTRODUCCION

Una Red de Petri es una estructura R= P, T, P re, P ost, m donde: P={P1 , P2 , . . . , Pi } es un conjunto nito y no vac de lugares. o T={T1 , T2 , . . . , Tj } es un conjunto nito y no vac de transiciones. o PT=, es decir, los conjuntos P y T son disjuntos. Pre: PTR es la aplicacin de entrada o, dicho o de otra forma, Pre(Pi ,Tj ) es el peso del arco que va desde el lugar Pi a la transcin Tj . o Post: PTR es la aplicacin de salida. Post(Pi , o Tj ) es el peso del arco que va desde Tj al lugar Pi . m: P Ri es el marcado inicial. 2.2 REDES DE PETRI H IBRIDAS

La problemtica que envuelve el estudio de los sisa temas h bridos precisa herramientas de modelado y simulacin que simpliquen las labores de diseo o n y testeo de sus sistemas de control. Por desgracia, la mayor de las aplicaciones existentes, como el a toolbox de redes de Petri de Matlab, estn poco a orientados a tareas de control propiamente dichas. En los ultimos aos se han denido un gran n nmero de formalismos para representar sistemas u h bridos. Algunos de ellos han sido denidos ad hoc para recoger el fenmeno h o brido, mientras que otros han aprovechado la mayor penetracin o dentro de los c rculos cient cos de ciertos paradigmas de modelado a los que han aadido diversas n extensiones con el mismo objetivo. El lenguaje de modelado que se emplea como punto de partida en esta tarea es el de las redes de Petri. En concreto, el programa que presentamos en este art culo sigue la variante de las redes de Petri presentada por R.

La necesidad de modelar los fenmenos h o bridos conduce, como dec amos, a la bsqueda de exu tensiones a este paradigma de modelado. Las re-

des de Petri h bridas pueden recoger el fenmeno o h brido con ciertas modicaciones al modelo original, aunque a costa de sacricar la simplicidad y el carcter intuitivo caracter a stico de este tipo de redes. La primera denicin de inters de redes de Petri o e h bridas fue dada por David y Alla en 1987. Estas redes de Petri h bridas se basan en la combinacin de redes continuas y discretas, donde slo o o los lugares y las transiciones tienen caracter sticas especiales. Las redes de Petri continuas [4] nos resultan utiles porque ofrecen trabajar en el es pacio continuo de estados. El espacio de estado se convierte en innito de este modo y abre la posibilidad de modelar dinmicas continuas. Lo a que estas ampliaciones buscan combinar espacios de estado continuos y discretos para modelar sistemas h bridos. La simpleza estructural de las marcas en estas redes impone limitaciones que hacen excesivamente dif el modelado de sistemas complejos. Por esto cil se denieron las redes de Petri de alto nivel [5] donde las marcas son diferentes entre s y pueden contener datos estructurados.

2.4

MODELO DE RED DE PETRI H IBRIDA PROPUESTO PARA EL SIMULADOR

Ante todo, se ha buscado la simplicidad en el momento de denir los componentes con los que se construirn los modelos. Se ha procurado a minimizar el nmero de comnponentes necesarios u hasta reducirlos a un total de 5: Lugar: se ha denido un unico tipo de lu gar que tiene asociada una cantidad real que acta como nmero de marcas contenidas u u en el mismo. Cada lugar tiene asociado adems un nombre que sirve para referenciar a el nmero de marcas contenidas en su inteu rior. Se representa como un c rculo con el nmero de marcas escrito en su interior. u Transicin discreta: este tipo de transicin o o se dispara si se cumple las condiciones impuestas por los arcos de entrada durante un determinado tiempo al que denominaremos Retraso. Cada transicin discreta tiene dos o propiedades asociadas que se pueden editar. La primera es el nombre, que sirve a efectos de identicacin. La segunda es la funcin de o o retraso, cuyo valor instantneo proporciona a el valor . Se representa con un rectngulo de a color negro. Transicin continua: este tipo de trano sicin se encuentra activa siempre que se cumo plan las condiciones de ujo impuestas por los arcos de entrada. Tiene asociadas dos propiedades que se pueden editar. La primera es el nombre, que sirve a efectos de identicacin. La segunda es la funcin de ujo, o o cuyo valor instantneo proporciona el valor a de ujo. Se representa con un rectngulo de a color blanco. Arco: su funcin es la de imponer las condio ciones de entrada a las transiciones o el resultado de salida de las mismas a travs del e valor de la propiedadPeso. Para ello cuenta con dos propiedades editables. La primera es el nombre, cuya misin es la de identicacin, o o y la segunda es la funcin peso, cuyo valor o instantneo dene la variable . Se representa a como una echa de color negro. Arco inhibidor: se diferencia del anterior en que establece un tope a travs de la propiedad e Peso que no debe superarse para que se pueda validar la transicin hacia la que se dirige. o Por tanto, slo tiene sentido como arco de o entrada. Nuevamente, se pueden editar las propiedades Nombre y Funcin Peso. Se o

2.3

HDN (HYBRID DYNAMICAL NETS) y HON (HYBRID OBJECT NETS)

El modelo de red de Petri h brida propuesto por David y Alla que no se queda corto dada su imposibilidad de modelar el comportamiento dinmico de sistemas continuos. Dado que las rea des de Petri continuas permiten modelar valores reales, slo pueden ser utilizadas para modelar o variables de estado continuas. Por lo tanto, se sugieren las siguientes ampliaciones:

En las redes dinmicas h a bridas (HDN, Hybrid Dinamical Net en adelante), la velocidad de disparo de las transiciones continuas puede darse como una funcin de cano tidades de chas, lo que permitir represena tar dinmicas continuas. Los valores de esta a funcin pueden ser tanto positivos como nego ativos.

En HDN la cantidad de chas puede tomar valores negativos y positivos, lo que permite modelar variables del sistema tanto positivas como negativas. Las HPN slo permit valo an ores positivos.

representa como una linea con un pequeo n c rculo blanco superpuesto. Para acceder a la edicin de las propiedades de los o diversos componentes basta con hacer doble clic sobre ellos. El programa dispone de una opcin o de guardado y recuperado de archivos xml con estructuras de red de Petri creadas por el programa. 2.4.1 Funciones admisibles

En las anteriores expresiones X o Y pueden ser expresiones. El unico requisito es que el resultado procedente de evaluarlas sea un nmero real. u Por si todo este elenco de funciones a nuestra disposicin no fuera suciente, veremos en la prxima o o seccin como usar Matlab para implementar funo ciones propias. 2.4.2 Comunicacin con Matlab o

Una de las caracter sticas especiales del programa que aqu presentamos es la de incluir funciones en los pesos de los arcos, el ujo y el retraso de las transiciones. Las expresiones que las caracterizan pueden emplear las siguientes funciones: SQR(X): elevar al cuadrado X. SIN(X): seno de X. COS(X): coseno de X. ATAN(X): arcotangente de X. SINH(X): seno hiperblico de X. o COSH(X: coseno hiperblico de X. o EXP(X): exponencial de X. LN(X): logaritmo neperiano de X. LOG(X): logaritmo en base 10 de X. LOGN(X,Y): calcula el logaritmo de Y en base X. SQRT(X): ra cuadrada de X. z ABS(X): valor absoluto de X. TRUNC(X): elimina la parte decimal de X. CEIL(X): redondea hacia el siguiente entero mayor X. FLOOR(X): redondea hacia el siguiente entero menor X. RND(X): genara un nmero aleatorio entre u 0 y X. INTPOW(X,Y): calcula X Y , donde Y debe ser un nmero entero. u MAX(X,Y): devuelve el nmero mayor de u los dos. MIN(X,Y): devuelve el nmero menor de u los dos. IF(BOOL,X,Y): si BOOL es diferente de 0, devuelve Y. En caso contrario devuelve X.

Es evidente que el programa matemtico de mayor a difusin en el mbito de la ingenier es Matlab. o a a El repertorio de herramientas de este programa es tan extenso que resulta muy interesante establecer algn tipo de compatibilidad con el mismo. u Habida cuenta de que el propsito fundameno tal del programa es el de servir para labores de simulacin y control, es requisito que la comuo nicacin pueda establecerse en tiempo real entre o ambos programas. Para llevar a cabo esta tarea de comunicacin existen dos alternativas bsicas: o a COM (Component Object Model) o DDE (Dynamic Data Exchange). De estas dos, se ha elegido la ultima opcin como medio de comunicacin, ya o o que es la que ms facilita la comunicacin bidireca o cional entre MATLAB y el simulador. Dynamic Data Exchange es una tecnolog de coa municacin entre varias aplicaciones que puede o funcionar en Windows y OS/2. Bsicamente, lo a que DDE permite es establecer sesiones entre dos aplicaciones y enviar comandos o recibir respuestas en una arquitectura cliente servidor. Se trata de un sistema de comunicacin un tanto superado o ya por OLE y COM automation. De hecho, Mathworks no realiza nuevos desarrollos para DDE con Matlab desde la versin 5.1. No obstante, es muy o sencillo de implementar y la funcionalidad que ofrece es ms que suciente para nuestras necesia dades. En la prctica, la forma en la que ambos prograa mas se integran requiere ejecutarlos en paralelo. Desde un archivo .m de Matlab se pueden ejecutar las siguientes acciones: ID = ddeinit(Simulador, DDETema): con esta instruccin se establece la comunicacin o o con entre Matlab y el simulador. Es recomendable que ste tenga cargado ya la PN que se simular. e a ddeexec(ID,ORDEN): donde ORDEN es una de las siguientes instrucciones: SET NOMBREVARIABLE VALOR: establece VALOR como valor de NOMBREVARIABLE. GET NOMBREVARIABLE VALOR: lee el

valor de NOMBREVARIABLE. START: inicia la simulacin del simulador. o STOP: detiene el simulador. Con este sencillo juego de instrucciones es suciente para realizar multitud de aplicaciones de control desde Matlab. La unica restriccin viene o impuesta por el carcter as a ncrono del sistema de comunicacin empleado, que exige no saturar al o servidor DDE con excesivas peticiones. Por tanto, se recomienda esperar un pequeo tiempo entre n instrucciones, que ir en funcin del equipo ema o pleado. A modo indicativo, podr amos exigir 5 centsimas de segundo como periodo m e nimo entre instrucciones.

variables en el tiempo, de forma que se tiene en cuenta que la nmero de veh u culos que atraviesa el cruce depende de forma no lineal del tiempo que el semforo permanece abierto. La dependena cia temporal escogida es una exponencial negativa. Finalmente, hay dos lugares que representan la salida de los coches una vez franqueado el cruce.

EJEMPLO DE APLICACION
Figura 2: Resultados demo en Matlab.

Con el n de demostrar las bondades del simulador realizado, se ha realizado una pequea den mostracin. El ejemplo en s no es excesivamente o sosticado, pero en l se dan cita la mayor de e a las caracter sticas que lo hacen diferente. El sistema modelado es un cruce regulado por semforos. Por simplicidad se ha supuesto que los a coches circulan en un unico sentido en cada uno de las dos v del cruce. as

Figura 3: Resultados demo programa. En la demo se ejecutan dos versiones del sistema presentado, una que se corresponde con el sistema real y otra, con una dinmica 100 veces ms a a rpida, que hace lo propio con el sistema sima ulado. Decimos versiones porque ambas tienen parmetros de modelado ligeramente diferentes. a La idea es emplear los datos de la versin simulada o para realizar un control de la real lo ms eciente a posible. El control lo realiza el Matlab, que cada 5 segundos estudia la evolucin del sistema simulado o a partir de los datos proporcionados por el sistema real y calcula de acuerdo con una funcin de coste o la conveniencia o no de tener el semforo abierto. a En cierto modo, estamos aplicando un control predictivo, aunque no tanto por la notacin como por o el esp ritu. Los resultados de ejecutar la demo se muestran mediante dos guras, una realizada con Matlab y otra extra desde el programa realizado, que da cuenta con una opcin de representacin grca o o a

Figura 1: Cruce modelado como red de Petri. En la gura correspondiente puede observarse que hay dos fuentes que modelan la llegada aleatoria de los veh culos. En concreto se han escogido dos variables aleatorias de tipo rectangular para modelar el nmero de veh u culos que llegan por segundo. Estos veh culos entran en sendos lugares que modelan la cola que se forma ante el semforo. En el centro de la red hay un lugar a que modela el semforo. Una marca en su intea rior abre el semforo para la v de la izquierda, a a mientras que la ausencia de sta lo abre para la de e la derecha. Las transiciones responsables del paso por el cruce tienen funciones de retraso asociadas

de todas las variables que se estn manejando. a En estas grcas se representan la cantidad de a coches en cola para atravesar el cruce. Matlab decide qu carril permanece abierto a la circulacin e o basndose en las predicciones realizadas en el sima ulador de redes de Petri. Respecto a la grca gena erada por el propio simulador, cabe destacar que, aunque la subaplicacin de representacin grca o o a no es excesivamente potente, permite al programa proporcionar una solucin autocontenida para el o trabajo con redes Petri h bridas.

Referencias
[1] Jan Lunze. (2002) What is a Hybrid System?. Modelling, Analysis and Design of Hybrid Systems. Springer Verlag. [2] John Lygeros.() Lecture Notes on Hybrid Systems. [3] R Drath.2005 Description of Hybrid Systems by Modied Petri Nets. Modelling, Analysis and Design of Hybrid Systems. [4] R. David and H. Alla. (2005) Discrete, Continuous and Hybrid Petri Nets. Springer Verlag. [5] Jensen y Rosenberg. (1991) High Level Petri Nets: Theory and Application. SpringerVerlag, New York. [6] R. David and H. Alla.(2005) Petri Nets for Modeling of Dynamic Systems- A Survey.Automatica Vol. 30. No 2. pp. 175-202. [7] Ralf Wieting.(1996) Hybrid High-Level Nets. Proceedings of the 1996 Winter Simulation Conference. [8] I. Demongodin and N.T. Koussoulas. (1998) Modelling of Hybrid Control Systems using Petri Nets. Proc. 3rd Int. Conf. ADPM98.

Das könnte Ihnen auch gefallen