Uploaded by Nestor Sánchez Soberats

02 Laboratorio Redes de Petri Ksenia Arias Yanexis Estrada

advertisement
FACULTAD DE INGENIERÍA ELÉCTRICA
ESPECIALIDAD AUTOMÁTICA
Título: Desarrollo de Modelos de Automatizaciones en
OPN de Instalaciones de Laboratorio.
Diplomantes: Ksenia Arias Granda
Yanexis Estrada Figueredo
Tutores: Dr. Israel Benítez Pina
Msc. Luisa Villafruela Loperena
Curso 2001 – 2002
" Año de los Héroes Prisioneros del Imperio "
FACULTAD DE INGENIERÍA ELÉCTRICA
ESPECIALIDAD AUTOMÁTICA
Ksenia Arias Granda
Yanexis Estrada Figueredo
Santiago de Cuba, Junio 2002
"Año de los Héroes Prisioneros del Imperio"
Resumen
RESUMEN
La comunidad científica y académica internacional está enfrascada en la búsqueda de métodos
formales para el modelado y diseño de sistemas de automatización que permitan garantizar la
calidad de las redes de automatización con PLC’s. Este trabajo presenta un estudio sobre
implementación de modelos de automatizaciones sobre redes de Petri (PN’s), en específico Redes
de Petri Ordinarias (OPN’s) y su traducción a programas en lenguajes de PLC’s IEC1131
compatibles.
Este trabajo tiene como objetivo desarrollar modelos en OPN de automatización de instalaciones
del laboratorio de control de procesos gobernadas por PLC’s, mediante el uso del Visual Object
Net utilizando la metodología de diseño de GHeNESys para en un futuro integrar la fase de diseño
al Sistema Docente de Automatización Industrial (SDAI) en desarrollo sobre estas instalaciones.
Se definen los pasos para implementar programas desde modelos validados. La metodología
propone el diseño, verificación y validación de automatizaciones con PLC’s con el objetivo de
orientar a los especialistas en la forma de lograr la evaluación de sus diseños desde la etapa inicial
mediante métodos formales en PN’s. Se dan sus bases teóricas y se crean los modelos en OPN de
las instalaciones del Panel Gaseoso (control de presión) y Panel de Control de Nivel del
Laboratorio de Control de Procesos, así como su programa traducido a lenguajes de PLC’s.
Los resultados obtenidos en este trabajo se utilizarán a partir del curso 2002-2003 en la asignatura
de Sistemas Automatizados de 5to año de Automática. Además, mediante los proyectos MES de
Laboratorios Virtuales y proyectos de colaboración internacional, se irán extendiendo estos
resultados al pre y postgrado del resto de las universidades cubanas e iberoamericanas que
participan en los mismos.
Summary
SUMMARY
The international scientific and academic community is work in the search of formal methods to
modeling and design of automation systems that allow to guarantee the quality in PLC’s
automation networks. This work presents a study on implementation of models of automations it
has more than enough Petri Nets (PN’s), in specific Ordinary Petri Nets (OPN’s) and its
translation to programs in PLC’s languages compatible IEC1131.
This work has as purpose to develop models in OPN of automation laboratory of process control
governed by PLC’s, by means of the use of the Visual Object Net using design methodology of
Ghenesys to integrate in a future the design phase to the Educational System of Industrial
Automation (SDAI) in development on these laboratories.
They are defined the steps to implement programs from validated models. The methodology
proposes the design, verification and validation of PLC’s automations with the purpose of guiding
the specialists in the form to obtain evaluations of theirs designs from the initial stage using
formal methods in PN’s. It include theoretical bases and the OPN models are given of the
laboratories of the Gassy Panel (control of pressure) and Panel of Level Control of Processes
Control Laboratory, as well as their program translated to PLC’s languages.
The results obtained in this work will be used starting from the course 2002-2003 in Automated
Systems subject in 5to course of Automatic. Also, by means of the MES projects of Virtual
Laboratories and international collaboration projects, these results will go extending to all courses
of the rest of the Cuban and Ibero-American universities that participate in this project.
Indice
INDICE
INTRODUCCIÓN ...........................................................................................................................................1
CAPÍTULO 1. MODELADO EN REDES DE PETRI PARA AUTOMATIZACIONES CON PLC’s ..............5
1.1 PN’s clásicas y su uso en modelado para automatizaciones con PLC’s. ................................................ 6
1.1.1 Propiedades de las PN’s. .................................................................................................................... 14
1.1.2 Métodos de análisis de las PN’s. ........................................................................................................ 16
1.1.3 Subclases de PN’s. .............................................................................................................................. 17
1.2 Red Jerárquica Extendida GHENeSys. .................................................................................................. 19
1.2.1 Metodología propuesta. ...................................................................................................................... 23
1.3 Metodología de implementación de los modelos formales en OPN a lenguajes de PLC’s IEC1131
compatibles y su reinterpretación, utilizando GHENeSys. ........................................................................... 24
1.3.1 Analogías entre GHENeSys y los lenguajes IEC1131 compatibles. ................................................... 26
CAPÍTULO 2. DISEÑO, VERIFICACIÓN Y VALIDACIÓN SOBRE GHENESYS. .................................33
2.1 Actualidad en diseño, verificación y validación de automatizaciones con PLC’s................................. 35
2.2 Diseño sobre GHENeSys......................................................................................................................... 38
2.3.1 Reglas de Reducción Simple. ............................................................................................................... 48
2.3.2 Teorema del Rango. ............................................................................................................................. 51
2.4 Validación sobre GHENeSys. ................................................................................................................. 56
2.4.1 Herramienta de diseño sobre GHENeSys e implementación automática. ........................................... 59
CAPÍTULO 3. APLICACIÓN DE LA METODOLOGÍA PRESENTADA EN LA AUTOMATIZACIÓN
DE DOS INSTALACIONES DE LABORATORIO........................................................................................61
3.1 Panel de nivel ......................................................................................................................................... 61
3.1.1 Funcionamiento de la instalación. ....................................................................................................... 62
3.1.2 Diseño del sistema de control del Panel de Nivel utilizando GHENeSys. ........................................... 63
Luego de la implementación se realiza la validación final del funcionamiento del sistema controlado con
ayuda de las facilidades que brinda el ISaGRAF 3.3 para esto. .................................................................. 74
3.2 Panel Gaseoso........................................................................................................................................ 74
3.2.1 Funcionamiento de la instalación. ....................................................................................................... 75
3.2.2 Diseño del sistema de control del Panel Gaseoso utilizando GHENeSys............................................ 76
3.3 Ventajas del método formal de diseño en OPN’s.................................................................................... 83
VALORACIÓN ECONÓMICA. .....................................................................................................................85
Indice
CONCLUSIONES .........................................................................................................................................88
RECOMENDACIONES.................................................................................................................................90
BIBLIOGRAFÍA ............................................................................................................................................91
ANEXOS........................................................................................................................................................94
Anexo 1. Modelo en Redes de Petri del Panel de Nivel. ............................................................................... 94
Anexo 2. Programación en FBD/LD y Simulación en ISaGRAF 3.3 del Panel de Nivel.............................. 97
Anexo 3. Modelo en Redes de Petri del Panel Gaseoso.............................................................................. 100
Anexo 4. Programación en FBD/LD y Simulación en ISaGRAF 3.3 del Panel Gaseoso. .......................... 101
Introducción
INTRODUCCIÓN
Desde los años 70’s hasta la fecha los Controladores Lógicos Programables (PLC’s) han sido los
dispositivos mayormente utilizados en la solución de problemas de automatización y control. Su
uso se extiende a soluciones muy diversas, que van desde máquinas herramientas hasta plantas
industriales, desde juguetes hasta el confort de hoteles y edificios, desde elevadores hasta
sistemas telefónicos, desde sistemas de seguridad crítica hasta sistemas de generación de
electricidad, entre otros.
Los PLC’s no son más que computadoras adaptadas al ambiente de control de procesos, los que
cuentan tanto con parte electrónica (hardware) como de programación (software). Estos
dispositivos se encargan de garantizar el comportamiento deseado de un proceso determinado,
utilizando para ello el conjunto de señales de entrada y salida asociadas a éste, así como del
programa elaborado para ello. Por lo anterior, se deduce que las aplicaciones con PLC’s
comprenden típicamente varias partes, tales como: el proceso a controlar (ej: una planta), el PLC,
conexiones entre el PLC y el entorno, el programa del PLC, conexiones entre el PLC y una PC
(opcional), etc. Por ello, una aplicación con PLC trabajará correctamente solo si todas las partes,
que están relacionadas entre sí, trabajan adecuadamente.
Por sus características y exigencias, este campo generó sus propios métodos de diseño y
lenguajes de programación, desarrollándose varios de estos últimos debido al rápido auge de los
PLC’s en los años 80’s. Con el objetivo de estandarizar estos lenguajes en 1993, la International
Electrotechnical Commission (IEC) presentó la norma IEC1131 creada basándose en la
experiencia de varios fabricantes líderes en esta rama, unificando de esta forma los esfuerzos de
fabricantes, investigadores e ingenieros que trabajan sobre esta línea. En la parte 3 de esta norma
(IEC1131-3) se define la sintaxis, y en menor parte, la semántica de cinco lenguajes de
programación, dos de ellos lenguajes de texto: Instruction List (IL) y Structured Text (ST), dos
gráficos: Ladder Diagram (LD) y Function Block Diagram (FBD), y uno estructurado:
Sequential Function Chart (SFC).
1
Introducción
Si asumimos que la parte del hardware está funcionalmente bien y garantiza la correcta
operación del controlador, entonces la aplicación con PLC estará determinada por el software
asociado a éste; es decir, por el programa de su algoritmo de control.
Al aumentar la complejidad de los sistemas de control, de las exigencias en cuanto a fiabilidad y
seguridad, así como los costos de éstos, los diseñadores se han visto en la necesidad de buscar
métodos de verificación y validación que aseguren el funcionamiento seguro y correcto de la
solución generada. Debido a ello, la programación de PLC’s que tradicionalmente se ha venido
realizando de forma directa, ha generado en los últimos años que estudiosos en esta rama,
orienten sus esfuerzos hacia la aplicación de métodos formales, ya utilizados con anterioridad en
la programación de computadoras, a este campo de la automática. Estando orientados éstos a los
lenguajes estándares ya mencionados, recogidos en la norma IEC1131-3.
Los métodos formales basan sus principios en el análisis y verificación del programa dado a
partir de la obtención de su modelo, estudiando tanto las propiedades funcionales como
estructurales de éste. La aplicación de estos métodos permite elevar la seguridad en la
concepción y aplicación del programa elaborado, la reducción de los tiempos de diseño e
implementación, así como la reusabilidad, generalidad y optimización
del algoritmo
desarrollado, entre otras ventajas, [Frey00.1] lo que hace muy atractiva su utilización.
Son sin dudas las Redes de Petri (PN’s) las de mayor aplicación en la descripción formal de
programas de PLC’s. Introducidas por Carl Adam Petri en 1962, las PN’s han tenido un
vertiginoso desarrollo desde esa fecha hasta nuestros días; constituyendo una herramienta tanto
gráfica como matemática. Resultando una opción útil para describir y estudiar sistemas que
se caracterizan por ser concurrentes, asincrónicos, distribuidos, paralelos, no determinísticos y/o
estocásticos.
2
Introducción
En el contexto de la programación de PLC’s, las PN’s poseen muchas ventajas sobre otras formas
de descripción formales, al facilitar una modelación sencilla e intuitiva, siendo generalmente los
modelos de PN’s más compactos y poderosos. En la actualidad se han desarrollado muchas
modificaciones y extensiones aplicadas a este campo, encontrándose además, un gran número de
herramientas asistidas por computadora disponibles, las que permiten la edición, simulación y
análisis de ellas. Dentro de las PN’s estudiadas, la red extendida GHENeSys [Glez&Silva01] ha
demostrado ser la más adecuada para nuestros intereses.
La utilización de las PN’s como método formal para la verificación de programas de PLC’s es
poco conocido en nuestro país, y debido a las ventajas citadas anteriormente resulta conveniente
su uso. El propósito que persigue el presente trabajo es desarrollar los modelos en PN’s,
particularizando en el procedimiento propuesto por el grupo que investiga este tema, fruto de la
colaboración Universidad de Oriente - Universidad de Sao Paulo, el que utiliza la red extendida
GHENeSys como vía de representación. Escogiendo para nuestro análisis las instalaciones del
Laboratorio de Control de Procesos, Panel de Nivel y Panel Gaseoso. Estos modelos servirán de
base para las clases prácticas y laboratorios de este tema en la asignatura Sistemas
Automatizados en 5to año de Automática que comienza su impartición en Septiembre de este
año.
El trabajo se encuentra organizado en tres capítulos. En el primero de ellos se presenta la base
teórica en la que se sustentan las Redes de Petri; se mencionan sus propiedades, así como las
clases en que se subdividen éstas. Se trata además el tema de la utilización en la representación
de la red jerárquica extendida GHENeSys, planteándose la metodología de implementación de
los modelos formales en OPN’s a lenguajes de PLC’s IEC1131 compatibles y su
reinterpretación.
En el segundo capítulo se trata el Diseño, Verificación y Validación sobre GHENeSys, dando
primeramente una panorámica sobre trabajos actuales relacionados con el tema. Se exponen los
3
Introducción
pasos de la metodología, presentando ejemplos de aplicación de métodos de validación y
verificación según sea el caso.
En el tercer capítulo se enfatiza en la aplicación de la metodología planteada a las instalaciones
de laboratorio, se presentan las características, así como la operación de ambos paneles. Se
obtiene el modelo de las subredes, su simulación en el Visual Object Net (VON), así como el
programa para su implementación traducido a lenguajes de PLC’s según la norma IEC1131.
Estos modelos se integran a la etapa de diseño de un SDAI que se encuentra en desarrollo con el
apoyo del proyecto MES de Laboratorios Virtuales y otros proyectos de colaboración
internacional con la USP (Brasil) y la UPC (Barcelona, España). En este último caso un proyecto
del Centro de Cooperación para el desarrollo (CCD) de la UPC.
4
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
CAPÍTULO 1. MODELADO EN REDES DE PETRI PARA
AUTOMATIZACIONES CON PLC’s
Los PLC’s constituyen los dispositivos de automatización industrial de mayor uso en el mercado
internacional. Estudios recientes arrojan que el 74 % de los usuarios del mercado de
automatización utilizan redes de automatización con PLC’s, y los usos específicos son: 87 % en
control de máquinas, 58 % en control de procesos, 40 % en control de movimiento, 26 % en
control de sistemas batch, 18 % en diagnóstico y un 3 % en otros tipos de usos.
Se han desarrollado varias etapas de normalización de sus lenguajes de programación, hasta llegar
a la mundialmente aceptada IEC1131-3. Sin embargo, el diseño de los sistemas de automatización
con dichos equipos tradicionalmente ha seguido métodos intuitivos basados en la experiencia del
programador.
El desarrollo de las potencialidades de estos dispositivos, el incremento de la complejidad de las
aplicaciones, la necesidad de reducir el tiempo de desarrollo, y de mayores niveles de seguridad y
optimización de las automatizaciones con ellos, ha generado la necesidad de aplicar métodos
formales en el diseño de estos sistemas.
Las ventajas de los métodos formales en el proceso de diseño son por ejemplo, la facilidad para
análisis y reutilización, la repetitibidad, la facilidad para proceder al análisis de sistemas de gran
tamaño, la precisión del proceso de modelado, la facilidad de documentación. Todo esto justifica
la obtención de nuevos métodos que tornen más rápido y seguro este proceso, pero sin descuidar
el contenido formal. En este campo, las Redes de Petri (PN’s) y sus extensiones, han sido la
representación/formalismo que más ha avanzado en este sentido por su dualidad matemáticográfica, su aplicabilidad, expresividad, y una cierta adherencia a los métodos de diseño
convencionales como el Top-down o el Bottom-up.
5
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
En la actualidad hay varios trabajos que demuestran que la comunidad científica internacional
trabaja en esta dirección. En todos ellos se plantea la difícil representación con la teoría de control
tradicional de los Sistemas de Eventos Discretos (DES) donde aparecen concurrencias, conflictos,
no-determinismos, para lo que las PN’s constituyen un arma efectiva. Estas proveen métodos de
validación y verificación que garantizan la calidad de los sistemas de control antes de su
implementación.
Por todo lo anterior consideramos de gran importancia el conocimiento de los métodos más
efectivos en este sentido y el desarrollo de una metodología aplicable al mayor número de
automatizaciones con PLC’s en cualquier sector económico. Para ello veremos algunos conceptos
básicos de las PN’s y concluir con una propuesta de metodología general para incorporar esta al
desarrollo de los modelos de nuestras instalaciones de laboratorio .
1.1 PN’s clásicas y su uso en modelado para automatizaciones con PLC’s.
Red de Petri (PN) es un término agrupador, que en el transcurso del tiempo ha venido a
designar un amplio número de modelos de sistemas, procedimientos, técnicas y patrones
descriptivos relacionados unos con otros en el sentido de que están todos basados en el mismo
principio específico (Teoría de las Redes de Petri).
El principal atractivo radica en que permiten la identificación de los aspectos básicos de los
sistemas distribuidos tanto conceptual como matemáticamente. Tienen la dualidad de ser una
herramienta de modelado matemática y gráfica aplicable a muchos sistemas, lo cual incluye
además, el atractivo de los sistemas visuales de simulación gráfica.
La principal clase de Red de Petri es la llamada Sistema de Red Elemental (EN Systems =
Elementary Net Systems). Una EN Systems es, dentro de la Teoría de Redes (Net Theory) aplicada
a procesos y sistemas distribuidos, un modelo simple de sistemas distribuidos.
6
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Existen dos grandes grupos de PN’s: las redes clásicas, que incluyen los Sistemas
Condición/Evento (C/E-systems), las Redes Lugar/Transición (P/T-nets) y las extensiones
derivadas de ellas y las redes de alto nivel, que abarcan fundamentalmente las Redes
Predicado/Evento (P/E-nets), Redes coloridas y Redes relacionadas. Estos grupos se diferencian
fundamentalmente por la forma en que son marcadas las redes (cantidad de tokens).
El modelo de sistema C/E los elementos S son simplemente marcados o no marcados (sólo es
posible un token).
En el modelo de sistema P/T-nets, los elementos S pueden contener un cierto número de tokens
sin diferenciación.
En el modelo de sistema P/E-nets, los elementos S son marcados por objetos individuales (hay
diferenciación entre tipos de tokens).
Las aplicaciones de automatización con PLC’s abarcan principalmente el sector de las Redes
Clásicas, por lo que sólo abundaremos sobre éstas. Todas las redes clásicas tienen, como
estructura básica, una red elemental (EN).
Un Sistema de Red Elemental (EN-system) es una cuádrupla N = (B,E;F,Cin) donde (B,E;F) es
una red llamada Red Subyacente (Underling Net) de N, und(N) y Cin ⊆ B es llamado caso
inicial (initial case) of N, inc(N) [Thiagarajan86].
Se mantiene igual terminología que en teoría de redes para la und(N):
Bn es el conjunto de condiciones de N.
En es el conjunto de eventos de N.
Fn es el conjunto de relaciones de flujo de N.
Xn es el conjunto de elementos de N.
7
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Esta EN-system como modelo abstracto de un sistema distribuido tiene dos partes:
N = (B, E, F, Cin)
\____/ \__/
Estructura Comportamiento
Estática
Dinámico
La notación gráfica de una EN-system, es la notación gráfica de la und(N) a la que se adiciona el
marcaje de Cin representado por las marcas o puntos (tokens) en los estados. La notación gráfica
de la und(N) responde a un gráfico bipartito, direccionado, ordenado y no vacío sin nodos
aislados, donde B y E (también llamados S y T) son los conjuntos de estados y transiciones de N
asociados a círculos y a cajas o cuadrados respectivamente, siendo F las relaciones de flujo en N
que son arcos con direcciones apropiadas.
Siguiendo la dinámica del marcaje se pueden encontrar los elementos que pertenecen al conjunto
de casos Cn (combinaciones de Bn) y pasos Un (combinaciones de En). De acuerdo a esto se
puede definir el espacio de estados del sistema y la clase completa de casos generadora del
mismo.
El modelo de sistema C/E [Reising82], muy utilizado, es esencialmente un EN-System que
satisface algunas restricciones adicionales. En éstas los elementos S son simplemente marcados o
no marcados (sólo es posible un token) y las reglas de disparos de las transiciones sólo obedecen a
la precondición de t(•t); o sea, el marcaje de los estados de entrada y la activación del evento
asociado a la transición. Un ejemplo a modelar con este sistema en automatizaciones con PLC’s
podría ser la atención a las botoneras locales de arranque y parada o el control de acciones
secuenciales binarias del proceso.
En el modelo P/T-net [Reising82], los elementos S (ahora llamados Lugares P) pueden contener
un cierto número de tokens sin diferenciación. Esto agrega a la dinámica anterior, el análisis de la
8
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
capacidad de cada Lugar (K) y el peso asociado a los arcos (W). Por tanto, las reglas de disparo
de las transiciones también deben tener en cuenta la posibilidad de asimilación de tokens de los
lugares de destino (Postcondición de t; o sea, t•). Por ello, el movimiento de tokens en el disparo
de la transición queda determinado por el peso de los arcos que la interconectan a las entradas y a
las salidas. Un ejemplo clásico que también se presenta en automatizaciones con PLC’s es el de
compartir recursos, como el uso compartido de los sistemas de comunicación, de áreas de
almacenaje para diferentes líneas de producción, etc.
En los modelos de alto nivel (como el sistema llamado Predicate/Event nets), los elementos S
son marcados por objetos individuales (hay diferenciación entre tipos de tokens), lo cual aumenta
la potencialidad de la red pero modifica grandemente las reglas de comportamiento dinámico,
tornando más complejo su análisis y uso. Debido a esto no serán objeto de estudio en el presente
trabajo.
A partir de estos grandes tipos, hay extensiones y modificaciones que adecuan el modelo a
condiciones específicas de determinadas aplicaciones. Estos son los casos de las Redes
Temporizadas [Ajmone95, Murata89], Redes Interpretadas [David92, Frey00.2, Frey00.3], Redes
Extendidas [Murata89, Silva&Miyagi95], y otras más.
De aquí podemos resumir que de acuerdo a nuestros objetivos de trabajo con PLC’s, sólo los
modelos C/E y P/T nos interesan. Pero, ¿cuál de los dos es el más recomendable para el análisis
de éstas automatizaciones con PLC’s?. Además, ¿es necesario vincularlos a extensiones y/o
modificaciones específicas como las indicadas?.
Para responder estas preguntas tendremos en cuenta que los C/E-Systems pueden ser considerados
como un caso especial de P/T-Net con capacidades de Lugares y pesos de Arcos unitarios. Tienen
comportamientos similares, pero debe considerarse que un C/E-System está provisto de una clase
caso C, donde las P/T-Nets asumen sólo un marcaje inicial. También puede hacerse extensiva
9
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
como una generalización de los C/E-Systems en las P/T-Nets, la situación de contacto en que una
transición t ∈ Tn falla porque un Lugar en t• (Postcondición) no tiene suficiente capacidad.
La posibilidad de tener en cuenta redes que consideren sólo las Precondiciones (denominadas
contact-free) y la transformación del complemento para eliminar la influencia de la Postcondición
en las reglas de disparo permite trabajar siempre con redes de capacidad infinita, con sólo las tres
reglas de transición o de disparo que se relacionan seguidamente [Murata89]:
‰
Una transición t se dice que está habilitada si cada lugar de entrada p de t está marcado con al
menos w(p,t) tokens, donde w(p,t) es el peso de los arcos desde p a t.
‰
Una transición habilitada puede o no dispararse (si los eventos de que depende tienen o no,
lugar en ese momento).
‰
Un disparo de una transición habilitada t quita w(p,t) tokens de cada lugar de entrada p de t, y
adiciona w(p,t) tokens a cada lugar de salida p de t, donde w(p,t) es el peso de los arcos desde
t a p.
De acuerdo a todo lo anterior, trabajaremos las PN’s clásicas como todo un conjunto referido en
P/T-nets, pero particularizaremos más en las Redes de Petri Ordinarias (OPN), que tienen la
restricción de que el peso de los arcos que la forman es igual a 1 [Murata89].
Utilizando la notación básica formal, podemos definir una red Lugar/Transición (P/T-net)
[Bernardinello92] como una séxtupla ∑ = (S,T, F, K,W, M0), donde:
i)
S ∩ T = ∅.
ii)
S ∪ T ≠ ∅.
iii)
F ⊆ (SxT) ∪ (TxS).
iv)
dom(F) ∪ cod(F) = S ∪ T.
v)
K: S → N+ ∪ {∞} es una función de capacidad.
vi)
W: F → N+ es una función de peso.
10
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
vii)
M0: S → N es una marcación inicial que satisface: ∀s∈S: M0(s) ≤ K(s).
Dada una red Lugar/Transición ∑, tenemos que:
La aplicación M: L → N+ es llamada una marcación en ∑ si se cumple M(s) ≤ K(s) para todo
s∈S.
Sea M una marcación en ∑, podemos decir que una transición t ∈ T está habilitada si se cumple
que: ∀s ∈ S : W(s,t) ≤ M(s) ≤ K(s) – W(t,s)
Una marcación M que habilita t lleva a una marcación M’ disparando t, donde:
M’(s) = M(s) – W(s,t) + W(t,s) ; ∀s ∈ S, ∀(s,t) ∈ F, ∀(t,s) ∈ F
La ocurrencia de t lleva de una marcación M a M’, y es representado como M[t>M’.
Se denota por R(M) como el menor conjunto de las marcaciones de ∑ alcanzables a partir de M,
tal que:
1. M ∈ R(M) y
2. Si M1 ∈ R(M)
y para algún
t ∈ T, M1[a>M2] entonces M2 ∈ R(M)
Ahora podemos definir a una P/T-net como de libre contacto (contact-free) [Reising89], si para
todo M ∈ [Mn> y para todo t ∈ Tn:
Si ∀ s ∈ •t: M(s) > Wn(s,t) entonces
∀s ∈ t• : M(s) < Kn(s) – Wn(t,s)
Esto no es más que el marcaje en cada lugar de entrada debe ser mayor que el peso del arco de
salida hacia la transición, pero en la salida el marcaje debe ser menor que la capacidad permitida
menos el peso del arco de entrada desde la transición.
11
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
El comportamiento dinámico de muchos de los sistemas estudiados por la ingeniería pueden ser
descritos usando ecuaciones diferenciales. En el caso de las Redes de Petri este comportamiento
dinámico es regido por su ecuación de estado. Una parte fundamental de esta ecuación de estado
es lo que se denomina como matriz de incidencia.
Definición 2.10 Matriz de Incidencia [Desel&Esparza95]
La matriz de incidencia A:(SxT)→{-1,0,1} de N será definida por:
⎧ 0
⎪
N(s,t)= ⎨ 1
⎪ −1
⎩
(s,t) ∉ F y (t, s) ∉ F o (s,t) ∈ F y (t, s) ∈ F
(s,t) ∉ F y (t, s) ∈ F
(s,t) ∈ F y (t, s) ∉ F
Como base teórica para la definición de la matriz de incidencia es bueno tener en cuenta que
para cualquier Lugar S y cualquier Transición T arbitrarios de una red, ambos están relacionados
por una de las cuatro formas siguientes con respecto a la relación de flujo F [Desel&Esparza95]:
‰
(s,t) ∉ F y (t,s) ∉ F : Completamente no relacionados.
‰
(s,t) ∈ F y (t,s) ∉ F: t solo ocurre cuando S tiene al menos un token y al ocurrir reduce
tokens en S.
‰
(s,t) ∉ F y (t,s) ∈ F: t incrementa el número de tokens en S en uno (recuerden son solo
OPN).
‰
(s,t) ∈ F y (t,s) ∈ F: t solo ocurre cuando S tiene al menos un token pero al ocurrir no
cambia tokens en S.
Es importante observar que el cambio del número de tokens en S causado por la ocurrencia de t no
depende del marcaje existente en la red, sino que esta completamente determinado por la
estructura de la red.
12
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Para una PN con n transiciones y m lugares, la matriz de incidencia A = [aij] es una matriz de
enteros de orden n x m (transiciones x lugares). Esta matriz de incidencia representa la estructura
de la red y puede ser descrita de la forma siguiente[Murata89]:
A = [aij]
con aij = aij+ - aij-
donde:
aij+ =W(i,j)
es el peso del arco que va del lugar i a la transición j.
es el peso del arco que va de la transición j a el lugar i.
aij- =W(j,i)
aij representa el numero total de tokens removidos, adicionados y cambiados en el lugar j
cuando la transición i es disparada.
La ecuación de estado en una red está dada por la siguiente ecuación:
Mk+1 = Mk + AT Vk
para k = 1, 2, …
donde:
Mk estado actual, vector columna mx1 del marcaje inicial
Mk+1 estado siguiente es un vector columna mx1 del marcaje resultante
AT es la transpuesta de la matriz de incidencia A
Vk es un vector columna nx1, llamado vector de control o de habilitación que representa el késimo disparo (donde todos sus elementos son cero menos el de la posición indicada a la
transición que se dispara en ese k-ésimo disparo.
Si consideramos que un determinado marcaje de destino Md es alcanzable desde M0 a través de
la secuencia de disparo {v1, v2, …, vd}, podríamos expresar la ecuación de estado de la siguiente
forma:
d
Md = M 0 + A T ∑ Uk para k = 1, 2,...
k =1
la cual se puede reescribir como:
ΔM = A T Χ
13
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
donde:
ΔM = Md - M0
y
d
X = ∑ Uk
k =1
siendo X un vector columna nx1 de enteros no-negativos llamado vector de conteo de disparos.
La entrada I-ésima de X denota el número de veces que la transición I debe dispararse para
transformar M0 en Md.
1.1.1 Propiedades de las PN’s.
En el análisis y diseño de modelos basados en PN’s se tienen en cuenta un conjunto de
propiedades [Murata89], pudiendo clasificarse éstas como:
•
Propiedades dependientes del marcaje, o propiedades funcionales (marking-dependent or
behavioral properties): Son aquellas propiedades dependientes del marcaje inicial y reflejan el
comportamiento dinámico del sistema.
•
Propiedades estructurales (structural properties): Son aquellas propiedades independientes
del marcaje inicial de la red.
Propiedades funcionales:
1. Alcanzabilidad (Reachability)
2. Limitación (Boundedness)
3. Vivacidad (Liveness)
4. Reversibilidad y Estado particular (Reversibility and Home State)
5. Cobertura (Coverability)
6. Persistencia (Persistence)
7. Distancia sincrónica (Sinchronic distance)
8. Disparabilidad (Fairness)
14
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Propiedades estructurales:
1. Vivacidad estructural (Structural Liveness)
2. Controlabilidad (Controllability)
3. Limitación estructural (Structural Boundedness)
4. Conservabilidad (Conservativeness)
5. Repetitividad (Repetitiviness)
6. Consistencia (Consistency)
7. Invariantes S y T (S- and T-Invariants)
8. Disparabilidad limitada estructural (Structural B-Fairness)
La definición de cada una de estas propiedades se sale de los marcos de este trabajo y pueden ser
encontradas en varios textos básicos sobre PN’s como el caso de [Murata89]. Por tanto, se
trabajará con algunas de ellas por su importancia en la rama.
En el análisis de modelos PN de sistemas de automatización es muy importante la propiedad de
Alcanzabilidad de estados, pues a partir de un estado inicial muchas veces se requiere que la red
avance automáticamente hasta un estado dado, si no tiene esta capacidad, no podrá ejecutar el
comportamiento deseado. A esto está relacionada la Vivacidad de la red, si generalizamos esta
capacidad a todo el sistema, y es aquí donde pueden detectarse partes de la red que detienen su
funcionamiento (como lazos cerrados, bloqueos, deadloock), lo cual nos permite eliminar estas
situaciones anormales en el programa del PLC desde esta etapa inicial de diseño.
Aquí entran a jugar su papel propiedades estructurales como la Vivacidad Estructural, la
capacidad de Repetitividad y la Controlabilidad de la red, porque la red además de ser viva
estructuralmente tiene que garantizar su Repetitividad, ya que el trabajo de todo sistema de
control es cíclico y más en el caso de los PLC’s, pero también debe garantizar que este
comportamiento no sea aleatorio, sino que sea controlable.
15
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Las Invariantes S y T están relacionados con partes de la red donde no hay cambio en la suma
compensada de tokens durante el disparo de sus transiciones o que son capaces de volver al
marcaje inicial de esa parte del sistema. Estos invariantes pueden ser beneficiosos o perjudiciales
según los objetivos del sistema, y por tanto, también deben ser analizados durante el diseño de la
red. Además, nos dan una herramienta matemática para el análisis de otras propiedades de la red.
También los sistemas de control no pueden tener un comportamiento ilimitado en la mayoría de
sus elementos por las propias limitaciones físicas del sistema, fundamentalmente capacidad de
almacenes o recursos compartidos. Por tanto, también debe vigilarse la propiedad de Limitación
estructural o funcional de la red.
1.1.2 Métodos de análisis de las PN’s.
Los métodos de análisis de las PN’s se pueden clasificar en tres grupos:
1. Método del árbol de cobertura o de Alcanzabilidad (Coverability or Reachability Tree
Method).
2. Método de acercamiento por ecuación matricial (Matrix-Equation Approach).
3. Método de técnicas de reducción o descomposición.
El primer método involucra esencialmente la enumeración de todos los marcajes alcanzables o sus
marcajes cubribles. Este es posible aplicarlo a toda clase de redes, pero está limitado a redes
“pequeñas” por su complejidad con la explosión espacial de estados para sistemas grandes
(inmenso número de lugares).
Los otros dos métodos son prácticos y potentes, pero en muchos casos, solo son aplicables a
subclases especiales de PN’s o situaciones especiales (tiene limitaciones). Para el análisis se
deben asumir, en primer lugar, sólo PN puras (sin autolazos) o transformadas a puras (agregando
16
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
un par Lugar-Transición a cada autolazo) [Murata89] para admitir la definición de las ecuaciones
matriciales. En segundo lugar, en el análisis deben considerarse OPN’s (Lugares con capacidad
mayor o igual a 1, pero el peso de arcos es unitario).
El tercero de los métodos mencionados, el de las técnicas de reducción o descomposición
[Murata89, Bilinski94, Desel&Esparza95], es el utilizado en el desarrollo de este trabajo. Este
método facilita y simplifica el análisis de sistemas “grandes” al reducir estructuralmente el
modelo obtenido a una descripción más general, denominada subred o “macro”, la cual mantiene
las propiedades originales de la red que le dio origen. Las técnicas de transformación también
pueden ser utilizadas para la síntesis de un modelo abstracto a un modelo más refinado
jerárquicamente. Existen muchas técnicas de transformación para las PN’s, las que se utilizan para
analizar vivacidad, seguridad, y limitación mediante la comprobación de buena conformación de
la red [Desel&Esparza95].
1.1.3 Subclases de PN’s.
Dentro de las OPN, donde el peso de los arcos es unitario, se han definido subclases teniendo en
cuenta las particularidades de los conjuntos de entrada y salida de transiciones y eventos (•t, t•,
•p, p•), para definir restricciones en su estructura subyacente, las que resultan útiles cuando se
detallan las propiedades de las PN’s. Se asume que las PN’s no tienen lugares ni nodos aislados
(esto es que no existe t o p tal que •t = t• = φ, •p = p• = φ).
Se debe señalar que tanto la redes ordinarias como las no-ordinarias tienen la misma potencia de
modelado, solo se diferencian en la eficiencia y conveniencia del modelado. Veamos
seguidamente las clases de OPN que existen:
1. Máquina de Estados (State Machine SM): Es una OPN tal que cada transición t tiene
exactamente un lugar de entrada y exactamente uno de salida |•t| = |t•| = 1, ∀t ∈ T. Esta clase
17
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
no admite sincronizaciones, por lo que puede modelar alternativas pero no paralelismo (Ver
Figura 1.1a).
2. Gráfico marcado (Marked Graph MG): Es una OPN tal que cada lugar p tiene exactamente
una transición de entrada y exactamente una de salida |•p| = |p•| = 1, ∀p ∈ P. Permiten
modelar sincronizaciones pero no alternativas (Ver Figura 1.1b).
3. Red libre-selección (Free-choice net FC): Es una OPN tal que todo arco desde un lugar es un
arco único o es un único arco de entrada a una transición, es decir:
Para todo p ∈ P, |p•| < 1
o
•(p•) = {p}
Para todo p1, p2 ∈ P, p1• ∩ p2• ≠ φ ⇒ |p1•| = |p2•| = 1
Admiten sincronización y conflictos separados, pero no la mezcla de ambos (confusión).
4. Red libre-selección extendida (Extended free-choice net EFC): Es una OPN tal que (Ver
Figura 1.1c):
Para todo p1, p2 ∈ P, p1• ∩ p2• ≠ φ ⇒ p1• = p2•
Si hay intersección de Postcondición esta es igual.
5. Red de selección asimétrica (Asymmetric choice net AC): También llamada Red Simple, es
una OPN tal que (Ver Figura 1.1d):
Para todo p1, p2 ∈ P, p1• ∩ p2• ≠ φ ⇒ p1• ⊆ p2• o p1• ⊇ p2•
Si hay intersección de Postcondición son iguales o subconjuntas.
Figura 1.1 Subclases de PNs
18
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
En resumen proponemos utilizar P/T-nets lo más cercanas posibles a los menores tipos de OPN’s
(MG, SM, FC-nets). Para lo cual utilizaremos, más adelante, el concepto de subred dentro de las
Redes Jerárquicas para analizar el sistema modularmente, de forma que podamos acercarnos lo
mayor posible a esta propuesta. Esto será desarrollado sobre la base de la Red Jerárquica
GHENeSys [Glez01].
1.2 Red Jerárquica Extendida GHENeSys.
Las aplicaciones de automatización con PLC’s han evolucionado al diseño de sistemas complejos
con varios niveles de jerarquía, fuertes interacciones, compartición de recursos y sincronización
de actividades.
En el proceso de diseño de sistemas complejos e integrados, el grado de complejidad aumenta
proporcionalmente a diferentes factores: el tamaño del sistema, el volumen y complejidad de las
tareas, el grado de integración entre las partes que lo forman, etc. Este aumento de complejidad
dificulta el proceso de diseño de diversas formas: más difícil, más lento, mayores posibilidades de
error, lo que acaba por incidir en el costo del proyecto.
El uso de un diseño jerárquico es una de las vías de solución de esta complejidad. Este diseño
jerárquico no necesariamente coincide con la estructura de implementación, pero sí con la
distribución funcional del sistema. Se busca la estructura funcional con mayor independencia para
formar módulos integrados donde se modelan todas las funciones internas. Mientras que las
interacciones con el exterior solo se presentan en su nivel jerárquico superior.
La teoría clásica de redes no trata de forma adecuada el concepto de modularidad de sistemas
complejos, que difiere de la idea de simples elementos concurrentes y distribuidos.
19
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Algunas modificaciones fueron propuestas al formalismo original de Petri, utilizando elementos
de alto nivel para tratar el problema de la explosión de estados en grandes modelos y obtener una
representación mas compacta, como las redes Predicado/Evento y las Redes Coloridas
[Murata89]. Estos casos resuelven situaciones particulares, pero no proveen mecanismos
adecuados para la composición y jerarquización de módulos (subredes).
También otra aproximación a estas ideas aparece en [Esparza&Silva90] dentro del análisis TopDown para síntesis de redes, donde se define una regla de refinamiento para L&B FC-nets, el
Macroplace, que sustituye una subred SM por un Lugar. Por su parte se habla de modularidad y
composicionalidad de PN refiriéndose a la sustitución de Lugares y Transiciones por subredes y
viceversa.
Una propuesta en este sentido fue presentada en un contexto más cercano a sistemas distribuidos
de control en la contribución de la red GHENeSys (General Hierarchical Enhanced Net System)
[Silva&Miyagi95, Ramos&Silva99] que incluye el uso de módulos de subredes denominadas
Integrons. Esta modularidad no limita la utilización de las OPN’s en los esquemas resultantes,
pero simplifica grandemente el trabajo con ellas resolviendo la explosión de estados.
Esto garantiza una solución equivalente tanto en el modelo como en el programa para aplicaciones
de sistemas de control distribuido, pero garantizando también en el modelo y el programa, cumplir
con la simplicidad interna de los submódulos integrantes. Esto es debido a que los módulos
resultantes agrupados en Integrons en el modelo, pueden ser tratados como OPN’s y en el
programa estos mismos submódulos constituyen pasos del programa SFC que pueden ser tratados
al nivel de programas en el propio SFC, o en IL, LD o ST de acuerdo a la experiencia del
programador. Por tanto, es necesario definir formalmente esta nueva red.
20
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
La red GHENeSys puede ser definida como una séxtupla N=(L, A, F, K, M, Π) [Glez01] donde:
i)
L∩A = ∅
ii)
L∪A ≠ ∅
iii)
F ⊆ (LxA) ∪ (AxL)
iv)
B∪P = L
v)
K: B → N+∪{∞} para todo p∈P, K(p) = 1
vi)
M: L → N+ siendo: M(l) ≤ K(l) para todo l∈L
vii)
Π: (B∪A) → {0,1}
Los elementos del conjunto L son llamados lugares y según el item (iv), está compuesto por la
unión de los conjuntos B y P (Boxes y Pseudoboxes respectivamente). Los elementos del conjunto
A son llamados actividades. F es la relación de flujo y sus elementos son llamados arcos. K es la
función capacidad que indica la capacidad máxima permitida en cada box. M es la marcación
inicial de la red respetando las capacidades de cada lugar. Π es una función que identifica los
Macroelementos dentro de la red.
Los elementos del conjunto L tienen funciones diferentes en la ecuación de estado de la red. Los
elementos del subconjunto P representan lugares con marcación persistente y esto es considerado
en la ecuación de estado que trataremos más adelante.
Teniendo en consideración el item (iv) podemos reescribir el item (iii) de la siguiente forma:
F ⊆ (BxA) ∪ (AxB) ∪ (PxA) ∪ (AxP)
Los dos primeros términos representan los arcos que conectan los boxes con las actividades. A
través de estos arcos, las marcas “fluyen” entre los elementos de los conjuntos B y A siguiendo la
regla de disparo de la red. El tercer término representa la conexión de los Pseudoboxes con las
Actividades. Estas conexiones pueden ser de dos tipos: habilitadora (arcos de test) o
deshabilitadora (arcos inhibidores).
21
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
El último término carece de sentido práctico en nuestra red, por eso el mismo puede ser removido
quedando la relación de flujo definida de la siguiente forma:
F ⊆ (BxA) ∪ (AxB) ∪ (PxA)
Siendo:
F=
⎧ − 1 para (BxA)
⎪ 1 para (AxB)
⎪
⎨
⎪ 1 para (PxA) siendo a habilitada
⎪⎩ − 1 para (PxA) siendo a inhabilita da
En principio, los elementos del conjunto P representan eventos no controlables o información
externa a la red en cuestión, pero nada impide que este elemento pertenezca al conjunto B de otra
red. La utilidad del Pseudobox es modelar la transmisión de información entre diferentes partes de
un mismo sistema (dependencia funcional), así como la influencia de la información externa.
En la red GHENeSys, así como en general en las OPN’s, un nuevo estado depende del estado en
que la red está y de las transiciones (actividades de la red) habilitadas en ese momento. Podemos
decir que el estado de la red (marcación de los lugares que conforman la red) depende linealmente
del estado inicial (marcación inicial) y de la secuencia en que fueron ejecutadas las transiciones
una vez habilitadas.
Como en la matriz de incidencia aparecen los Pseudoboxes, y estos son elementos con marcación
persistente, es necesario hacer una modificación en la ecuación de estado. Esta modificación
prevé el uso de una matriz D que es una matriz de orden (mxm), siendo m el número de lugares
de la red. Esta es una matriz diagonal, donde la diagonal principal corresponde al vector d, donde
di = 1 si li ∈ B y di = 0 si li ∈ P.
La ecuación de estado modificada es la siguiente:
M K +1 = M K + D ⋅ C ⋅ VK
22
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
En el sentido de Jerarquía, definimos los elementos “macros” que son la base de la jerarquía en la
red GHENeSys, a los cuales llamamos Integrons. Estos elementos representan toda una subred.
Como la red es bipartita, los elementos “macros” pueden ser también de dos tipos: actividades o
lugares. Las macro actividades comienzan y terminan como actividades y los macro lugares
comienzan y terminan con lugares. De esa forma nuestra red puede ser constituida mezclando
elementos simples y macros permitiendo la representación en varios niveles de abstracción.
Estos elementos por definición, poseen una entrada y una salida. Si garantizamos que estos
elementos sean propios la red resultante será viva [Glez01]. Por tanto, si desarrollamos el modelo
jerárquico de nuestro sistema mediante esta red podemos utilizar todas las herramientas
disponibles para el análisis y diseño de OPN’s. De aquí que se proponga la metodología resumida
en el siguiente epígrafe.
1.2.1 Metodología propuesta.
Para la utilización de todo lo anterior en el proceso de diseño de sistemas de automatización con
PLC’s proponemos los siguientes pasos:
1. Estudio del sistema a controlar y los requerimientos funcionales del usuario.
2. Determinación de la mayor cantidad de unidades funcionales del sistema de control, sin
coincidir necesariamente con su futura implementación.
3. Definición de acciones internas e interdependencias de cada unidad funcional y el nivel
jerárquico en que deben estar de acuerdo a estas interdependencias y su función en el sistema
de control.
4. Utilización de un diseño Top-down para establecer un modelo jerárquico basado en Integrons
para cada unidad funcional, estableciendo una red GHENeSys para todo el modelo del sistema
de control.
5. Refinamiento Botton-up del modelo para detallar la estructura de cada subred del modelo,
buscando su representación en un tipo de OPN lo más sencilla posible. En casos que su
23
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
simplificación sea imposible, y se requieran redes más complejas, se deben crear nuevas
subredes para atender solo a esa situación. Esto permite aplicar a la mayor parte del sistema
controlado métodos de diseño de modelos simples de OPN’s y las herramientas complejas
solo en pequeñas subredes.
6. Clasificación
de
cada
subred
y
determinación
de
sus
propiedades
funcionales
(fundamentalmente live y safe) y estructurales (fundamentalmente S- y T-Invariantes).
7. Aplicación del método de reglas de reducción simples para revisar la estructura de la red, y
lograr la mayor independencia entre selección y concurrencia de las ramas del modelo.
8. Reclasificación de cada subred modificada y redeterminación de sus propiedades, realizando
adecuaciones que permitan su cumplimiento.
9. Simulación del trabajo de cada subred y comprobación del cumplimiento de los requisitos
funcionales del usuario.
10. Reclasificación de cada subred modificada y redeterminación final de sus propiedades.
11. Estudio de las características particulares del equipamiento para su implementación y
modelado de la subred que realiza la sincronización de las comunicaciones.
12. Traducción del modelo a un programa SFC en todos los niveles, considerando el criterio del
usuario para seleccionar otro tipo de lenguajes (ST, IL, LD) para redes básicas.
1.3 Metodología de implementación de los modelos formales en OPN a lenguajes de PLC’s
IEC1131 compatibles y su reinterpretación, utilizando GHENeSys.
De acuerdo a toda la experiencia reunida por el estudio de muchos trabajos investigativos
relacionados con el tema. Consideramos que la mejor variante, para lograr un modelo sencillo
pero a la vez lo más completo en potencia de diseño, verificación y validación, permitiendo una
implementación y reinterpretación automática, es con el uso de las Redes Jerárquicas
Extendidas GHENeSys. Para ello utilizaremos la metodología descrita en el epígrafe anterior
hasta la obtención del modelo formal validado.
24
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Esto permite obtener un modelo jerárquico en varios niveles de toda la aplicación donde cada
nivel puede estar formado por tantas subredes como unidades funcionales (lo más pequeñas
posibles) tengan la suficiente independencia como para serlo. Esto garantiza una equivalencia con
la programación estructurada modular que propone la IEC1131 mediante los bloques funcionales
y subprogramas permitidos.
La restricción de que estas subredes sean propias (una entrada y una salida y todos los nodos
envueltos en caminos directos E/S) permite también subprogramas y bloques funcionales con
estas características.
La garantía de redes bien-formadas y vivas logran las estructuras requeridas para generar
automáticamente los bloques funcionales o programas libres de bloqueos, con autorrecuperación y
seguridad de funcionamiento. Para lo cual contribuyen los pasos de verificación ya efectuados.
También la validación ya realizada garantiza que el programa que se obtenga cumpla con los
requisitos funcionales demandados por el usuario, pues el modelo lo demostró. Pero además esta
en correspondencia con la solución generada a los problemas de estados prohibidos y cadenas
deseadas considerados durante todas las etapas del diseño formal hasta llegar al modelo validado
por simulación.
La concepción del diseño de cada subred integrando las estructuras típicas de Sistemas de
Eventos Discretos(DES) nos permitirá subdividir las estrategias de implementación o
reinterpretación de acuerdo a estas mismas estructuras que fueron utilizadas en el diseño. Esto nos
permitirá prever desde las primeras etapas del diseño las posibles estructuras del programa de
implementación.
Pero cada subred creada por el usuario es una nueva estructura que puede ser reutilizable, por
tanto puede ser almacenada en una biblioteca para la conformación de subredes más complejas.
De esta forma además de las estructuras típicas cada diseñador podrá ir adecuando su ambiente de
25
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
trabajo para lograr la integración de subredes más complejas que ya tiene preelaboradas y
validadas para la conformación de su sistema.
De acuerdo a todo lo anterior explicaremos las bases mínimas de todo el sistema, o sea las reglas
generales de analogías entre los elementos de la red jerárquica extendida de GHENeSys y los
lenguajes de programación IEC1131 compatibles.
1.3.1 Analogías entre GHENeSys y los lenguajes IEC1131 compatibles.
Como se trabaja sobre una red GHENeSys que ya se explicó pertenece al tipo de las CrtlPN, no
pueden utilizarse las reglas establecidas por Frey [Frey98] para las SIPN, pero tampoco son
aplicables todas las analogías presentadas en el trabajo de Uzam [Uzam98 ] para su APN, por las
diferencias que existen. Por tanto se establecen nuevas analogías.
- Para los Boxes se mantiene su equivalencia a un bit interno (marca de bit o bandera) del PLC.
O sea, su estado 0 o 1 corresponderá con el estado de una variable binaria interna del PLC.
‰
Los Pseudoboxes corresponderán con diferentes tipos de señales según su uso:
Si representa mediciones desde sensores del proceso corresponderán con entradas del PLC
(lo que según la IEC1131 pueden utilizar un identificador simple o el direccionado directo del
PLC).
‰
Si representa informaciones que vienen desde otras subredes u otras partes de la propia red
corresponderán con variables binarias internas (bits internos o banderas) del PLC (lo que
según la IEC1131 también pueden utilizar un identificador simple o su direccionado directo).
‰
Si representa el bit de salida de un temporizador o contador corresponderán con variables
representadas por el identificador del temporizador o contador seguido de “.Q” como
indica la IEC1131.
26
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
‰
Si representa la salida binaria de algún bloque funcional tendrán el nombre del bloque
funcional seguido de “.nombre de la salida del bloque” como reglamenta a IEC1131-3.
Los Boxes y Pseudoboxes dan las condiciones de disparo de las transiciones del modelo en
GHENeSys, por tanto corresponden con la parte condicional de las secciones de programas
resultantes de cualquier sección del programa.
Las operaciones lógicas entre estas señales estarán en dependencia de la estructura que las
entrelazan con la o las transiciones que le suceden. Es decir si todas entran a una sola transición
conforman una operación lógica AND. Si llegan a varias transiciones que después se unen en un
solo Lugar se traducen en una función lógica OR. Combinaciones de estas estructuras darían
también combinaciones de esas operaciones lógicas en el programa resultante.
La traducción de esta parte condicional a lenguajes LD e IL esta prácticamente implícita en la
definición de los lenguajes IEC1131 compatibles. En LD son contactos en serie o paralelo (ya
sea AND u OR respectivamente). En lenguaje IL serían precisamente instrucciones que
representan estas funciones binarias. En el caso de traducción a lenguaje ST estas condicionales se
convierten en las expresiones condicionantes de alternativas IF.
Consideramos que estas PN’s a traducir serán FC (contact-free), o sino deben ser transformadas a
contact-free utilizando la transformación del complemento antes de su traducción. Por tanto
eliminamos la necesidad de incorporar a las traducciones la parte del chequeo de los estados de
los Lugares de salida de las transiciones propuesta por Frey [Frey00]. Lo que también favorece el
proceso inverso de reinterpretación.
El resultado del disparo de una transición conformaría la parte de acción que sigue a toda parte
condicional de una red de programación elemental en cualquier lenguaje de PLC’s (ejemplo IL,
LD). Pero esa acción obligatoriamente implica el reseteo de todos los bits internos asociados a
los lugares de entrada y el seteo de los bits internos asociados a los lugares de salida. Esto
27
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
corresponde con una técnica también empleada en programación directa de PLC’s que consiste en
representar mediante banderas (bits internos o marcas) el estado de activación de la secuencia del
programa para luego poder utilizarlas en cualquier otra parte del programa que requiera sensar
este estado, o para saltos u otras acciones auxiliares. Esto puede extender algo mas el programa
resultante (sobre todo en IL) pero daría mas seguridad a la aplicación. No obstante puede tomarse
la convención de que el usuario asigne sobre el modelo las variables a los Lugares y la traducción
solo utilizaría nuevos bits internos si ese estado no tiene asignada ninguna otra variable y de esta
forma se evita la redundancia de estados en la traducción automática del modelo a el programa.
Luego esta parte de acción resultante de la traducción del disparo de esa transición será
aumentada con las acciones de impulso asociadas a la misma, es decir, el seteo o reseteo (según
sea 1 o –1 el valor de la función Q de asociación en la definición de GHENeSys) de las salidas al
proceso requeridas para ejecutar el cambio de estado que representa esta transición en el proceso
real.
Esta claro que en LD esta parte de acción son las representadas en bobinas de distintos tipos
(normal, negada, S, R). En IL conforma el conjunto de instrucciones de asignación, seteo y
reseteo. Para el lenguaje ST sería el cuerpo de la parte THEN de una alternativa IF.
Detrás de cada transición existe al menos un Lugar (solo Boxes). Como los Boxes pueden tener
acciones de nivel sobre salidas al proceso asociadas a su estado mediante la función Q, se
consultará por el estado del bit interno asociado a ese Lugar y luego se ejecutan las asignaciones
directas o negadas (según sea 1 o –1 el valor de la función Q de asociación) sobre las salidas hacia
el proceso.
Esta claro que todas estas salidas pueden estar nombradas por el direccionamiento directo en el
PLC o por un identificador que luego se asocia a esa dirección como lo reglamenta la IEC1131.
28
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Para la traducción a lenguajes IL, LD y ST de la consulta por el bit interno del Lugar y luego las
acciones de nivel que tiene asociadas siguen las mismas reglas expresadas anteriormente para
cualquier condicional y acción.
Si estas acciones de asignación, seteo o reseteo se ejecutan sobre entradas de un bloque
temporizador, contador u otro bloque funcional cualquiera, el nombre de la variable entonces
corresponde con el identificador del bloque funcional seguido de “.nombre_de la_entrada”.
Pero cualquier tipo de bloque funcional no recibe solo entradas binarias, ni tiene solo salidas
binarias. Generalizando para cualquier bloque funcional, es necesario una etapa de carga de
señales de diversos tipos (a veces ninguna binaria), luego el procesamiento de estas señales, y al
final la transferencia de los resultados a las variables asociadas a las salidas del bloque (algunos
casos ninguna binaria). Para esto la IEC1131 da una solución normalizada a su inclusión en la
programación LD que es el uso de las entradas EN y ENO para la asociación de bloques
funcionales a estos diagramas de escalera.
Para nuestro modelo aprovecharemos esta regla tan común entre los programadores de PLC’s para
el tratamiento de señales analógicas dentro de una OPN. Lo cual mantiene la potencialidad
gráfico-analítica de las OPN para el proceso de verificación y validación sin afectar la
representatividad del modelo frente al proceso real, pero sin complicarlo.
Para ello también aprovechamos otro elemento del sistema GHENeSys fundamental para no
perder formalidad en este modelo, los Macroelementos. Las redes en GHENeSys permiten la
existencia de MacroLugares y MacroTransiciones, que significan subredes propias que se
representan en el modelo por un solo elemento de mayor tamaño, pero que implican la ejecución
de varias acciones que pueden ser complejas pero que no afectan la interrelación con los demás
elementos del modelo, aparte de las entradas y salidas de ese Macroelemento representadas en el
esquema.
29
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
Por tanto cualquier bloque funcional podrá representarse por tres tipos de Macroelementos:
1. MacroLugar de entrada: Representa una subred que realiza la carga de todas las variables
del proceso a las señales de entrada al bloque funcional.
2. MacroLugar de salida: Representa una subred que realiza la transferencia de todas las
señales de salida del bloque funcional a las variables del proceso.
3. MacroTransición o MacroLugar de ejecución: Representa la subred que realiza la
ejecución de las operaciones internas del bloque funcional. Aquí hay dos tipos fundamentales
de operaciones normalizadas en todos los lenguajes de PLC’s IEC1131 compatibles: las
operaciones estándares por un lado y los bloques funcionales y funciones estándares por el
otro. En el primer caso estarán representados por MacroTransiciones y en el segundo por
MacroLugares, ya que en el segundo caso la complejidad es mayor al requerir la llamada al
bloque funcional o función y muchos de ellos necesitan de una transición resultante
generalmente activada por un bit de salida resultado de esa operación. Por ejemplo el bit de
salida de temporizadores.
Esto además de simplificar grandemente la representación de temporizadores y contadores en el
modelo en OPN (no es necesario utilizar transiciones temporizadas, ni peso de arcos como en las
APN de Uzam [Uzam98]), permite además realizar operaciones con bytes o words sobre modelos
con OPN, pues estas acciones quedan encapsuladas en las subredes de los Macroelementos y no
requieren ser modeladas al nivel de esta red.
O sea que en esta metodología no es requerido salir de las OPN’s para representar funciones de
temporización, conteo, ni analógicas como propone Uzam [Uzam98]. Tampoco es necesario
asociar operaciones lógicas entre señales a las transiciones como propone Frey [Frey00]
oscureciendo la representación gráfica y matemática del modelo.
Esta variante de modelado aprovecha la normalización aprobada en la IEC1131 para integrar
bloques funcionales y operaciones estándares a la programación LD, es decir el uso de las
entradas EN y salidas ENO si dicho bloque no dispone de entradas y salidas booleanas, lo que le
30
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
da fuerte compatibilidad con dicha norma aprobada por todos los fabricantes y usuarios de PLC’s
desde 1993.
Además la metodología permite modelar el comportamiento de los tres tipos de temporizadores
(TON, TOF, TP) y los tres tipos de contadores (CU, CD y CUD) de dicha norma internacional.
El modelo de la aplicación no requiere de que sea anexada el modelado del comportamiento de
estos tipos de temporizadores y contadores (porque esta encapsulada en los Macroelementos), así
como de ningún otro tipo de bloque funcional, al igual que sucede con los programas en lenguajes
de PLC’s que solo programan entradas y salidas del bloque. Esto coincide con la metodología de
PLC’s que rige la IEC1131 en la cual el usuario no necesita actuar sobre la programación interna
del temporizador, contador o cualquier otro bloque funcional, sino anexar a su programa una
instanciación de este. De igual forma el modelo solo anexa una instanciación de este bloque
(Macroelemento) utilizando sus entradas y salidas, el resto es modelado interno propio del
ambiente de modelado o de programación.
En el caso que se utilice un ambiente de modelado estándar solo se requerirá esta anexión
(modelado interno del Macroelemento) para el caso que se desee una simulación automática
completa del funcionamiento de todo el sistema controlado, pero en este caso además de anexar
estos bloque deben anexarse los modelos que simulan el comportamiento del proceso a controlar
(igual que se realiza en los ambientes de programación IEC1131 compatibles). De esta forma el
modelo de la red a verificar es solo la que representa el programa de control (o sea el controlador)
y por tanto aquí es donde se aseguran las propiedades para tener un diseño eficiente y por tanto un
programa resultante también más eficiente que es el objetivo central de la introducción de los
métodos formales en la programación de PLC’s.
En todo bloque funcional que se representa en un modelo sobre GHENeSys se utilizan los
Pseudoboxes para condicionar el momento de disparo de la transición de salida del modelo del
bloque a la ejecución verdadera del resultado de la acción del bloque funcional (por ejemplo bit de
31
Capítulo 1. Modelado en Redes de Petri para automatizaciones con PLCs
salida de temporizadores y contadores). Cuando no hay bit de salida de la ejecución del bloque
esta transición se ejecuta automáticamente luego de activado el Macroelemento de ejecución
interna del bloque funcional.
De esta forma queda resuelto el gran problema de representar mediante OPN’s las operaciones no
binarias combinadas con binarias tan comunes en múltiples aplicaciones de PLC’s, sin necesidad
de utilizar redes coloridas u otro tipo de redes de alto nivel. Así mantenemos la potencialidad de
verificación gráfico-analítica del modelo sin dejar de representar cualquier aplicación sobre
PLC’s.
Además se mantiene una correspondencia mas directa entre la estructura de un programa IEC1131
compatible con su modelo en PN’s, pues los bloques funcionales están previstos desde la etapa de
diseño.
En el uso de GHENeSys se recomienda como principal, y siempre que lo permita la herramienta
de programación de PLC’s desarrollada por cada fabricante en particular (determinada por el
equipamiento escogido en la aplicación).
Por todo lo recogido anteriormente, se puede apreciar la posibilidad de utilización de modelos en
la red jerárquica extendida GHENeSys para el diseño, verificación y validación de
automatizaciones, que luego pueden ser implementadas en programación modular estructurada
compatible con la norma IEC1131.
32
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
CAPÍTULO 2. DISEÑO, VERIFICACIÓN Y VALIDACIÓN SOBRE
GHENESYS.
En el proceso de diseño de sistemas de automatización con PLC’s, juegan un papel fundamental
la formalización, la verificación y la validación, por lo que es necesario tener en cuenta su
diferenciación.
La Formalización consiste en la creación de los modelos formales de las especificaciones
deseadas, del proceso no-controlado y del controlador resultante del diseño. Puede ser completa o
parcial en dependencia de si los tres elementos se formalizan o no, lo cual depende de la
metodología de diseño a seguir. Esta tiene gran importancia porque crea las bases para el estudio
formal del sistema, que lo resumen las dos etapas explicadas seguidamente.
Existen diferentes enfoques en el sentido de la formalización, uno de ellos es el caso de las reglas
Token Passing Marking (TPM) [Uzam98] para la formalización de especificaciones de control
dentro del diseño de supervisores de DES modelados en PN, que permiten comparar el modelo
controlado con los problemas de estados prohibidos y de cadenas deseadas, especificados para el
diseño en la Teoría de Autómatas de Wonham [Ramadge&Wonham89].
Verificación es la prueba de que la semántica interna del modelo es correcta independientemente
del sistema modelado. Las propiedades buscadas del modelo son: vivacidad, seguridad,
limitabilidad, alcanzabilidaa, etc. Estas son propiedades estándares, y por tanto, ya están
formalizadas, existiendo métodos gráficos (ej: análisis de RG o gráficos de alcanzabilidad,
técnicas de reducción o descomposición, etc.) y analíticos (ej: cálculo de invariantes S y T
mediante la matriz de incidencia, etc.).
Validación es la prueba que determina si el modelo concuerda con los propósitos del diseñador.
Investiga propiedades específicas del controlador, por lo que pueden o no estar formalizadas. Por
tanto, varía según el grado de formalización del método de diseño empleado.
33
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Los enfoques utilizados tanto en Validación como en Verificación se clasifican en los basados en
modelos (los que no los utilizan), y los que no utilizan modelos pero sí restricciones específicas
[Frey98, Frey00.1, Frey00.2, Mader00].
Los formalismos pueden ser PN, C/E-System, Autómata, Lógica de alto nivel, Lenguajes
sincrónicos, Sistemas de transición general y Ecuaciones algebraicas. Los métodos los clasifica
en: Simulación, Análisis de alcanzabilidad, Chequeo de modelo y Prueba de teoremas.
En este capítulo se proponen los enfoques basados en modelos que utilizan el formalismo de las
redes de Petri (PN) utilizando los métodos de chequeo gráfico y analítico de las propiedades del
modelo y la simulación. Las ventajas del formalismo PN ha sido tratado en muchos trabajos
[Holloway89, DiCesare93, Desrochers95, Uzam98]. Por tanto, solo nos concentraremos en los
métodos cuyos detalles presentaremos más adelante.
La mejor variante es la formalización de las especificaciones informales mediante un modelo al
que puedan verificarse sus propiedades estándares para luego validarlo. Entonces, con el diseño
verificado y validado se puede realizar su implementación con los niveles requeridos de
seguridad y optimización de las automatizaciones con PLC’s, y que garantice estar al nivel de la
complejidad de las aplicaciones actuales y de la necesidad de reducir el tiempo de desarrollo de
los proyectos.
Solo una metodología práctica y una herramienta visual que la respalde pueden permitir la
popularidad requerida a los métodos formales para terminar de absorber el mercado de diseño de
automatizaciones con PLC’s.
En el presente capítulo se profundiza en los métodos de diseño, verificación y validación que
pueden ser empleados dentro de esa metodología para garantizar las propiedades estándares en
los modelos de este tipo de automatizaciones. Así como, para validar el cumplimiento de los
requerimientos del usuario en el diseño del controlador resultante.
34
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
2.1 Actualidad en diseño, verificación y validación de automatizaciones con PLC’s.
En la actualidad existen muchos trabajos relacionados con la aplicación de métodos formales en
la verificación y validación de diseños de Automatización en procesos de Manufactura flexible,
procesos Batch, Supervisorios de DES, etc. Muchos de estos sistemas utilizan PLC’s en su
implementación. Por lo cual varias de estas líneas incluyen el desarrollo de modelos de
automatizaciones con PLC’s sobre PN’s [David92, DiCesare93, Zhou95, Desrochers95,
Holloway97, Uzam98]. Pero los métodos de análisis y diseño difieren de acuerdo a las
particularidades de cada modelo y de las líneas que siguen sus investigaciones.
El estudio formal sobre diseño de controladores de eventos discretos, tiene cuatro técnicas
fundamentales: Autómata, PN’s, Minimax y otras álgebras, Redes utilizando Pilas (queuing
networks). Dentro de ellas nos interesan los trabajos sobre PN’s por sus ventajas de sencillez
gráfica y matemática frente a los restantes métodos.
En el tutorial de Dr. Holloway [Holloway97] se resumen las principales líneas actuales de diseño
de controladores de eventos discretos sobre PN’s:
1. Enfoque al comportamiento controlado (Controlled behaviour approach) En este el
modelo incluye el comportamiento de la planta y el controlador juntos. Cuando se obtiene el
comportamiento deseado del sistema controlado, se debe extraer la lógica de control para su
implementación [Zhou & DiCesare93].
2. Enfoque al controlador lógico (Logic controller approach): Consiste en el diseño directo e
implementación del controlador del Sistema de Evento Discreto (DES) basado en definir el
comportamiento de E/S del controlador requerido para lograr el comportamiento deseado del
controlador del sistema. Aquí es necesario dar señales de entrada al controlador para que
ejecute las acciones requeridas, por tanto, es necesario validarlo por simulación [David92].
3. Enfoque teórico al control (Control theoretic approach) Usa el marco de control
supervisorio clásico de Ramadge y Wonham [Ramadge&Wonham89], dando un modelo del
35
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
sistema sin control y de acuerdo a este y a las especificaciones del comportamiento
controlado deseado, se sintetiza el controlador [Holloway97, Uzam98].
En los trabajos de Giua [Giua96] se discuten varias técnicas de PN’s para control supervisorio de
DES. De aquí extraemos los dos grupos importantes de Supervisorios basados en PN’s:
‰
Supervisorio Relacional (Mapping supervisor): La política de control es eficientemente
computada por un controlador en línea como función realimentada del marcaje del
sistema.
‰
Supervisorio compilado (Compiled supervisor): La política de control es representada
como una estructura de red.
La segunda es la mejor por ser más rápida al no tener el cómputo del controlador en línea, ambos
(sistema no-controlado y controlado) usan PN’s y pueden usarse construcciones basadas en la
composición de bloques estándares de redes para la creación del sistema a lazo cerrado.
Es importante destacar que en la teoría de Autómata están muy bien expresadas las
especificaciones del sistema de control relacionadas con dos categorías de clases de
especificaciones relacionadas en la literatura de control supervisorio [Ramadge&Wonham89]:
‰
Problema de Estados Prohibidos (Forbidden State Problem): Aquí las especificaciones
de control son expresadas como condiciones prohibidas que deben ser evitadas.
‰
Problema de cadenas prohibidas (o deseadas) (Forbidden (desired) String Problem):
Aquí las especificaciones de control son expresadas como una secuencia de actividades
que debe ser suministrada para que no permita la ocurrencia de secuencias de actividades
no deseadas.
La síntesis del supervisor se realiza teniendo en cuenta esto, es decir, los eventos que no creen
situaciones prohibidas son los que pueden ocurrir.
36
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
En PN’s ese mismo modelo puede ser usado para el análisis de las propiedades funcionales, la
evaluación del comportamiento, así como la construcción sistemática del controlador de eventos
discretos.
Existen varios enfoques para atacar los problemas de estados prohibidos y cadenas deseadas
sobre PN, empezando por el que los agrupa en una sola clase “Generalised Mutual Exclusions
Constrains” (GMEC) [Giua&DiCesare&Silva93], hasta el que trabaja en el uso de una clase
extendida general de CtrlPN [Holloway96].
Según Holloway, la síntesis de controladores de plantas modelados por PN’s que usan el último
acercamiento (Control teoretic approach), tienen dos líneas principales:
‰
Control de realimentación de estados (State Feebback Control) que se basa en la
adición de lugares de control a la PN’s creando las CtlPN (Controlled PN).
‰
Control de realimentación de eventos (Event Feeback Control) que se basa en la
asignación de eventos a las transiciones creando las LabPN (Labeled PN).
CtlPN (Controlled PN) es una tripleta Nc=(N,C,B) donde N = (P,T,F) es una OPN, C es un
conjunto finito de Lugares de control disjunto de P y T, mientras que B ⊆ (C x T) es el conjunto
de arcos desde los Lugares de control a las transiciones
LabPN (Labeled PN o PN Generator) es una quíntupla G = (N,Σ, l, M0, F) donde N = (P,T,F)
sigue siendo OPN, Σ es un conjunto (alfabeto) finito de eventos, l: Σ → T es una función que
asigna eventos a las transiciones, M0 es el marcaje inicial y F un conjunto finito de marcajes
finales.
37
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
2.2 Diseño sobre GHENeSys.
Inicialmente se realiza el estudio del proceso a controlar y los requisitos funcionales del sistema
controlado, para poder subdividir todo el sistema en la mayor cantidad de unidades funcionales
posibles, que podrán constituir módulos a los distintos niveles jerárquicos, permitiendo el mayor
grado posible de independencia, estando presentes sus interacciones en el módulo jerárquico
superior que los contiene.
Esta propuesta se corresponde con los métodos de modelado propuestos por varios autores, como
es el caso de Zhou [Zhou95], el que propone los siguientes pasos:
‰
Identificación de operaciones y recursos.
‰
Identificación de relaciones.
‰
Diseño de PN’s, el que comprende a su vez:
‰
‰
Diseñar Lugares y/o Transiciones asociados a eventos, operaciones y/o procesos.
‰
Arreglarlos de acuerdo a las relaciones identificadas en el paso precedente.
‰
Insertar lugares y transiciones necesarios para las interconexiones.
‰
Enlazar con arcos de entradas las transiciones con sus lugares condicionantes.
‰
Dibujar arcos de salida de transiciones hacia sus lugares resultantes de su disparo.
‰
Determinar el número inicial de tokens.
Modificación de PN’s: Chequear si el modelo refleja la operación del sistema y modificar la
red hasta que ella modele el sistema.
Las unidades funcionales propuestas en la metodología, agrupan operaciones y recursos que se
destinan a una función específica del sistema. Para éstas es necesario definir sus relaciones, con
el objetivo de establecer cuáles son relaciones internas que quedan dentro de ese módulo, y
cuáles son interrelaciones con otros módulos que serán modeladas en un nivel jerárquico
superior. Luego, se siguen los otros dos pasos de diseño y modificación para cada subred.
38
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
La utilización del diseño jerárquico que permite GHENeSys concuerda con el enfoque al
modelado (modeling approach) propuesto por Luca Ferrarini [Zhou95], donde incorpora las
técnicas Botton-up y Top-down en el modelado en PN’s. En este trabajo se plantea que la técnica
Botton-up brinda la posibilidad de definir tareas elementales, modeladas cuidadosamente, para
definir bloques elementales, llamadas ECT (Tareas de Control Elemental), que se interconectan
adecuadamente para formar la red, en su caso solo admite redes Máquinas de Estado (SM)
fuertemente conectadas. Esto coincide con la propuesta de GHENeSys, pero en éstas puede ser
cualquier tipo de OPN, solo cumpliendo las condiciones requeridas para sistemas propios
[Glez&Silva01] (una entrada una salida y caminos directos E/S que enlacen todos los nodos).
Además, Ferrarini plantea solo tres tipos genéricos de interconexión: autolazos (función similar a
arcos de prueba o habilitadores de los Pseudoboxes de GHENeSys), arcos inhibidores (también
considerados en los Pseudoboxes de GHENeSys), sincronización (generalizada) para compartir
recursos (considerada además en GHENeSys, solo que utilizando los Pseudoboxes únicamente
para compartir información [Glez&Silva01]).
La técnica Top-down de Ferrarini [Zhou95] se basa en la representación multinivel (jerárquica)
como la propuesta para enfrentar sistemas complejos por muchos otros autores (ej.
[Zhou&DiCesare&Desrochers89]), y que también se aplica sobre GHENeSys. Ferrarini defiende
el uso cuidadoso del intercambio de señales entre las subredes del sistema, estén o no en
diferentes niveles, para no dañar la sincronización. Eso también se tiene en cuenta en GHENeSys,
donde los Pseudoboxes facilitan enormemente este diseño, solo exceptuando el caso de compartir
recursos.
El estudio del proceso y de los requisitos funcionales del usuario pueden ser formalizados desde
esta etapa para garantizar un modelo jerárquico modular del proceso no-controlado en PN’s. Esto
coincide con la propuesta inicial de los seis métodos de diseño presentados en la tesis doctoral de
Uzam (Método del arco inhibidor, del arco habilitador, del Lugar intermedio, APN-SM, U-TPM,
C-TPM) [Uzam98T]. Pero en los primeros 4 métodos las APN que modelan el proceso nocontrolado y el supervisor están representadas de forma independiente, siendo enlazadas por
39
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
elementos auxiliares (arcos inhibidores, arcos habilitadores, lugares auxiliares y combinaciones
de los dos primeros) lo que aumenta el tamaño de la estructura final del sistema. Con los dos
últimos métodos se obtienen supervisores más compactos porque trabajan modificando el propio
modelo no-controlado. De estos últimos, el caso del C-TPM no requiere de la construcción del
RG del modelo no-controlado para crear el supervisor, y las especificaciones de estados
prohibidos son formalizadas independientes del modelo no-controlado. Estas son ventajas que se
aprovechan de la propuesta sobre GHENeSys, ya que preparan las condiciones para el uso de
métodos de análisis gráficos o matemáticos, según las posibilidades y necesidades del diseñador.
El método C-TPM [Uzam98] es una técnica de síntesis Bottom-up que utiliza el modelo nocontrolado y las reglas TPM basadas en las especificaciones de estados prohibidos para el diseño
del modelo controlador del supervisor. La implementación de estas reglas utiliza una mezcla de
arcos habilitadores e inhibidores. Después de esto debe ser verificada su corrección a través del
análisis RG. Se denomina Método C-TPM porque usa el Controlled model y las TPM rules, que
fueron extraídas directamente de las especificaciones de estados prohibidos. En estas últimas, si
la parte if de la regla contiene combinaciones AND u OR deben definirse en el modelo (para el
caso OR, duplicando la transición tantas veces como lugares de entrada existan, que luego entran
al mismo lugar siguiente).
Pasos del método C-TPM [Uzam98T]:
1. Diseño del modelo no-controlado del sistema usando APN.
2. Convertir las especificaciones de estados prohibidos dados en reglas TPM relacionadas.
3. Construir el modelo controlado del sistema por unión del modelo no-controlado con las reglas
TPM obtenidas en el paso anterior.
4. Generar el RG del modelo controlado.
5. Chequear el modelo controlado de acuerdo a las especificaciones por análisis de RG. Si no se
cumple volver al paso 2 a corregir y repetir la secuencia de pasos.
40
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
6. Implementar el supervisorio (modelo controlado) en el PLC utilizando el lenguaje de
programación Diagramas de Escalera (LD) o cualquiera de los lenguajes de la norma
IEC1131, según la preferencia del programador.
Para el trabajo sobre GHENeSys se aprovechan los tres primeros pasos del método adaptados
convenientemente.
El modelo del proceso no-controlado puede crearse utilizando la combinación de módulos
estándares sobre PN’s que representen las distintas funciones del modelo. Esto es conocido en
algunos trabajos como Modelado Modular.
Para crear facilidades de estructuración del programa resultante, estas estructuras deben ser
propias (solo una entrada y una salida y que para cada nodo existe un camino E/S que pasa por él)
[Glez01]. Esto coincide con las definiciones de PN’s bien formadas [Desel&Esparza95]. Al final,
tanto en los modelos PN’s como en los programas se garantiza vivacidad (evitando deadlocks) y
funcionamiento sin bloqueos respectivamente.
Las estructuras básicas para construcción de redes pueden ser divididas en dos grandes grupos
[Glez01]: las equivalentes a las estructuras de lenguajes de programación (que son propias) y las
básicas de sistemas de producción, que pueden ser trasformadas a propias mediante el uso de los
Pseudoboxes de GHENeSys (excepto el caso de compartición de recursos).
Primer grupo:
‰
Secuencial. Una acción detrás de otra.
‰
Condicional: Alternativas donde la solución del conflicto la resuelven los Pseudoboxes.
41
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
‰
Iteración. Repetición de acciones hasta obtener el resultado deseado.
‰
Paralela: Actividades que pueden realizarse al mismo tiempo o en cualquier orden de forma
paralela.
Segundo Grupo:
‰
Compartición de recursos o información: Se tienen dos procesos paralelos que comparten
el uso de un equipamiento o información.
‰
Sincronización:
Dos
secuencias
paralelas
sincronizadas
por
una
relación
de
pedido/reconocimiento.
42
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
‰
Relación productor-consumidor: Dos procesos paralelos donde la ejecución de una es
condición para la otra y viceversa.
Las que no se pueden transformar a propias, entonces se propone modelarlas en un bloque aparte
de una entrada y una salida para aislar la “fuente de bloqueos” y prever un algoritmo de control
para resolver este problema.
Además, hay otras estructuras para DES presentadas en Uzam98:
‰
Buffer: Almacenaje limitado de una producción intermedia, donde la capacidad el buffer (k)
es la capacidad del lugar de retorno inicializado a ese valor k.
‰
Pila FIFO: Secuencia de Buffers como en el caso de una banda transportadora.
‰
Máquina: Puede alternar entre dos estados (en espera o trabajando), pero puede además de
éstos dos estar descompuesta si el proceso no es fiable.
‰
Motor y actuador: Puede estar apagado o encendido, pero además puede ser que tenga doble
sentido de giro y entonces tiene 3 estados.
43
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Ambos tienen igual gráfico en PN’s:
Estas estructuras son representadas de forma diferente al crear el Supervisor, pues no es necesario
presentar la rotación de los dos o tres estados posibles, sino como dos o tres condiciones, que
luego activan las acciones sobre el sistema asociadas a los lugares. Para esto se usan los
Pseudoboxes simplificando las PN’s creadas.
Todas estas estructuras son utilizadas para conformar las distintas subredes que integran los
diferentes niveles de la jerarquía del modelo GHENeSys, que luego podrán ser traducidas a
programas en lenguajes estándares, como LD, IL o ST. Por tanto, todas son almacenadas en una
biblioteca de estructuras básicas de diseño de modelos. En el caso de utilizar un editor de PN’s
estándar (Visual Object Net ++ [Drath97, Drath98]), estas deben estar guardadas en ficheros
independientes que pueden ser llamados, copiados y luego insertados (pegados) en la parte que
nos interesa del fichero del modelo que estamos construyendo. Luego adaptados a las
particularidades de su aplicación, a conveniencia del diseñador.
Los requisitos funcionales del usuario no son más que la descripción funcional del sistema
controlado deseado. Con estos se pueden definir los problemas de estados prohibidos y cadenas
deseadas, que permitirían definir en el modelo no-controlado cuáles son las transiciones
controlables sobre las que se debe actuar para gobernar los eventos controlables del sistema.
Para la formalización de estas especificaciones se utilizan las reglas TPM [Uzam98], no son más
que estructuras de la forma:
If <marcaje>
Then <una transición controlable estará habilitada>
44
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Lo que significa que la transición indicada en la parte Then solo se habilita de acuerdo a la parte
If de la regla y para otro marcaje está prohibida.
Para llegar a esto, directamente de las especificaciones textuales, es necesaria la creación de una
regla intermedia que, en la parte If, en vez de marcaje tiene condiciones del proceso nocontrolado relacionadas en las especificaciones, y como parte Then tendría las acciones a
ejecutarse. Luego relacionando esto con el modelo no-controlado se puede redactar la regla final.
La política de control a seguir en el método C-TPM se basa en detener el disparo de las
transiciones controlables en el modelo no-controlado para supervisar que en el sistema no ocurran
los estados prohibidos. De esta forma solo se habilita el disparo de las transiciones que permitan
que el sistema se mueva en el espacio de estados máximamente permisibles.
Cada transición del modelo puede estar asociada a la ocurrencia de eventos externos que pueden
ser de dos tipos: controlables (pueden ser deshabilitados a través del control) o incontrolables
(los que no pueden ser deshabilitados a través del control). Sin embargo, las OPN no permiten la
asociación a sensores y actuadores, por lo que hace falta crear extensiones para atender sensores.
Por ejemplo, en GHENeSys el uso lo Pseudoboxes con arcos habilitadores o inhibidores sobre las
transiciones para atender los sensores y para los actuadores utiliza la asociación de acciones de
control a los Lugares (Boxes) y/o Transiciones (Actividades).
Con la introducción de los Pseudoboxes y asociación de acciones se completa la política de
control requerida para culminar el diseño del modelo del sistema controlado. A partir de aquí se
realizan las etapas de verificación y validación del modelo, dejándolo listo para su
implementación posterior.
45
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
2.3 Verificación sobre Ghenesys.
En los trabajos de verificación de SIPN [Frey98] se plantea la aplicación de los métodos de
análisis y verificación de PN’s basados en algoritmos de control. La idea es reemplazar la IPN
(Interpreted PN) usada por elementos de PN’s para tener una OPN. Después del reemplazo las
propiedades de la OPN son determinadas por el método del gráfico de alcanzabilidad.
No obstante, las características particulares de este tipo de LabPN obligan a la definición de
nuevas propiedades a verificar en este proceso. Por la asignación de salidas y no de acciones a los
Lugares se tienen asignaciones redundantes o contradictorias en diferentes Lugares de la red a la
misma salida del controlador hacia el proceso. Por tanto, de acuerdo a los invariantes S y T se
definen las salidas correctas estudiando salidas redundantes, contradictorias, marcaje óptimo,
sincronización, etc. Necesita soporte de invariante con marcaje 1 para un diseño óptimo.
Nosotros proponemos una variante similar, pero aplicada al caso de las redes GHENeSys, donde
no se tienen los problemas de redundancia y contradicción de salidas porque se trabaja asignando
acciones y no directamente salidas. En GHENeSys aprovechamos la propuesta de convertir el
modelo a una OPN al eliminar los Pseudoboxes y sus arcos de interconexión hacia las
transiciones controladas para realizar la verificación de propiedades de la red como Vivacidad y
Seguridad sobre una OPN. De esta forma la red elimina lugares fuentes y queda una red pura que
cumple con la condición necesaria de Vivacidad planteada por Murata [Murata89] (no tener
fuentes y sumideros).
El alcance de Vivacidad y Seguridad de esta OPN creada a partir de esa simplificación del
modelo controlado, garantizan un buen comportamiento de la red total (con la adición de los
Pseudoboxes).
Para la verificación en GHENeSys en este trabajo se utilizan herramientas gráficas sin llegar al
RG, como la búsqueda de redes bien-formadas mediante el método gráfico de reducción simple
46
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
[Murata89, Bilinski94, Desel&Esparza95], y la aplicación de el teorema del Rango
[Desel&Esparza95] como método analítico de verificación. No obstante, puede usarse el RG si
se desea, pero como nuestras redes son sencillas nos limitamos a usar este método. Verificar los
modelos de subredes sobre GHENeSys, estamos verificando las propiedades de dicho modelo.
La Vivacidad significa que una transición pueda dispararse otra vez, al no cumplirse dicha
propiedad, parte del algoritmo de control no se ejecutara más, y eso es un error de diseño que
debe corregirse. La red es viva si todas sus transiciones lo son. Por tanto, coincidimos que una
propiedad fundamental a comprobar durante la Verificación del modelo controlado es la
Vivacidad. Garantizando esto sobre la OPN que obtenemos de eliminar los Pseudoboxes sobre la
red GHENeSys del modelo controlado, es suficiente para evitar esos errores de diseño en el
programa resultante.
La Reversibilidad garantiza que el controlador descrito por la red alcance otra vez su estado
inicial, esto obliga a un buen comportamiento ante procesos erróneos, lo cual implica que la
recuperación automática de errores es posible. De aquí que si nuestra OPN es reversible el
programa del controlador resultante tendrá posibilidades de recuperación ante errores.
La mayoría de las aplicaciones de automatización con PLC’s pueden considerarse dentro del
rango de las Redes de Libre-selección (FC-nets). Por lo anterior, el análisis de Vivacidad y
Seguridad de los modelos controlados propuestos sobre GHENeSys pueden utilizar los métodos
propuestos por Desel y Esparza en su libro [Desel&Esparza95].
Las reglas de reducción brindan un método alternativo de análisis de buena-formación (well-
formedness) en FC-Nets [Desel&Esparza95]. El algoritmo de chequeo de buena-formación puede
ser transformado fácilmente en un algoritmo de chequeo de Vivacidad y Limitación de FCSystems usando el Teorema 6.17.
47
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Teorema 6.17 Caracterización de Vivacidad y Limitación de sistemas FC (L&B FCsystems) [Desel&Esparza95].
Un sistema de Libre selección (N,M0) es vivo y limitado si:
1. N es bien formada, y
2. M0 marca todos los sifones propios de N
Sifón: Es un subconjunto de Lugares S no vacío en una OPN (también conocido como
deadloock)
si •S ⊆ S• ; o sea, que cualquier transición teniendo un lugar de salida en S tiene
también un lugar de entrada en S; es decir, todas las transiciones están ligadas al menos por un
lugar de entrada. En un Sifón el conteo de tokens se mantiene o decrece. Un sifón es una parte
critica del sistema para el análisis de Vivacidad [Reising82].
Por tanto, primero se revisa si todos los sifones están marcados, y si es así se aplican las reglas de
reducción para comprobar si la red está bien formada.
También se propone el uso de las reglas de reducción simples [Murata89] como un arma eficaz
para permitir el análisis de propiedades de modelos en PN’s de sistemas complejos [Zhou95].
2.3.1 Reglas de Reducción Simple.
Para facilitar el análisis de grandes sistemas generalmente se reduce a uno simple, conservando
las propiedades del sistema. Las técnicas de transformar un modelo abstracto en modelos mas
refinados de una manera jerárquica puede ser usado para la síntesis de estos sistemas.
Las operaciones de reducción conservan las propiedades antes mencionadas de vivacidad,
seguridad y limitación. Es decir, si (N, M0) y (N’, M0’) son las PN’s antes y después de las
transformaciones. Entonces (N’, M0’) es viva, segura y limitada si (N, M0) lo es [Murata89].
48
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Las reglas de transformación simple son:
1. Fusión de Lugares Serie (FSP):
2. Fusión de Transiciones Serie (FST):
3. Fusión de Lugares Paralelos (FPP):
4. Fusión de Transiciones Paralelas (FPT):
49
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
5. Eliminación de Auto-Lazo (Self-Loop) de Lugar (ESP):
6. Eliminación de Auto-Lazo (Self-Loop) de Transición (EST):
Luego de realizado cada paso de reducción debe verificarse si la red está estructuralmente
correcta. Si se presenta alguna de las siguientes situaciones luego de realizado cada paso de
reducción, la red contiene un error estructural [Bilinski94]:
‰
Existe una transición con solo un lugar de entrada y uno de salida, y el conjunto de
transiciones de entrada asociadas al lugar de entrada no están separadas del conjunto de
transiciones de entrada asociadas al lugar de salida; en este caso la red no es segura.
‰
Cuando se realiza la fusión de lugares series (FSP), si ambos lugares poseen tokens, la red no
es segura.
‰
Existe una transición con solo un lugar de entrada y uno de salida, y el conjunto de
transiciones de salida asociadas al lugar de entrada no están separadas del conjunto de
transiciones de salidas asociadas al lugar de salida, en este caso la red no es viva.
‰
Existe una subred sin transiciones de entrada y salida, y existe al menos otro lugar o subred
en la red.
La Figura 2.1 representa un ejemplo de aplicación de este método de reducción. Se puede ver a
simple vista que es una red bien- formada; no obstante, aplicando las reglas simples de reducción
[Murata89] vemos que logramos reducir todo el sistema a una red simple de un lugar y una
transición.
50
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Figura 2.1. Ejemplo de la reducción de una subred a una red simple.
Si no se lograse reducir la red a una red mínima elemental de un lugar y una transición, es
necesario buscar la posibilidad de modificar la estructura de la red (sin cambiar su
funcionamiento), pero que permita esa reducción.
En el libro de Zhou[Zhou95] también se propone el uso de las reglas de reducción simple
[Murata89] como un arma eficaz para permitir el análisis de propiedades de modelos en PN’s de
sistemas complejos.
2.3.2 Teorema del Rango.
Si la subred es mucho más compleja puede aplicarse la variante de utilizar el Teorema del
Rango [Desel&Esparza95]. Este teorema brinda una vía de verificación analítica que permite una
solución completa al problema de definir Vivacidad y Seguridad de una FC-net dada, por la vía
polinomial, a todo el tamaño de la red, y a través de la caracterización de Redes Libre-selección
bien- formadas. En nuestro trabajo las redes diseñadas son sencillas pero aplicamos este método
para contar con una herramienta más de análisis de verificación.
Antes de analizar el teorema correspondiente se deben tener en cuenta definiciones importantes.
51
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
‰
Invariantes S y T (S- and T-invariants).
Un invariante de un sistema dinámico es una consideración que se mantiene en cualquier estado
alcanzable. En los sistemas de redes es posible calcular ciertos vectores de números racionales
(directamente desde la estructura de la red) los cuales inducen invariantes [Desel&Esparza95].
1. Expresión AY es la diferencia de marcajes en cada lugar. Permiten conocer el número de
veces que un determinado número de transiciones debe ser disparada para que el sistema
regrese a su estado inicial.
2. Expresión ATX es el cambio en una suma compensada de tokens para cada disparo de
transición. Constituye una medida de la conservación de marcas en una red.
Definición 2.26 Invariante S para las redes FC [Desel&Esparza95]:
Una solución entera X del sistema homogéneo AT X = Ø se le llama Invariante S.
Donde AT es la transpuesta de matriz de incidencia, y Ø es un vector columna con todos sus
elementos iguales a cero.
Se define S-invariante como el conjunto de Lugares de una P/T-net en los cuales no cambia el
conteo de tokens durante los disparos de transiciones [Reising82].
Definición 2.35 Invariante T para las redes FC [Desel&Esparza95]:
Una solución entera Y del sistema homogéneo AY = Ø se le llama Invariante T.
Donde A es la de la matriz de incidencia y Ø es un vector columna con todos sus elementos
iguales a cero.
Estos T invariantes indican como aun, comenzando desde algún marcaje M0, cada transición
tiene que dispararse un número de veces para reproducir (volver a producir) este marcaje
[Reising82].
52
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Definición 4.4 Cluster [Desel&Esparza95]:
Sea x un nodo de una red. El cluster de x, denotado por [x], es el mínimo conjunto de nodos tal
que:
‰
x ∈[x],
‰
si el lugar s pertenece a x entonces s• se incluye en [x], y
‰
si la transición t pertenece a x entonces •t se incluye en [x].
(Ver ejemplo en la Figura 2.2)
Figura 2.2 Ejemplo de partición de los nodos de una red FC en 4 clusters.
‰
Teorema del Rango.
Teorema 6.14 Sea N una red FC. Sea A la matriz de incidencia de N y Cn el conjunto de
clusters de N. La red N es bien-formada si [Desel&Esparza95]:
1. Está conectada y tiene al menos un lugar y una transición
2. Tiene un invariante S positivo,
3. Tiene un invariante T positivo, y
4. Rank(A) = |Cn| - 1
De acuerdo a los Teoremas 6.14, 6.17[Desel&Esparza95] y las definiciones anteriores esto puede
ser resuelto en forma polinomial mediante los siguientes pasos:
53
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
1º. Debe comprobarse que la red sea well-formed (bien formada), para eso debe cumplir los
4 puntos del Teorema 6.14. Se comprueba fácilmente que N esté conectada, y tenga al
menos un lugar y una transición.
2º. La existencia de un invariante S positivo se logra resolviendo el sistema de inecuaciones
lineales:
AT x X = Ø
X > (1,…,1)
3º. La existencia de un invariante T positivo se logra resolviendo el sistema de inecuaciones
lineales:
AxY=Ø
Y > (1,…,1)
4º. Luego se realiza el conteo de clusters.
Con el valor de este conteo de clusters Cn y el calculo del rango de la matriz de incidencia A de
la red N, se determina si Rank(A) = |Cn| - 1.
A continuación se muestra un ejemplo de aplicación de este método. La Figura 2.3 representa una
subred donde se aplica este teorema para la comprobación de redes bien- formadas siguiendo los
pasos anteriores.
Figura 2.3 Subred de Selección de las Variantes de Control y la partición de sus nodos en 6 clusters
54
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Primeramente comprobamos que la red esté conectada, lo que resulta por simple inspección al
observar que esta cuenta con más de un lugar y una transición conectados entre sí.
Seguidamente para comprobar la existencia de las invariantes de lugar S y de transición T, se
debe obtener la matriz de incidencia A de la red, está matriz es de orden 6 x 9 (lugares x
transiciones) donde sus elementos son los pesos de los arcos que van de las transiciones a los
lugares y viceversa.
La matriz de incidencia está dada por:
A6x9
⎡− 1 − 1 − 1 − 1
⎢1
0
0
0
⎢
⎢0
1
0
0
=⎢
0
1
0
⎢0
⎢0
0
0
1
⎢
0
0
0
⎢⎣ 0
0 0
1 0
0 −1
0
0
0
0
1
1
⎤
⎥
⎥
⎥
⎥
−1 0
0⎥
0 −1 0 ⎥
⎥
1
1 − 1⎥⎦
0
0
0
0
0
0
1
0
0
Obtenida A se pasa a buscar las soluciones del sistema homogéneo AT x X =Ø y A x Y =Ø, donde
el vector X representa las invariantes S y el vector Y las invariantes T.
Utilizando el método de Gauss o de eliminación sucesiva de las incógnitas se escalona la matriz
de ceros obteniéndose un sistema de soluciones, donde en la primera columna están las variables
libres o independientes. Las demás variables se pasan para el otro miembro y se le dan valores,
cabe destacar que este sistema tiene infinitas soluciones.
Calculando las invariantes se obtienen los siguientes resultados:
Invariantes T
Invariantes S
Y1 = −Y6 − Y7 − Y8 + Y9
X1 = X 6
Y 2 = Y6
X2 = X6
Y3 = Y7
X3 = X6
Y4 = Y8
X4 = X6
Y5 = −Y6 − Y7 − Y8 + Y9
X5 = X6
55
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
algunas soluciones son
Y = [1 1 1 1 1 1 1 1 1 1 1 4] ,[2 1 1 1 2 1 1 1 5] ...
⎡1⎤ ⎡2⎤
⎢1⎥ ⎢2⎥
⎢⎥ ⎢ ⎥
⎢1⎥ ⎢2⎥
X = ⎢ ⎥ , ⎢ ⎥ ...
⎢1⎥ ⎢2⎥
⎢1⎥ ⎢2⎥
⎢⎥ ⎢ ⎥
⎣⎢1⎦⎥ ⎣⎢2⎦⎥
Con ayuda del MATLAB salimos a buscar las soluciones y comprobamos de esta forma nuestros
cálculos, así como obtuvimos el rango de la matriz A que es 5.
Calculamos si el rango es Rank(A) = |Cn| - 1, sustituyendo |Cn| = 6, Rank(A) = 5. Por tanto el
modelo representa una red bien formada pues cumple con este método de verificación de redes,
comprobando además propiedades importantes como vivacidad (todas las transiciones son
habilitables y por tanto la vivacidad de la red es infinita) y limitación (se conserva el número de
tokens de la red) e invariantes S y T.
Luego de obtener el modelo verificado por alguna de las variantes (métodos), es necesario
comprobar si el controlador cumple con los objetivos para los cuales fue creado, lo cual se realiza
en la validación del modelo.
2.4 Validación sobre GHENeSys.
En el libro de Zhou [Zhou95] se plantea que los métodos de análisis de modelos en PN’s incluyen
la comprobación de si existe correspondencia funcional entre el modelo y las especificaciones
de requerimientos originales (típicamente expresadas informalmente), lo cual se comprueba en la
Validación. Lograr esta correspondencia requiere de experiencia en modelado y conocimiento de
las técnicas que ayudan a la construcción de modelos. Para este objetivo también se incluye el
Completamiento (Completeness) de las especificaciones de requerimientos. Estas últimas se
56
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
expresan generalmente como relaciones de E/S del sistema. Hay entradas que no se definen en
los requerimientos iniciales y deben ser completadas. Otro aspecto importante es la Consistencia
(Consistency) de las especificaciones de requerimientos. No existe consistencia (inconsistencia)
cuando una combinación de entradas genera varias combinaciones de salidas. Todo esto debe ser
comprobado minuciosamente durante la validación del modelo.
En este libro también se considera la Simulación de eventos discretos como otra vía para el
chequeo de las propiedades del sistema. Para ello se utiliza un algoritmo de ejecución para
“correr” la red. Es una técnica extensiva y consumidora de tiempo. Muestra la presencia de
propiedades indeseables pero no prueba la corrección (Correctness) del modelo en casos
generales, al ser prácticamente imposible poder probar todos los casos a presentarse. Sin
embargo, se mantiene como una propuesta por muchos autores. Específicamente Desrochers
[Desrochers95] la considera una herramienta de análisis de comportamiento cuando las
limitaciones de memoria de las computadoras no permiten generar los gráficos de alcanzabilidad
(RG). Desrochers plantea que la simulación permite observar cuántas veces un lugar es marcado
o no, y calcular la probabilidad de esto. Por tanto, la simulación del flujo de tokens puede generar
análisis estadísticos importantes del comportamiento de la red. Mucho más cuando la herramienta
de simulación permite trabajar con tiempos reales de ejecución del sistema en el modelo.
Zhou y Zurawaski [Zhou95] proponen un algoritmo que incluye:
1. Inicialización (marcaje inicial).
2. Número de pasos de simulación y criterios de parada (si hay transiciones deshabitadas reporta
un marcaje deadlock).
3. Selecciona aleatoriamente una transición a disparar y comprueba los tokens que remueve y
coloca.
4. Modifica la transición seleccionada en el paso 3 y repite los pasos 2 y 3.
57
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
En la validación sobre GHENeSys se plantea el estudio simulado del comportamiento del modelo
controlado verificando el cumplimiento de las restricciones de estados prohibidos y la secuencia
del comportamiento correcto del controlador.
Considerando el diseño modular jerárquico sobre GHENeSys, las subredes a analizar son propias
(una entrada, una salida y caminos E/S que cubren todos los nodos); y además, durante la
verificación debe haberse logrado la vivacidad de la subred. Por ello, como estas subredes no
tienen grandes dimensiones, podemos reincorporar los Pseudoboxes y realizar la simulación de su
comportamiento como un medio de evaluación del cumplimiento de las especificaciones del
usuario para el sistema controlado.
Para lograr esto se plantea la utilización de herramientas de simulación por computadoras para
comprobar el comportamiento de la red. Pues ello permite comprobar que el sistema no presente
bloqueos y nunca ocurran los estados prohibidos que pueden provocar afectaciones a la
producción o situaciones peligrosas. De esta forma el sistema debe transitar siempre solo por las
secuencias deseadas (que corresponden a las cadenas deseadas evaluadas en la formalización de
las especificaciones) en cualquier circunstancia.
Por ello es muy importante definir una herramienta eficaz en la simulación del comportamiento
de una red. En el desarrollo de este trabajo se escogió el Visual Object Net ++ [Dath97, Dath98],
el que aun no constituye la herramienta ideal, pero sí brinda algunas posibilidades al soportar el
trabajo con Place/Transition Nets, Petri Nets Temporizadas, Hybrid Dynamic Nets y Hybrid
Object Nets. De ellas, para los trabajos con GHENeSys interesa la fortaleza en las dos primeras,
utilizando las facilidades de extensión al uso de arcos inhibidores y arcos de habilitadores (test)
de que dispone dicho editor.
58
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
2.4.1 Herramienta de diseño sobre GHENeSys e implementación automática.
Para modelar el proceso en Redes de Petri se usa el software Visual Object Net ++ (VON), que
consideramos la herramienta que mejor se adapta a nuestros intereses por sus facilidades visuales
de edición y simulación, aunque tiene la desventaja de no dar grandes facilidades de análisis,
cálculo de invariantes, técnicas de reducción automática, etc. No obstante, éstas pueden ser
suplidas añadiendo una herramienta adicional de cálculo que pueda aprovechar la información de
los ficheros que almacenan la estructura de la red editada sobre el VON.
El VON soporta el trabajo con Redes de Petri, para los trabajos con GHENeSys se utiliza las
facilidades de extensión al uso de arcos inhibidores y arcos de prueba (habilitadores) de que
dispone dicho editor. De esta forma se puede desarrollar cualquier variante de OPN’s,
adicionándole los Pseudoboxes con arcos inhibidores y habilitadores requeridos para la creación
de cualquier aplicación de GHENeSys. Dispone de las facilidades de simulación corrida o por
pasos de forma interactiva (pudiendo el usuario cambiar el marcaje de los Pseudoboxes sin
interrumpir la simulación del sistema).
A pesar de las facilidades del VON esta no es la herramienta ideal para el trabajo con redes
GHENeSys porque no dispone de opciones de:
‰
Utilización de una biblioteca de módulos propios para ayudar al diseño de cada subred.
‰
Uso de facilidades para cálculos automáticos de apoyo al análisis funcional y estructural de la
red, que permitirían realizar la búsqueda de redes bien-formadas para que puedan cumplir la
Vivacidad y Seguridad requeridas, como pueden ser: reducción automática, calculo de
invariantes de Lugar y transición, conteo de clusters, definición de cobertura por
componentes S o T, aplicación del Teorema del Rango, etc.
‰
No dispone de facilidades de implementación automática a lenguajes de PLC’s IEC1131
compatibles que serán incorporadas a GHENeSys.
59
Capítulo 2. Diseño, Verificación y Validación sobre Ghenesys
Por lo anterior, es necesario desarrollar una herramienta específica que permita las facilidades
anteriores junto a las ventajas ya expuestas sobre el VON.
El objetivo final es lograr la traducción automática de la metodología empleada sobre una
herramienta completa. No obstante mientras se mantiene en desarrollo esta nueva herramienta, se
utilizará el Visual Object Net (VON) para el diseño del modelo utilizando una biblioteca de
estructuras típicas en ficheros independientes que puede irse ampliando con nuevas subredes
validadas por el usuario [Drath97, Drath98].
En la Figura 2.4 se presenta la ventana del VON con el modelo de la subred representada en la
Figura 2.3 simulado y verificado, la Variante 2 es la seleccionada en este caso. Se observa como
la transición T1 disparó el token para activar el Macrolugar MP3: Variante 2 que representa una
subred independiente.
Figura 2.4 Simulación y Verificación de la Variante 2 en el Visual Object Net.
60
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
CAPÍTULO 3. APLICACIÓN DE LA METODOLOGÍA PRESENTADA
EN LA AUTOMATIZACIÓN DE DOS INSTALACIONES DE
LABORATORIO.
En nuestro país no resulta frecuente encontrar en la literatura que trata el tema de las PN’s, la
aplicación de los trabajos desarrollados en este campo a sistemas reales, generalmente aparecen
relacionados a sistemas didácticos utilizados con fines demostrativos (aunque como resultado del
empleo de esta metodología, también se está trabajando con resultados satisfactorios en una
terminal de embarque de azúcar, en Carúpano [Elio02]). La aplicación del novedoso método del
modelado del programa utilizando GHENeSys, y el análisis posterior desarrollado sobre los
modelos de estas automatizaciones de instalaciones de laboratorio reales con PLC’s, resulta una
magnífica ocasión para demostrar las posibilidades de la metodología presentada. Además
demuestra la capacidad representativa de GHENeSys para cualquier tipo de sistema que utilice
PLC’s, ya sea, discreto, continuo o híbrido, con la inclusión de los comparadores y otros bloques
de funciones sin tener que salir del marco de las OPN’s, propiciando de esta forma la utilización
de métodos sencillos de análisis, verificación y validación, así como una fácil traducción a los
lenguajes estándares IEC1131 compatibles.
A continuación se detallan las particularidades de cada una de las instalaciones del Laboratorio
de Control de Procesos de la Universidad de Oriente, los elementos que las forman, las
estructuras de control y las señales a considerar en ellas, así como la secuencia de operación del
sistema, concluyendo con el diseño del modelo y su traducción a lenguajes de PLC’s siguiendo la
metodología desarrollada en el Capítulo 2.
3.1 Panel de nivel
El Panel de Nivel está formado por dos tanques, uno superior y otro inferior. Una bomba que
impulsa el agua del tanque inferior al superior y una electroválvula que evacua el líquido del
61
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
tanque superior al inferior. El tanque superior tiene tres sensores que indican el nivel del agua y
mandan su señal al panel frontal de la instalación para su indicación con tres leds y a un PLC
esclavo que controla el funcionamiento del sistema según la variante, de cuatro posibles, escogida
(Figura 3.1).
Fig. 3.1 Panel de Nivel.
3.1.1 Funcionamiento de la instalación.
Se controla el nivel de agua en el tanque superior, para ello se cuenta con tres sensores de nivel
ubicados en los extremos bajo (sensor3), alto (sensor1) y un tercero situado en el centro
(sensor2), dando la posibilidad de que el operador escoja las siguientes variantes de control:
1. Implementa la condición inicial (tanque lleno), permitiendo que los sensores puedan trabajar
en la forma prevista. Es de carácter obligatorio para desarrollar las otras variantes.
2. Realiza el control desde el centro (sensor2) hasta la parte superior (sensor1).
3. Realiza el control desde el nivel inferior (sensor3) hasta el centro (sensor2).
62
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
4. Realiza el control desde el nivel inferior (sensor3) hasta el superior (sensor1).
En la versión de control local estas variantes, así como el encendido, parada y selector de manual
o automático, son interruptores que se encuentran en un pequeño panel de control, y se relacionan
con las diferentes entradas del autómata esclavo, que trabajará como controlador. Sin embargo en
la variante de control remoto el PLC maestro es prioritario sobre el panel frontal de la instalación,
por tanto a través de la red UNI-TELWAY, el maestro le envía la variante de control deseada o le
da el control al panel.
Para la operación del proceso primero se escoge si el control se realizará de forma manual o
automática. Si es automático se pulsa el botón START. Comenzará entonces la operación del
proceso siempre que el selector de variantes esté en variante 1 (condición inicial). A partir de ese
momento el sistema trabajará según la variante escogida. Por ejemplo si se escoge la variante 4 y
el sensor superior se activa, el control desconecta la bomba y manda a abrir la electroválvula, con
la finalidad de que el nivel disminuya, hasta que se active el sensor inferior, momento en el cual
el control conecta la bomba y manda a cerrar la electroválvula, para que el nivel suba hasta llegar
al sensor superior, repitiéndose el mismo proceso hasta que se escoja otra variante o se pulse el
botón STOP. Como puede apreciarse el control utilizado es un control ON-OFF (véase Anexo 1).
3.1.2 Diseño del sistema de control del Panel de Nivel utilizando GHENeSys.
Siguiendo la metodología presentada en el Capítulo 1, el primer aspecto a considerar es el estudio
del proceso a controlar y sus requerimientos (paso 1), que se corresponde con la fase de
especificaciones informales típicas de las aplicaciones con PLC’s.
De esta forma se determinó la secuencia correcta de operación del proceso en las diferentes
variantes (constituye el conjunto de cadenas deseadas a lograr en el modelo), los errores que
pueden ocurrir durante la operación (resultan los estados prohibidos indeseables en el modelo),
63
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
así como la cantidad y tipo de señales a considerar, entre las que se encuentran las relacionadas
con los sensores y que resultan señales de entrada al PLC (correspondiéndose con los eventos
observables, representándose en GHENeSys por Pseudoboxes) y los actuadores, que constituyen
señales de salida del PLC y están asociadas a las acciones de control (representándose por Boxes
en GHENeSys). Parte de esta información se presentó de forma resumida anteriormente.
Formalización.
Los pasos del 2 al 5 de la metodología están estrechamente relacionados, y se asocian a la fase de
formalización de las aplicaciones con PLC’s, garantizando con ello la obtención del modelo
idóneo. Estos pasos tienen como objetivo fragmentar el sistema en las menores unidades
funcionales posibles, definir los niveles de jerarquía en la estructura del modelo e identificar sus
interrelaciones entre los módulos (subredes) que la forman, correspondiéndose las unidades
funcionales definidas con las subredes, tratando de representarlas en un tipo de OPN lo más
sencilla posible, según lo permita la aplicación dada.
Siguiendo estos principios, la aplicación fue descompuesta en la siguiente estructura modular
jerárquica:
‰
Secuencia principal (selector Manual - Automático).
‰
Selección de las variantes de control.
‰
Variante 1: Tanque lleno.
‰
Variante 2: Alto - Medio.
‰
Variante 3: Medio - Bajo.
‰
Variante 4: Alto - Bajo.
‰
Llenar tanque.
‰
Vaciar tanque.
64
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Todas estas unidades funcionales constituyen subredes modeladas con el nivel jerárquico que
indica el escalonamiento de la estructura presentada anteriormente. En los anexos aparece como
éstas quedaron finalmente, luego de todo el proceso de análisis y diseño (Véase Anexo 1).
Debemos mencionar que resulta difícil desde una etapa primaria del diseño, prever la cantidad
total de módulos, su nivel de jerarquía y sus interrelaciones, esto lo genera todo el estudio
ulterior, depurándose y refinándose gradualmente a medida que el proceso alcanza mayor alcance
y profundidad (diseño Top-down y Bottom-up).
Siguiendo los pasos señalados en la metodología, se logró modelar todas las subredes del sistema
no-controlado en la más sencilla de las OPN’s definidas; es decir, en redes Máquinas de Estado
(SM), pues todas las transiciones tienen un único arco de entrada y uno de salida [Murata89], al
permitirlo así el sistema que se analiza y hacer el correspondiente estudio del proceso.
También debemos señalar que en las redes obtenidas el número máximo de tokens en los lugares
es menor o igual a 1; o sea, M(p) ≤1 [Murata89, Piedrafita99], pudiendo modelar el grueso de las
redes dentro de las clasificadas como Condición/Evento. Esto, junto a lo mencionado
anteriormente (las redes SM obtenidas) garantizan un modelo lo más simple posible, y con ello
un análisis mucho más sencillo de sus propiedades, generando a su vez una mayor sencillez de las
etapas de verificación, validación e implementación posterior.
Al realizar la implementación del modelo a su programa correspondiente en lenguaje compatible
de la norma IEC1131, las subredes de mayor complejidad representan subprogramas o
subrutinas, los que se invocan siguiendo la secuencia que indica la jerarquía del modelo; es decir,
las subredes de mayor jerarquía encierran (encapsulan) subredes de menor jerarquía, éstas últimas
se invocarán en el programa siguiendo el encadenamiento implícito en el modelo.
Como se puede observar, se logró un modelo con alto nivel de modularidad y con varios niveles
de jerarquía, estando relacionadas las subredes solamente por aquella información que resulta
65
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
común a ellas (dada por los Pseudoboxes), logrando de esta forma alta independencia en el
modelo jerárquico, lo que redunda en facilidades de mantenimiento del programa obtenido, al
poder realizar cambios locales en las subredes, sin tener en la mayoría de los casos que modificar
el resto del programa, garantizando además una mayor transparencia de éste; es decir, una fácil
comprensión de lo que hace el programa, la cual mejora con el número de módulos y los niveles
que lo forman [Frey00.4].
En la etapa de formalización, y como se indicó en el Capítulo 2 al tratar el tema de diseño según
GHENeSys, para la conformación del modelo se adapta el método C-TPM [Uzam98] a la
metodología que aplicamos; es decir, para cada subred se sigue la secuencia de obtener
primeramente el modelo no-controlado, luego la definición de los estados prohibidos según las
reglas TPM, y posteriormente se obtiene el modelo controlado por la fusión de los pasos
anteriores.
Veamos cómo se aplica éste método seguidamente, escogiendo como ejemplo una de las
subredes, siendo esta la Variante 2(Alto - Medio).
La subred de Variante 2 es la correspondiente al control entre el medio y el tope del tanque. En
este caso, existen cuatro condiciones, el nivel esté en uno de los tres sensores o no, lo que
dependerá de la información que se obtiene de los sensores ALTO(1), MEDIO(2) o BAJO(3)
ubicados en la parte superior, medio e inferior del tanque respectivamente.
Como se observa en la Figura 3.2 solo se ha tenido en cuenta la secuencia del proceso nocontrolado y los Lugares son interpretados como estados del proceso no-controlado, y las
Transiciones como las transiciones de estado asociadas a algún evento de transición.
Luego se requiere definir los eventos observables del proceso (representados mediante
Pseudoboxes), los que actuarán sobre los eventos controlables (representados por transiciones
66
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
controlables en el modelo no-controlado), a los que llegan los arcos inhibidores o habilitadores
desde los Pseudoboxes.
Figura 3.2 Primera fase del diseño de la subred Variante 2.
Para esta unidad funcional, donde son varios los caminos a seguir, se escogerán uno de los
posibles, puesto que el análisis para los restantes es similar. Las especificaciones del proceso
controlado establecen que no se puede vaciar el tanque (abrir la electroválvula y cerrar la bomba)
hasta que no se active el sensor 1 indicando que el tanque se ha llenado. Es decir:
If tanque lleno
Then apagar bomba AND abrir electroválvula
En este caso el estado prohibido es el siguiente:
If tanque no lleno
Then apagar bomba AND abrir electroválvula
En el sistema no-controlado la regla TPM para uno de los posibles caminos sería:
If M(p1) = 1
Then T2 estará habilitada
67
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
El complemento de la regla TPM anterior sería:
If M(p1) = 0
Then T2 estará bloqueada
Pero como vemos, esta definición de las reglas no tiene en cuenta el nivel del tanque, solo la
secuencia de ejecución del sistema y tendríamos un conflicto entre los tres caminos. Por tanto,
deben considerarse los eventos observables (sensor 1) para la solución de éste. En la cadena
deseada sería tanque lleno y el estado prohibido sería que el tanque no estuviera lleno (sensor 1
desactivado). Por consiguiente, tenemos solo un estado inicial en el chequeo del nivel del tanque,
y se tiene en cuenta las señales externas (de los sensores) para resolver el conflicto.
Entonces las reglas TPM generadas de las dos situaciones serían:
De la Cadena deseada
Del Estado prohibido
If M(p1) = 1 AND M(PS2) = 1
If M(p1) = 1 AND M(PS2) = 0
Then T2 estará habilitada
Then T2 estará deshabilitada
De esta forma se adiciona al sistema no-controlado (Figura 3.2) los Pseudoboxes (eventos
observables) actuando sobre las transiciones controlables. Es decir, se agrega la habilitación de
T2 al activarse la señal del Pseudobox PS2.
Considerando el caso contrario en T2 (complemento) para cualquier estado de PS2, la transición
T2 está deshabilitada; en regla TPM sería:
If M(p1) = 0 AND ( M(PS2) = 1 OR M(PS2) = 0 )
Then T2 estará deshabilitada
Esto permite que el bloqueo de T2 permita que la bomba siga funcionando, para ello la transición
controlable T4 queda habilitada en M(p1) = 1 y los sensores deshabilitados, condición contraria a
T2, activando directamente el lugar P5 para mantener la vivacidad de la red y la secuencia de
68
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
operación del sistema controlado mediante un PLC (donde se chequea el tiempo máximo de cada
ciclo de ejecución).
Figura 3.3 Adición de Pseudoboxes al diseño utilizando el método C-TPM [Uzam98].
El mismo procedimiento anterior se siguió para las demás redes, obteniendo de esta forma el
modelo general del programa.
Verificación.
Posteriormente se siguieron los pasos del 6 al 8 de la metodología, los cuales están
interrelacionados, y se asocian a la fase de verificación, así como las correspondientes
modificaciones que sea necesario realizar para lograr redes vivas y seguras. Como ya se ha visto,
en esta etapa se propone aplicar el método de las reglas de reducción [Murata89, Bilinski94,
Desel&Esparza95] para la comprobación de estas propiedades verificando la buena conformación
de la red.
69
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Veamos a continuación en la Figura 3.4, cómo se aplica este método de las reglas de reducción,
tomando nuevamente como ejemplo la subred Variante 2 (Alto-Medio).
Figura.3.4 Aplicación de las reglas de reducción a la subred Variante 2.
Como se puede observar en la figura anterior, la subred puede reducirse hasta lograr una red
mínima; es decir, solamente un lugar y una transición, garantizando con ello las propiedades de
vivacidad y seguridad deseadas.
Se pudo comprobar, cómo luego de todo el proceso de modificación, simplificación y
depuración, todas las redes obtenidas resultan redes bien-formadas (prácticamente se deduce por
simple inspección), y por ende, cumplen con las propiedades de vivacidad y seguridad,
obteniéndose por ello un modelo sintácticamente correcto (Véase Anexo 1).
70
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Validación.
Luego de la fase de verificación ya vista anteriormente, continuamos el procedimiento
enmarcándonos en los pasos 9 y 10 de la metodología, los que se asocian a la fase de validación
del modelo, realizando la simulación del trabajo de cada subred auxiliándonos del asistente por
computadoras Visual Object Net ++ (VON) [Drath97, Drath98], comprobando de esta forma que
el funcionamiento de cada una de ellas se correspondiera con las exigencias del sistema,
recogidas en la etapa inicial de diseño. Lo cual se hizo hasta obtener la versión final (ver Figura
3.5), modificando el modelo convenientemente hasta lograr los objetivos que se persiguen con la
aplicación de estos métodos formales de diseño, comprobación y análisis.
En la Figura 3.5 se puede observar como se utilizan Macroboxes (Macrolugares en GHENeSys
[Glez&Silva01]) porque representan subredes de menor jerarquía, que ejecutan las acciones de
vaciar o llenar el tanque. Teniendo como ejemplo el caso de MP6 donde se manda a vaciar el
tanque (abrir electroválvula y apagar bomba) si el sensor 1 (PS2) se ha activado.
Figura 3.5 Modelo general verificado y validado de Variante 2.
71
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
En la Figura 3.6 se representa la subred asociada a la Selección de las Variantes, utilizándose de
la misma forma ya vista para su diseño, en el VON. En esta subred de Selección se observa el
Macroelemento MP3 que agrupa toda la subred de la Variante 2 analizada anteriormente (Figura
3.5).
Figura 3.6 Representación de la subred de Selección de Variantes del Panel de Nivel.
Se puede observar en esta Figura 3.6 que al iniciarse la red (P1) se dispara automáticamente la
transición T1 si se ha escogido la variante 2 (marcado Pseudobox PS10), y se ejecuta la subred
que en ese momento esté habilitada. En el caso representado en la figura, los Pseudoboxes PS7,
PS8 y PS9 están deshabilitados, por lo que solo se autoriza la ejecución de la Variante 2 (Alto Medio). Esta unidad funcional está encapsulada en el MacroLugar MP3, debido a que solo nos
interesa su habilitación y deshabilitación, pero no los detalles internos a este nivel de jerarquía.
72
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Al completarse la operación de esta subred se dispara la transición T6, activando a su vez al lugar
P6; así sucesivamente ocurre para el resto de las variantes siempre que hayan sido seleccionadas.
Implementación.
Los últimos pasos (pasos 11 y 12 de la metodología) están relacionados con la fase de
implementación, y tienen como objetivo lograr la traducción del modelo obtenido a su
equivalente en los lenguajes de programación que admita el equipamiento escogido para la
aplicación. Esta traducción se realiza siguiendo los aspectos definidos en el Capítulo 2
(implementación de GHENeSys a lenguajes IEC1131 compatibles), realizándose comúnmente de
forma intuitiva por la sencillez del método.
En nuestro caso, al utilizar un PLC de la firma TELEMECANIQUE, estamos enmarcados a
realizar la programación en los lenguajes LD o GRAFET (similar al SFC), al no tener
desarrollada esta firma ninguna herramienta hasta el momento que permita otra forma de
programación de sus PLC’s. No obstante, la generalidad y concepción de la metodología
propuesta, y la capacidad de representación de GHENeSys, permiten utilizar cualquiera de los
lenguajes recogidos en la norma IEC1131, así como PLC’s de cualquiera de los fabricantes que
comercializan este tipo de equipamiento, estando limitado solamente en que sus prestaciones y
posibilidades permitan adaptarlos a la aplicación concreta que se analice.
En la Figura 3.7 se representa el programa en FBD/LD del control del Panel de Nivel valiéndonos
para ello de la metodología propuesta (Capítulo 2) y del programa ISaGRAF 3.3 de CJ
International [Bonfatti99].
En esta Figura 3.7 se observa la estructuración del programa en la ventana izquierda y la sección
de un programa para la simulación del proceso.
73
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Figura 3.7 Programa en FBD/LD del control del Panel de Nivel utilizando el ISaGRAF 3.3.
Luego de la implementación se realiza la validación final del funcionamiento del sistema
controlado con ayuda de las facilidades que brinda el ISaGRAF 3.3 para esto.
En el Anexo 2 se ven los resultados de la simulación del sistema controlado con su Interfaz
Hombre- Maquina (HMI) de operación. Esto permitió la validación final haciéndose cumplir los
requerimientos del usuario.
3.2 Panel Gaseoso.
El Panel Gaseoso está formado por un tanque cilíndrico metálico que posee una entrada a través
de una válvula neumática normalmente abierta, y tres válvulas manuales de salida, cada una con
una resistencia diferente (Véase Figura 3.8). Para que esta instalación comience a funcionar sólo
74
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
debemos asegurarnos que el compresor esté en funcionamiento y como medida de seguridad una
de las válvulas de salida del tanque debe estar abierta.
El tanque tiene un sensor-transmisor de presión que le envía la información al PLC, dispositivo
que controla totalmente el sistema.
Figura 3.8 Panel Gaseoso.
3.2.1 Funcionamiento de la instalación.
La presión en el interior del tanque comienza a aumentar, esta se indica en un manómetro, y se
mide con un sensor-transmisor neumático de presión. El PLC (TSX17), recibe la información
transmitida por el sensor- transmisor a través del módulo de entrada analógica (TSX AEG-4110)
de ampliación del equipo. Según el programa elaborado para ello, envía su señal de control al
módulo de salida analógica (TSX ASG-2000) y éste al elemento de acción final (válvula
neumática) a través de un transductor electro- neumático.
75
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
En la instalación se mide, además, la presión inmediatamente antes y después de la válvula de
regulación, y a la salida del transmisor. Después de dos de las válvulas de salida del tanque se
encuentra instalado un rotámetro, que indica el flujo de aire que se escapa a la atmósfera.
3.2.2 Diseño del sistema de control del Panel Gaseoso utilizando GHENeSys.
Para obtener el modelo de esta instalación se siguieron los pasos de la metodología propuesta en
el Capítulo 1, y en el desarrollo del modelo del Panel de Nivel explicado en el epígrafe anterior.
Por lo tanto no se entrará en muchos detalles de los pasos seguidos y se expondrán directamente
algunos resultados.
Formalización.
Según los pasos del 2 al 5, buscando las menores unidades funcionales posibles, se definen los
niveles de jerarquía en la estructura del modelo y se identifican sus interrelaciones entre las
subredes que la forman.
La aplicación del Sistema del Panel Gaseoso fue descompuesta en la siguiente estructura modular
jerárquica:
‰
Secuencia Principal (Selector Manual- Automático).
‰
Automático.
‰
‰
Control PI discreto.
Manual
‰
Presión hacia la válvula
76
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Todas estas unidades funcionales constituyen subredes independientes modeladas con el nivel
jerárquico que se indica. En los anexos aparecen los modelos de estas subredes luego de todo un
proceso de análisis y refinamiento para lograr su diseño final (Véase Anexo 3).
En la formalización del modelo, como se indicó en el Capítulo 2 y luego se aplicó con
anterioridad a este epígrafe, al tratar el tema de diseño para la conformación del modelo se adapta
el método C-TPM [Uzam98] a la metodología que aplicamos. Veamos cómo se aplica éste
método escogiendo como ejemplo la subred de la Secuencia Principal que es la Selección de
Manual – Automático (Figura 3.9).
Figura 3.9 Proceso no-controlado de la subred de Selección Manual-Automático.
Según las especificaciones del proceso controlado, el control será Automático (si el selector así lo
indica) como lo representan las siguientes reglas de cadenas deseadas:
If automático
If no automático
Then Control
Then Manual
77
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
En cada caso el estado prohibido es el siguiente:
If no automático
If automático
Then Control
Then Manual
En el sistema no-controlado la regla TPM sería:
If M(p1) = 1
Then T2 estará habilitada
El complemento de la regla TPM anterior sería:
If M(p1) = 0
Then T2 estará bloqueada
Pero para poder representar realmente las reglas definidas se deben adicionar al sistema nocontrolado (Figura 3.9) los Pseudoboxes actuando sobre las transiciones controlables. Se agrega
la habilitación de T2 solo al activarse la señal del Pseudobox PS5 que tiene su estado asociado al
estado del selector manual - automático de la HMI del sistema (Figura 3.10).
Figura 3.10 Adición de Pseudoboxes al diseño utilizando el método C-TPM [Uzam98].
78
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Las reglas TPM quedarán de la siguiente forma:
Cadenas deseadas
If M(p1) = 1 AND M(PS5) = 1
If M(p1) = 1 AND M(PS5) = 0
Then T2 estará habilitada
Then T1 estará habilitada
Estados prohibidos
If M(p1) = 0 OR M(PS5) = 0
If M(p1) = 0 OR M(PS5) = 1
Then T2 estará deshabilitada
Then T1 estará deshabilitada
Verificación.
En la fase de verificación (pasos del 6 al 8) aplicamos el método analítico del Teorema del
Rango [Desel&Esparza95] mediante la caracterización de Redes Libre-Selección BienFormadas. Esto se hace para demostrar la utilidad de este otro método, aunque por la simplicidad
de nuestras redes es más recomendable el método de Reducción.
En la verificación mediante este método, como se explicó en el Capítulo 2 y se demostró
mediante un ejemplo, se siguen los puntos del Teorema del Rango (Teorema 6.14) para
comprobarse que la red es bien formada y cumple con todas las propiedades que la caracterizan.
Como Ejemplo para la verificación en el Panel Gaseoso se escogió la subred del Programa
Principal (Figura 3.9).
Siguiendo el procedimiento descrito en el Capítulo 2 sobre el Teorema del Rango, se determina la
Matriz de incidencia A del modelo no-controlado, para obtener las invariantes del sistema.
1
0⎤
⎡− 1 − 1 0
⎢0
1 −1 0
0 ⎥⎥
A4x5 = ⎢
⎢0
0
1 −1 1 ⎥
⎢
⎥
0
0
0 − 1⎦
⎣1
79
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
A partir de la matriz A se buscan las soluciones del sistema de ecuaciones homogéneas A x Y = Ø
y
AT x X = Ø. Aplicando el método de Gauss al sistema matricial se obtiene:
Invariantes S
Invariantes T
X2 = X4
Y1 = Y5
Y2 = Y4 − Y5
X3 = X4
Y3 = Y4 − Y5
X1 = X 4
Dadas las infinitas soluciones (X, Y ≥1), se muestran algunos resultados:
⎡1⎤
⎢1⎥
X =⎢ ⎥
⎢1⎥
⎢⎥
⎣1⎦
⎡2⎤
⎢2⎥
, ⎢ ⎥ ...
⎢2⎥
⎢ ⎥
⎣2⎦
Y = [1 1 1 2 1] , [2 1 1 3 2]...
El que todas las soluciones de las invariantes S de lugar tengan todos sus elementos diferentes de
cero se interpreta, como que todos los elementos de la red pertenecen a conjuntos donde se
conserva el número de tokens y eso es importante desde el punto de vista de control automático
(garantiza entre otras, la propiedad de limitabilidad). En las invariantes T de transición donde
todas tengan también sus elementos diferentes de cero, indica que el número de disparos de cada
transición es finito y distinto de cero, o sea, que no se quedará en un ciclo infinito (libre de
bloqueos) y que todas participan en los caminos entrada/salida (no hay fuentes ni sumideros) lo
que implica cumplimiento de vivacidad de la red.
Conociendo el número de clusters de la red (Figura 3.11), |Cn| = 4, comprobamos si se cumple
que Rank(A) = |Cn| - 1 = 3. Realizada una verificación previa en el MATLAB, el rango de A es
3, por lo que se demuestra que la red es bien-formada, y que cumple con las propiedades de
limitabilidad, vivacidad e invariantes S y T.
80
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
Figura 3.11 Partición de la red en 4 clusters.
Validación.
Siguiendo los pasos 9 y 10 de la metodología, asociados a la fase de validación del modelo, se
simularon las subredes en el VON, comprobando que el funcionamiento de ellas se correspondía
con las exigencias del sistema, recogidas en la etapa inicial de diseño.
Figura 3.12 Modelo general verificado y validado de la Selección de Manual-Automático.
81
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
En el modelo general se observa como se utilizan MacroLugares para representar subredes de
menor jerarquía, como Control (MP2) y Manual (MP4) (Véase Anexo 3).
Implementación.
La fase de implementación tiene como objetivo obtener la traducción del modelo a su equivalente
en lenguaje de programación IEC1131 compatible, siguiendo la metodología descrita en el
Capítulo 2.
En la Figura 3.13 se representa el programa en FBD/LD del controlador PI realizado en ISaGRAF
3.3 utilizado en el control del Panel Gaseoso.
Figura 3.13 Programa en LD IEC1131 compatible del controlador PI del Panel de Gaseoso utilizando el
ISaGRAF 3.3.
82
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
En esta Figura 3.13 se observa la estructuración del programa en la ventana izquierda y la sección
del programa del controlador PI desarrollado en un proyecto anterior.
En el Anexo 4 se ven los resultados de la simulación del sistema controlado con su Interfaz
Hombre- Maquina (HMI) de operación desarrollada en ISaGRAF 3.3. Esto permitió la validación
final haciéndose cumplir los requerimientos del usuario. La HMI permite tanto el inicio del
control y si la operación será manual o automático, como la introducción de la referencia.
3.3 Ventajas del método formal de diseño en OPN’s.
La implementación de modelos de automatizaciones sobre Redes de Petri, específicamente las
OPN’s, y su traducción a programas en lenguajes de PLC’s IEC1131 compatibles, es un tema que
será incorporado en la asignatura Sistemas Automatizados de 5to año de la especialidad y dentro
del postgrado. En este trabajo se abordan las cuestiones teóricas y se muestra su aplicación en
sistemas reales, lo que será utilizado en las conferencias y clases prácticas de este tema en la
asignatura.
El desarrollo de los modelos en OPN’s y su traducción a lenguajes de programación IEC1131
compatibles para su implementación en las dos instalaciones de laboratorio, posibilita la
optimización y reutilización tanto del modelo como del programa. En el caso del Panel de Nivel,
las Variantes pueden ser reutilizadas por los estudiantes en el diseño de otras versiones de control
para esta instalación. Así como la red ProgPcpal (Panel Gaseoso), que básicamente es una red de
selección (dos posiciones) Manual-Automático, puede reutilizarse para encender-apagar, abrircerrar,
etc., pues la estructura es la misma. La alta modularidad y transparencia de la
programación permite que todo el programa ya validado sea reutilizado en otros procesos de
operación similar.
83
Capítulo 3.Aplicación de la metodología presenta en la automatización de ...
La aplicación de la modularidad y las facilidades de los Pseudoboxes y Macroelementos de
GHENeSys, evitaron la explosión de estados al permitir el análisis de vivacidad, seguridad,
ausencia de deadlocks, etc., en subredes propias pequeñas. La modularidad contribuye además, a
simplificar el modelo y el programa resultante, pues al no quedar estos tan grandes (como
resultarían sin el empleo de las macros y los subprogramas o bloques funcionales), se facilita su
estudio y comprensión. La comprobación de estas propiedades constituye una garantía en el
diseño del programa finalmente obtenido y aplicado, pudiéndose comprobar que éste resulta
seguro y libre de bloqueos.
El modelo generado, verificado y validado sobre el Visual Object Net++ y el programa resultante
de éste, es posible aplicarlo en otros muchos sistemas, garantizando la continuidad de la
experiencia de diseño formal de automatizaciones con PLC’s.
La alta compatibilidad de los elementos del modelo con los componentes de programación a
cualquiera de los lenguajes estándares IEC1131 permitió la rápida traducción de todo el sistema
de control para su implementación.
84
Valoración Económica
VALORACIÓN ECONÓMICA.
En la realización de un trabajo ya sea en la esfera productiva como en la no productiva, es
necesario una valoración económica que justifique la realización del mismo.
Para realizar la valoración económica fue empleado un método llamado Modelo Constructivo de
Costo (COCOMO), basado en estimaciones matemáticas y utilizado para calcular los costos “a
priori” de los sistemas de cómputo, así como su tiempo de desarrollo, atendiendo a las etapas
definidas para los mismos.
Este método define una serie de parámetros y ecuaciones que posibilitan tener una idea de cuanto
se invierte en el desarrollo de un trabajo programativo. Estos parámetros son:
Tdes: Tiempo de desarrollo total.
Ks:
Kilo sentencias (1Ks se describe como promedio en 5 días).
CFT: Cálculo diario del costo de la fuerza de trabajo.
TFT: Tarifa de fuerza de trabajo por hora (Para un programador “A” el TFT=$4.90).
CTM: Cálculo diario del costo del tiempo de máquina.
TTM: Tarifa del tiempo de máquina . Para una microcomputadora es de $7.69 h.
Esta tarifa de tiempo de máquina incluye la amortización de su costo de producción y su
aprovechamiento.
El valor económico del aseguramiento programativo se calcula de la forma siguiente:
‰
Tiempo de desarrollo total del software:
Tdes = Ks • 5días
donde Ks = 12
Tdes = 12 • 5días
Tdes = 60 días
85
Valoración Económica
‰
Cálculo diario del costo de la fuerza de trabajo:
CFT = TFT • 8h/días
CFT = 0 • 8h/días
CFT = 0
‰
Cálculo diario del costo del tiempo de máquina:
CTM = TTM • 8 horas/días
CTM = $7.69 • 8 horas/días
CTM = $61.52
Cálculo del tiempo de desarrollo por etapas:
- Factibilidad (tiempo empleado en la investigación o análisis para desarrollar el software):
TF = (30• Tdes)/100
TF = (30 • 60 días)/100
TF = 18 días.
- Diseño:
- Implantación (puesta a punto del
TD = (45 • Tdes)/100
software):
TD = (45 • 60 días)/100
TI = (25 • Tdes)/días
TD = 27 días.
TI = (25 • 60)/días
TI = 15 días.
Cálculo de los costos por etapas:
- Factibilidad:
CF = CFT • TF
CF = 0 .
- Diseño:
- Implantación:
CD = (CFT+CTM) • TD
CI = (CFT+CTM) • TI
CD = (0+$ 61,52) • 27 días
CI = (0+$ 61.52) •15 días
CD = $ 1661,04.
CI = $ 922,8
86
Valoración Económica
El Costo del trabajo por software es:
CT = CF+CD+CI
CT = 0 + 1661,04. + 922 ,8
CT = $ 2583,84
El costo total del soporte programativo es de $ 2583,84 en moneda nacional.
La cantidad de días empleados para las diferentes etapas no es el mismo que si fuera desarrollado
por un personal altamente calificado. Esto se debe a que en el tiempo de factibilidad fue necesario
emplear tiempo de estudio en la revisión de varios trabajos que abordan el tema.
A manera de conclusión cabe destacar que la simulación por computadoras de los modelos
permite establecer la estrategia de control de ante mano haciendo cumplir las especificaciones.
Esto ayuda a evitar riesgos directos que se tuviesen al ejecutar la operación sobre el sistema real.
Disminuye tiempo, por lo tanto acorta los ciclos de trabajo, ajuste y puesta en marcha lo cual
incide en hacer más pequeños los intervalos de incertidumbre a su vez trae consigo aumentar la
confianza al inversionista. No existen actualmente ramas de la técnica que al trabajar sobre la
introducción de nuevos métodos no conciba una concepción previa de simulación del proceso.
Todo proyecto para que resulte atractivo tanto a los usuarios como a los patrocinadores del
mismo debe reflejar un estudio anterior que no podría lograrse con efectividad si no se hiciese
mediante la simulación del mismo.
Todo el trabajo desarrollado sobre estas dos instalaciones de laboratorio permite que los
estudiantes de la especialidad dispongan de experiencias prácticas que los formen bajo estos
principios.
87
Conclusiones
CONCLUSIONES
En este trabajo se presenta una metodología general de modelado, verificación, validación y
programación de automatizaciones con PLC’s. Se dan las bases teóricas generales del modelo
para soportar el trabajo con la red jerárquica GHENeSys.
El modelo se adecua para cualquier aplicación sobre PLC’s utilizando las facilidades de los
Pseudoboxes y Macroelementos de Ghenesys, permitiendo crear un modelo jerárquico con alto
nivel de modularidad similar a lo propuesto en la IEC1131 para programas de PLC’s
Se recoge una amplia revisión bibliográfica, que comprende tanto la teoría y definiciones, como
la actualidad internacional en esta significativa área de aplicación de las PN’s. Se explica en qué
consisten los métodos formales y su aplicación al campo de los PLC’s, así como toda la teoría
sobre la que se sustenta la formalización en PN’s.
Se explica la metodología de traducción de este modelo para lenguajes IEC1131 compatibles, lo
que garantiza la implementación y reinterpretación automática de cualquier aplicación sobre
PLC’s.
Todo esto sirvió de base para aplicar dicha metodología en dos instalaciones del Laboratorio de
Control de Procesos en la UO. Se va explicando la ejecución de cada paso de la metodología en
las dos instalaciones con el objetivo de demostrar su efectividad y que quede una herramienta
didáctica para su utilización docente. De acuerdo a esto se puede concluir que se logro demostrar
la aplicación del método formal de diseño sobre instalaciones reales de laboratorio, aspecto poco
abordado de esta forma en la comunidad científica internacional sobre PN’s. Además se sentaron
88
Conclusiones
las bases requeridas para la enseñanza de esta metodología para la docencia de pre y postgrado,
tanto en los aspectos teóricos como prácticos.
Este análisis realizado a dos instalaciones donde se realizan prácticas de laboratorio, se puede
aplicar totalmente a otros procesos de operación similar que cumplen los mismos requisitos
funcionales o adecuar las experiencias según sea el caso, contribuyendo de esta forma a la
optimización, además de permitir su reutilización y su fácil traducción a las formas de
programación de PLC’s, estandarizadas en la norma internacional IEC1131.
89
Recomendaciones
RECOMENDACIONES
‰
Continuar investigando en esta importante aplicación de las PN’s a los sistemas con PLC’s,
específicamente en la red extendida GHENeSys y su aplicación en las restantes instalaciones
de laboratorio gobernadas con PLC’s de que dispone la UO.
‰
Desarrollar una herramienta por computadoras que garantice las exigencias de GHENeSys,
permitiendo la comprobación automática de las propiedades del modelo editado sobre ella, así
como su traducción directa a lenguajes estándares IEC1131.
‰
Divulgar la utilización de las técnicas formales en los sistemas de automatizaciones con
PLC’s, mostrando las ventajas de la utilización de estos métodos. Continuando el fructífero
intercambio entre las Universidades, Empresas e Instituciones que lo requieran en sus
aplicaciones.
90
Bibliografía
BIBLIOGRAFÍA
1. [Ajmone95] Ajmone M., Marco. "An introduction to generalized Stochastic Petri Nets".
Dipartimento di Elettronica. Politecnico di Torino, Italy. Second International Course on Petri
Nets for Latin America. Campina Grande, PB, Brazil. November 1995.
2. [Benitez&Silva&Glez01] Benítez, I., Silva J., Reinaldo. González, P. "Modelado en Redes de
Petri para la optimización de la automatización de hoteles". Matanzas, Cuba, sept. 2001.
3. [Bernardinello92] Bernardinello, L. DeCindio, F. "A survey of basic net models and modular
net classes". Lecture Notes in Computer Science 609, Springer-Verlag, 1992.
4. [Bonfatti99] Bonfatti, F., Monari, P.D., Sampieri, H. "IEC 1131-3 Programming
Methodology". Fundamentals of Computer Science. University of Modena. Italy. Published
by CJ International. 1999.
5. [Cutts92] Cutts g, Rattigan S. "Using Petri Nets to develop programs for PLC systems". Proc.
Application and theory of PN. Vol 616. Springer 1992.
6. [Couffin99] Lamperiere-Couffin, S. Rossi, O. Roussel, J.M. Lesage J.J. " Formal validation
of PLC programming: A survey". University laboratory in Automated Production Research.
Ecole Normale Superieure de Cachan. France. Proceeding of ECC`99, 1999.
7. [David92] David, R. Alla, H. "Petri Nets and Grafcet – Tools for modelling Discrete Event
Systems. Prentice hall, New York, London. 1992.
8. [Desel&Esparza95] Desel, Jorg. Esparza, Javier. "Free Choice Petri Nets". Cambridge
University Press. Great Britain. 1995.
9. [Desrochers95] Desrochers AA, Al-Jaar RY. "Application of PN in Manufacturing systems".
IEEE Press, Piscataway, USA. 1995.
10. [DiCesare93] DiCesare, F.: “Practice of Petri Nets in Manufacturing”. London Chapman &
Hall. New York. 1993.
11. [Drath98] Drath, R. "Hybrid Object Nets: An Object Oriented Concept for Modeling
Complex Hybrid Systems". In: Hybrid Dynamical Systems. 3rd International Conference on
Automation of Mixed Processes. ADPM'98. Reims. 1998.
12. [Elio02] Avila, E. "Modelado en PN’s en Automatizaciones con PLC’s de la industria
91
Bibliografía
azucarera". Tesis de Maestría. Departamento de Automática. Universidad de Oriente.
Santiago de Cuba. 2002.
13. [Esparza&Silva90] Esparza, J. Silva, M. "Top-Down Synthesis of Live&Bounded Free
Choice Nets". Proc. of 11th International Conference on Petri Nets. Paris. 1990.
14. [Frey98] Frey, G. Litz, L. "Verification and Validation of Control Algoritms by Coupling of
Interpreted Petri Nets". Proceedings of the IEEE. SMC 1998. San Diego. October 11-14.
1998.
15. [Frey00] Frey,G. Litz, L. "Formal methods in PLC programming". Proceedings of the IEEE
SMC 2000. Nashville, TN. October 08-11, 2000.
16. [Frey00.1] Frey, G. "Automatic Implementation of Petri net based Control Algorithms on
PLC". Proceedings of the American Control Conference ACC 2000. Chicago. June 28-30,
2000.
17. [Frey00.2] Frey, G. "Analysis of Petri Net based Control Algorithms - Basic Properties".
Proceedings of the American Control Conference ACC 2000. Chicago. June 28-30, 2000.
18. [Glez01] Glez, P. "GHENESYS: Uma Rede Estendida Orientada a Objetos para o Projeto de
Sistemas Discretos". M.Sc. Thesis. Departamento de Engenharia Mecánica-Mecatrónica.
Universidad de Sao Paulo. 2001.
19. [Hasegawa, 87] Hasegawa, K. "Simulation of Discrete Production Systems Based on Mark
Flow Graph". System Science. Vol. 13. Poland. 1987.
20. [Holloway97] Holloway, L.E. Krogh, B.H. Giua, A. "A Survey of Petri Net Methods for
Controlled Discrete Event Systems". Journal of Discrete Event Dynamic Systems, Vol 7 No.
2. 1997.
21. [Lewis98] Lewis, R.W. "Programming industrial control systems using IEC 1131-3". IEE
Control Engineering Series 50. United Kingdom. 1998.
22. [Murata89] Murata, Tadao. "Petri Nets: Properties, analysis and applications". Proceedings of
IEEE, vol. 77, No. 4. April, 1989.
23. [Piedrafita99] Piedrafita, R. "Ingeniería de la Automatización industrial" Editorial RAMA.
España. 1999.
92
Bibliografía
24. [Ramos&Silva99] Ramos, RLCB. Silva JR. "An Integron based architecture for the modeling
of complex dynamic systems". Proc. IV SBAI, Sao Paulo, Brasil. 1999.
25. [Reising82] Reisig, Wolfgang. "Petri Nets, An introduction". Springer-Velarg. 1982.
26. [Silva00] Silva M. "Place Transition II”
Tutorial “Petri Nets 2000". 21st International
conference on application and theory of PN’s. Aarhus Denmark June 26-30. 2000.
27. [Stanton96] Stanton, MJ. Arnold, WF. Buck, AA. "Modellingand control of manufacturing
systems using PN". Proc. Of 13th IFAC World Congress. 1996.
28. [Thiagarajan86] Thiagarajan, P.S. "Elementary net systems" The Institute of mathematical
Sciences. Madras. India. Lecture Notes in Computer Science, Vol.224. Springer-Verlag,
1986.
29. [Tourlas96] Tourlas, K. "Semantic Analisys and Design of Lenguages for PLC’s". M.Sc.
Thesis. Department of Computer Science. The University of Edinburgh. 1996.
30. [Uzam98] Uzam, M. Jones, AH. "Discrete Event Control System design using automation PN
and their ladder diagram implementation". Journal of Advanced manufacturing systems,
special issue on PN application in manufacturing systems Vol14 No10. 1998.
31. [Uzam98T] Uzam, Murat. "Petri Net Based Supervisory Control of Discrete Event Systems
and their Ladder Logic Diagram Implementations". Ph. D. Thesis. University of Salford. UK.
1998.
32. [Venkatesh95] Venkatesh, K. Zhou, MC. Caudill, RJ. "Discrete event control design for
manufacturing systems via ladder logic diagrans and PN. A comparative study". MC Zhou:
"PN in flexible and agile automation". Kluwer academic publish.1995.
33. [Zhou & DiCesare93] Zhou, M. DiCesare, F. "PN Synthesis for Discrete Event Control of
Manufacturing Systems". Boston MA. Kluwer Academic Publisher. 1993.
34. [Zhou95] Zhou, M. "PN in Flexible and Agile Automation" Boston MA. Kluwer Academic
Publisher. 1995.
93
Anexos
ANEXOS
Anexo 1. Modelo en Redes de Petri del Panel de Nivel.
Subred Programa Principal
Subred Variante 1
Subred Selección de Variantes
94
Anexos
Subred Variante 2
Subred Variante 3
95
Anexos
Subred Variante 4
Subred Llenar
Subred Vaciar
Subred Apagar
96
Anexos
Anexo 2. Programación en FBD/LD y Simulación en ISaGRAF 3.3 del Panel de Nivel.
Programa Principal
Selección de Variantes
97
Anexos
Variante 1
Variante 2
Variante 3
Variante 4
98
Anexos
Simulación
99
Anexos
Anexo 3. Modelo en Redes de Petri del Panel Gaseoso.
Manual
Subred Programa Principal
Subred Control PI
Subred PI
100
Anexos
Anexo 4. Programación en FBD/LD y Simulación en ISaGRAF 3.3 del Panel Gaseoso.
Programa principal
Control
Manual
101
Anexos
Simulación
102
Download