Implementación de Grafcet enriquecido en lenguaje de

Anuncio
Implementación de Grafcet enriquecido en lenguaje de programación gráfica para
simulación y ejecución de automatismos
"El emplear LabVIEW como plataforma de
programación para la implementación de Grafcet,
ofrece grandes ventajas, ya que LabVIEW se
caracteriza por ser una herramienta útil para
construir sistemas de adquisición y control de forma
más sencilla y el diseño de un sistema de control
sólo requiere de una pequeña parte de código para
realizar la interfaz entre Software y Hardware. "
- John F. Castañeda Londoño, Universidad Tecnológica de Pereira
El Reto:
Diseñar un conjunto de herramientas que funcionen como plataforma de desarrollo y construcción de aplicaciones en lenguaje de diagramas de
funciones secuenciales (Secuencial Funtion Chart, Grafcet), orientadas al control de procesos industriales, aprovechando sus numerosas
características ventajas en el desarrollo de sistemas de automatización y control.
Lea el Caso
de Estudio
Completo
La Solución:
Implementar por medio de LabVIEW, un algoritmo que permita la construcción de diagramas de funciones secuenciales por medio de un grupo de
VIs (Virtual Instruments). Aquellos diagramas secuenciales junto con las características de LabVIEW hacen que el diseño de sistemas de control se
simplifique y que éstos admitan la unión con nuevas tecnologías.
Autor(es):
John F. Castañeda Londoño - Universidad Tecnológica de Pereira
Cesar Augusto Castañeda Ramírez - Universidad Tecnológica de Pereira
Mauricio Holguín Londoño - Universidad Tecnológica de Pereira
I. INTRODUCCIÓN
Un automatismo es el sistema de control de cualquier tipo de proceso, cuyo objetivo es su ejecución con la mínima intervención humana [12]. En la
actualidad se utilizan varias formas de realizar control sobre procesos, las que pueden estar pasadas en lógica binaria o programación mediante
comandos, y cada una de ellas presenta ciertas ventajas y desventajas con respecto una hacia la otra.
Las limitaciones de los lenguajes de control para realizar tareas robustas han sido el principal problema en el diseño de automatismos. Lenguajes como
lógica cableada, la que depende de sus dispositivos electromecánicos, los cuales se ven incapacitados para realizar tareas simultáneas, presentando
diferentes problemas como, incapacidad de realizar cambios a las variables, la dificultad en la adaptabilidad y mantenibilidad de un diseño, entre otros.
Un lenguaje se introdujo con el fin de solucionar todos los problemas mencionados, un lenguaje llamado Grafcet presentó una solución óptima y de fácil
implementación.
Grafcet tiene la capacidad de hacer lo que otros lenguajes pueden realizar, además, cuenta con características enriquecidas que permiten diferentes
posibilidades y la implementación de tareas robustas. A pesar de ser una potente herramienta en el diseño de automatismos, no es ampliamente usada,
debido a que solo pocos fabricantes de autómatas utilizan esté lenguaje para la programación de sus dispositivos de control. Por tanto, Grafcet ha sido
convertido en un tipo de grafico que solo describe el funcionamiento de cualquier proceso.
Con la poca compatibilidad que presenta Grafcet en la actualidad, se pretende aprovechar sus características importantes por medio de un lenguaje de
programación. Grafcet es un lenguaje de programación gráfico que puede ser descrito mediante lógica combinacional, los cuales se pueden simular por
medio de un lenguaje de programación común como los lenguajes textuales. Actualmente existen lenguajes de programación gráfica que simulan
dispositivos de lógica combinacional y a su vez tienen control en el procesamiento de datos con la posibilidad de hacer seguimiento a cada proceso de la
simulación, características que son importantes para el desarrollo de Grafcet, gracias a esto se opta por hacer la implementación en lenguaje de
programación gráfica.
LabVIEW servirá de plataforma para el diseño de un código gráfico que simule Grafcet y sus características enriquecidas. La base de este código serán
los circuitos lógicos combinacionales y manejo de matrices por medio de clusters. Éste programa en la práctica facilita el control y el monitoreo de las
simulaciones de manera efectiva y segura. Al trabajar en LabVIEW, se logra el paso de la simulación a la implementación de forma directa, ya que
después de comprobar el buen funcionamiento de algún diseño, sólo será necesario agregar una pequeña parte de código para la comunicación con
algún tipo de hardware o dispositivos de acción como los PLCs.
II. CONTENIDO
A. Módulo Secuenciador de Etapa
Es el elemento tecnológico funcional capaz de interaccionar con sus etapas anterior y posterior [3]. Su descripción se muestra en la Figura 1.
El módulo secuencial de etapa posee tres entradas y una salida; y el objeto de cada una de ellas para un módulo de etapa de orden n, es el siguiente [3]:
• 1ra entrada: Se utiliza para efectuar, junto con la señal de activación de la etapa anterior, la activación de la etapa y proviene del disparo de la transición
n-1.
• 2da entrada: Se utiliza para efectuar la validación de la etapa n, proveniente de la salida de la etapa n-1.
• 3ra entrada: Se utiliza para efectuar la desactivación de la etapa n, y la señal proviene de la salida realimentada de la etapa n+1.
• Salida: se utiliza para que realice tres funciones distintas y simultáneas que son: Validar la etapa n+1, Desactivar la etapa n-1 y ejecutar algún tipo de
acción prevista.
Una etapa puede ser implementada por medio de este dispositivo que contiene elementos de lógica combinacional y un elemento biestable. Las entradas
se conforman de un par de compuertas, AND para la condición de activación y OR para la condición de desactivación. El biestable de tipo Latch funciona
como una memoria que retiene el estado que se valida en algún instante de funcionamiento.
B. Ecuaciones de Activación/Desactivación
Básicamente, existen dos tipos de ecuaciones asociadas al concepto de memoria binaria, que se denominan:
• Ecuación de memoria binaria de set o enclavamiento prioritario, cuya expresión es
:
E(t+t) = S+R*E(t)
• Ecuación de memoria binaria de reset o disparo prioritario, cuya expresión es:
E(t+t)= R*(S+E(t))
Con condiciones de activación sería:
En(t+t) =Cd*(Ca En(t)) (1)
Para las tres expresiones:
1/13
www.ni.com
Para las tres expresiones:
E(t+t) = En(t+t) = Estado siguiente de la etapa
S = Condición de activación de la etapa.
R = Condición de desactivación de la etapa.
E(t) = Estado actual de la etapa.
Las expresiones concretas de S y R dependerán de las estructuras lógicas específicas resultantes del modelo realizado; o más concretamente,
dependerá de la estructura básica y lógica del diagrama Grafcet. En general serán funciones OR y AND donde intervienen las variables representativas
de etapas y transiciones implicadas [3].
Para la implementación del módulo secuenciador se hace por medio de un biestable asíncrono o Latch con enclavamiento prioritario reset, debido a que
la prioridad de una orden de forzado impide que la red evolucione. En la Figura 2 se describe el módulo secuenciador con reset prioritario.
Para obtener la función general de activación/desactivación se debe de tener en cuenta la acción de forzado, para ésta es necesario utilizar cuatro datos
o variables:
RForzado).
RGForzado ).
• Etapa que genera el forzado ( EGForzado ).
• Etapa a ser forzada (EForzado).
• Red que va ser forzada (
• Red que genera el forzado (
Las variables de “Red que genera el forzado” y “Etapa que genera el forzado” son las encargadas de dar valores a las otras dos variables
respectivamente, cuando éstas tienen un valor booleano asertivo, las otras dos variables que son de tipo entero pasaran de tener un valor por defecto de
cero a ener los números correspondientes de las redes y etapas a las que se les aplica la acción de forzado. Sintetizando estos datos se obtiene:
Si:
RForzado = Rn
EForzado = En
F Red =1
FEtapa = 1
Donde:
Rn = Número de Red propia.
En = Número de etapa propia.
Obteniendo así, la función general de estado activación/desactivación:
En(t+t) = Cd * (FEtapa + FRed )*(Pinicio + FEtapa * FRed + Ca + En(t)) (2)
Donde:
F Red = Condición de forzado hacia una red.
F Etapa = Condición de forzado hacia una etapa de una red.
Pinicio = Condición inicial.
Ca = Condición de activación.
Cd = Condición de desactivación.
C. Algoritmo de Activación/Desactivación
El funcionamiento de una etapa se basa en la implementación de las funciones de activación/desactivación. El procesamiento de los datos de entrada,
salida y realimentación permite generar las variables de control de estado de las etapas, ahora bien, a partir de la función general de estado de la etapa
con reset prioritario se pueden diseñar algoritmos que describan las condiciones de estado de las etapas en un lenguaje de programación gráfica.
El algoritmo general se emplea para construir las acciones de activación/desactivación y la de forzado, en el lenguaje de programación gráfico. El
algoritmo se muestra en la Figura 3. Donde:
En+1: Es la etapa siguiente.
En1: Es la etapa anterior.
Tn1 : Es la transición anterior.
El algoritmo puede ser implementado en cualquier tipo de lenguaje de programación, aunque no necesariamente deba ser el mismo, éste puede
cambiarse dependiendo de las variables utilizadas en el tipo de implementación, ya que las condiciones de activación o desactivación pueden construirse
de forma análoga.
D. Resultados
El resultado final es un conjunto de herramientas para LabVIEW, el cual contiene los diferentes elementos de Grafcet para simular completamente el
funcionamiento de este diagrama secuencial. La simulación de Grafcet se hace por medio de un paquete de VIs que se instalan dentro del menú de
programación en el diagrama de bloques de LabVIEW.
E. Paleta de VIs de Grafcet
En LabVIEW se encuentra el menú principal, el cual está compuesto por submenús que contienen los elementos de Grafcet. En la Figura 4 se muestra el
menú principal con sus submenús. En cada uno de los submenús, se encuentran VIs como Etapas
normales e iníciales; divergencias y convergencias; calificadores de acciones básicos y un VI de control especial y necesario que se utiliza para la
acumulación y manipulación de información de cada una de las redes que conforman un sistema de control. Las transiciones se encuentran incluidas en
el interior de las etapas, con el fin de que la construcción de las redes no requiera de la utilización de demasiados VIs y no tome demasiado tiempo
hacerlo.
F. Características de Grafcet en LabVIEW
Las redes se construyen de forma similar a como se describen de forma teórica, la conexión de cada elemento o VI se hace por medio de un cable de
tipo cluster que transporta gran parte de la información necesaria para su funcionamiento, los datos de realimentación o comunicación entre etapas se
realiza por medio de variables globales. Cada una de las etapas debe de llevar un nombre o número para su referencia, teóricamente las etapas pueden
ser enumeradas de forma aleatoria sin afectar en ninguna instancia el funcionamiento de las redes, pero al ser éste procedimiento algo poco
trascendental sin dejar de ser importante, puede realizarse de forma automática y secuencial, ahorrando tiempo en la construcción de los diagramas.
Por medio de esta herramienta es posible construir casi cualquier tipo de red de Grafcet, teniendo en cuenta que algunas redes deben ser construidas de
forma especial teniendo en cuenta su topología. En el interior del paquete de VIs, también se incluye un manual de usuario donde se muestra de forma
un poco más clara la forma de la construcción de las redes.
G. Ejemplo de aplicación
Se va a construir la secuencia A-BC-D controlada por un pulsador T, que tiene como estado inicial nulo. Su funcionamiento se describe a continuación:
• Estando la red iniciada se oprime T y se enciende A.
2/13
www.ni.com
• Estando la red iniciada se oprime T y se enciende A.
• Cuando T vuelva a su esta inicial (T) se apague A.
• Cuando se presione T de nuevo se encienden B y C.
• Cuando T vuelva a su esta inicial (T) se apaguen B y C.
• Cuando se presione T de nuevo se enciende D.
• Por último, cuando T vuelva a su estado inicial se apague D y la secuencia se repita.
Procedimiento:
• Primero se hace el diseño de la aplicación que en este caso es la secuencia A-BC-D controlada por un pulsador T, ver Figura 5.• Se procede a
implementar la construcción en LabVIEW™ ubicando los respectivos VI seguido de cablear, ver Figura 6.
• Se crean los controles y los indicadores de cada bloque, ver Figura 7.
•Se crea la matriz o VI de información y se conecta por medio de una variable local INFO RED.
•Por último, se crea un control booleano para controlar el reset del sistema, dando por terminada la construcción, ver Figura 8.
• De lo anterior se obtiene el siguiente resultado en el
panel frontal, ver Figura 9.
III. CONCLUSIONES
Con la implementación del módulo secuenciador de etapa, que es el dispositivo más básico de una red, se puede llegar a la construcción de Grafcet
desde cualquier tipo de plataforma, ya sea en Hardware o Software. El emplear LabVIEW como plataforma de programación para la implementación de
Grafcet, ofrece grandes ventajas, ya que LabVIEW se caracteriza por ser una herramienta útil para construir sistemas de adquisición y control de forma
más sencilla y el diseño de un sistema de control sólo requiere de una pequeña parte de código para realizar la interfaz entre Software y Hardware.
Grafcet es si mismo es un potente lenguaje de programación de automatismos, que se construye de forma sencilla e intuitivamente, y no es necesario ser
un gran experto en el diseño de autómatas para crear un sistema de control basado en este lenguaje. Grafcet permite describir paso a paso, el
funcionamiento de un proceso o autómata, haciendo que éste sea altamente coherente y riguroso, permitiendo además, la modificación de éste en todo
momento sin que se vean afectadas otras partes del proceso. Grafcet puede ser considerado como un lenguaje síncrono, que obedece a la filosofía del
flujo de datos (Data Flow) que también es utilizada en LabVIEW para su sistema de programación por código gráfico, haciendo que la unión entre el
lenguaje Grafcet y la plataforma de programación LabVIEW sea exitosa e imponente.
La implementación del Grafcet teórico fue completa y satisfactoria, aunque sea necesario en ciertas ocasiones, la utilización de algunas técnicas sencillas
para la construcción de redes especiales como las asimétricas en LabVIEW. Para el módulo de acciones sólo se desarrollaron los calificadores más
básicos, aunque es posible en futuras actualizaciones o versiones, la creación de un subprograma que simule y represente el funcionamiento del módulo
de acciones que contenga cada uno de los calificadores que se encuentran en el estándar.
La versatilidad de LabVIEW, gracias a que contiene gran cantidad de librerías útiles para la conexión entre los PCs y dispositivos de Hardware, entregan
la posibilidad de crear un sistema de control programable o PLC (Programmable Logic Controller) propio, ya que sólo es necesario el diseño de un
dispositivo de adquisición que interactué con las entradas y salidas de un proceso o sistema de control, debido a que gran parte de las funciones que
realiza un PLC común, son efectuadas por medio del Software, las funciones restantes hacen parte de la adquisición y envió de datos desde y hacia el
proceso de control respectivamente.
El paquete completo de VIs y controles, tienen como fin entregar la posibilidad de crear sistemas de control a través del lenguaje de programación de
automatismos Grafcet, implementado en la plataforma de programación gráfica LabVIEW. Cada uno de los VIs permiten la creación de redes
secuenciales de control, que proveen las señales de ejecución de los elementos de componen el proceso a automatizar, y se adicionan una variedad de
controles que permiten construir sistemas de monitoreo para la verificación del estado del sistema o proceso. El paquete puede considerarse como una
herramienta o Toolkit para LabVIEW, diseñado con el objetivo de implementar y ejecutar automatismos utilizando conceptos básicos de control y modos
de marcha por medio del lenguaje gráfico de programación de autómatas Grafcet.
Información del Autor:
John F. Castañeda Londoño
Universidad Tecnológica de Pereira
Colombia
[email protected] (mailto:[email protected] )
Módulo Secuenciador de Etapa
3/13
www.ni.com
Módulo Secuenciador con Reset Prioritario
4/13
www.ni.com
Algoritmo General de Activación/Desactivación
5/13
www.ni.com
Menú principal en LabVIEW
6/13
www.ni.com
7/13
www.ni.com
Diseño Secuencia A-BC-D
8/13
www.ni.com
9/13
www.ni.com
Secuencia A-BC-D Cableada
10/13
www.ni.com
Secuencia A-BC-D con Indicadores
11/13
www.ni.com
Secuencia A-BC-D
12/13
www.ni.com
Secuencia A-BC-D Panel Frontal
Legal
Este caso de estudio (este "caso de estudio") fue desarrollado por un cliente de National Instruments ("NI"). ESTE CASO DE ESTUDIO ES PROPORCIONADO
"COMO ES" SIN GARANTÍA DE NINGUN TIPO Y SUJETO A CIERTAS RESTRICCIONES QUE SE EXPONEN EN LOS TÉRMINOS DE USO EN NI.COM.
13/13
www.ni.com
Descargar