LABORATORIO VIRTUAL PARA LA ENSEÑANZA DE
AUTOMATIZACIÓN E INSTRUMENTACIÓN INDUSTRIAL
Jesús A. Calderón-Vielma
Postgrado en Automatización e Instrumentación
Laboratorio de Investigación y Desarrollo en Automatización e Instrumentación
Facultad de Ingeniería. Universidad de Los Andes
Av. Tulio Febres Cordero. Aula 141
Telf: 58-74-402903 / FAX: 58-74-403823
E-mail: jesusc@ula.ve
Mérida – Venezuela
RESUMEN
La enseñanza con plantas pilotos resulta ser una inversión económica considerable en el desarrollo de prácticas en un laboratorio. De acuerdo a las tendencias actuales el uso del computador personal como herramienta básica en la enseñanza de instrumentación y control de procesos, es una alternativa para desarrollar sistemas virtuales que emulen el comportamiento de procesos industriales, lo cual permite la experimentación virtual a bajo costo e implementaciones sencillas. El objetivo del presente trabajo es de implementar sistemas de medición sencillos hasta complejos sistemas SCADA, empleando para ello los programas LabVIEW, Lookout y MatLab. Se realizan modelos matemáticos en MatLab, para luego integrarlos a otras aplicaciones como LabVIEW o Lookout, permitiendo al estudiante disponer de manera inmediata y en cualquier instante de procesos para la realización de prácticas virtuales de campo. Los resultados obtenidos contribuyen de manera exitosa al desarrollo de experiencias tal como un ingeniero las encuentra en la vida real.
INTRODUCCIÓN
Los paradigmas de la educación siempre han promovido que el aula de clase sea verdaderamente un laboratorio para facilitar el aprendizaje de la manera más amigable y cercana a la realidad. El uso del computador personal (PC) en cualquier ambiente universitario y en especial en los laboratorios, pone de manifiesto su importancia como herramienta básica de trabajo. Los actuales PCs son mucho más rápidos que los supercomputadores Cray de hace 10 años atrás, y además poseen grandes capacidades de cálculo. Desde los comienzos esta década el PC ha sido utilizado en los laboratorios para desarrollar aplicaciones de medición denominadas "instrumentación virtual" [1]. Al mismo tiempo se usan aplicaciones de software en el modelado de procesos industriales, con el objeto de realizar simulaciones y observar el comportamiento de los mismos, sin embargo, las interfaces humano-máquina de estas aplicaciones no son precisamente amigables, para permitir observar los procesos en forma didáctica.
El alto costo para la implantación de plantas pilotos en las universidades no permite que en algunos laboratorios se realicen experimentos, lo más cercanos a la realidad.
El objetivo del presente trabajo es implementar un laboratorio virtual utilizando aplicaciones de software para la simulación y aplicaciones de instrumentación virtual y SCADA, con lo cual, se dispondría de un ambiente virtual para la experimentación de los estudiantes de automatización industrial e instrumentación industrial. No se pretende que los estudiantes deben ser expertos en programación, si no proveerles de herramientas de programación gráfica y orientados a objeto, con el fin de desarrollar experimentos en el menor tiempo posible[2].
En el trabajo se describen las aplicaciones utilizadas; la técnica de integración de aplicaciones bajo ambiente windows; los resultados obtenidos y las conclusiones.
EL PROBLEMA
En la universidad se dispone de aplicaciones de simulación, donde el estudiante puede describir un proceso industrial, previamente modelado en ecuaciones matemáticas. Una de estas aplicaciones es Matlab, la cual, entre otras características posee un ambiente para programar sistemas utilizando diagramas de bloques. Dado su uso para simular, fue seleccionado como la aplicación de simulación. Igualmente se dispone de la aplicación LabVIEW para realizar sistemas de instrumentación virtual, la cual, permite desarrollar programas en lenguaje gráfico en pocas horas-hombre y es de sencillo aprendizaje. Por último se tiene la aplicación Lookout, la cual, es usada en la industria para la implementación de sistemas SCADA. El problema planteado consiste en integrar estas aplicaciones con el objeto de disponer de ambientes virtuales para el desarrollo de prácticas de campo.
INTEGRACIÓN DE APLICACIONES
El protocolo de intercambio dinámico de datos o DDE (Dynamic Data Exchange) es uno de los métodos de comunicación entre procesos soportado por Microsoft Windows que permite intercambiar datos entre sus aplicaciones. El protocolo DDE está basado en el sistema de mensajería construido por Windows[3]. Así, dos programas de aplicación bajo Windows tal como se muestra en la figura 1 realizan una "conversación DDE" enviándose mensajes entre ellos. Estos dos programas se conocen como el servidor y el cliente. Un servidor DDE es el programa que tiene acceso a los datos que pueden ser útiles a otros programas. El cliente DDE es el programa que obtiene estos datos desde el servidor.
Figura 1. Diagrama de Conversación DDE
Una conversación DDE se inicia con el programa que actúa como cliente. Este transfiere un mensaje a todos los programas que se están ejecutando en ese momento en Windows. Dicho mensaje indica una categoría general de datos que el cliente necesita. Un servidor DDE que posee dichos datos puede responder a este mensaje. En este instante comienza la conversación. Un único programa puede ser cliente para un programa, y servidor para otro, pero esto requiere dos conversaciones DDE distintas. Un servidor puede entregar datos a múltiples clientes y un cliente puede obtener datos desde múltiples servidores, pero esto requiere múltiples conversaciones DDE.
Un programa implicado en una conversación DDE no necesita codificarse específicamente para trabajar con otro programa DDE. Generalmente el diseñador de un servidor DDE hace público cómo se identifican los datos. Como DDE utiliza el sistema de mensajería incluido en Windows, el programa se integra perfectamente en el entorno Windows.
En comunicaciones de TCP/IP, las aplicaciones abren una línea de comunicación y entonces transfieren datos crudos. DDE trabaja a un nivel más alto, donde las aplicaciones envían mensajes para intercambiar información. Un mensaje simple es enviar un comando a otra aplicación. La mayoría de los mensajes se transfieren como datos, donde los datos son referenciados por nombre.
En DDE ambas aplicaciones deben estar ejecutándose y las dos deben dar a Windows una dirección a sus funciones de llamada antes de que la comunicación de DDE pueda comenzar. La función de llamada acepta cualquier mensaje de DDE que Windows envía a la aplicación.
Un cliente de DDE comienza una conversación con otra aplicación (un servidor de DDE) enviando un mensaje de conexión. Después de establecer una conexión, el cliente puede enviar órdenes o datos al servidor y a cambio puede pedir el valor de datos que el servidor maneja.
Cuando la comunicación DDE para una conversación es completada, el cliente envía un mensaje de cerrar la conversación al servidor.
Un cliente estándar DDE soporta cinco operaciones básicas:
Open: Abrir enlace al servidor.
Execute: Enviar comandos para ser ejecutados por el servidor.
Peek (Request): Leer un elemento de datos desde el servidor.
Poke: Enviar un elemento de datos al servidor.
Close: Cerrar el enlace al servidor.
Las diferentes aplicaciones clientes pueden tener nombres diferentes para estas funciones, sin embargo, funcionarán igual a como se describieron.
Ahora para poder habilitar el uso de esas cinco funciones, se tiene que conocer algunas cosas acerca de la aplicación SERVIDORA. Por ejemplo, es muy difícil abrir un enlace a la aplicación servidora sin conocer el nombre de la aplicación. Aquí entonces comienzan a surgir los problemas con DDE.
Para desarrollar una comunicación DDE o una conversación en términos de DDE, se tiene que ser capaz de identificar el tipo de dato que desea. Esta operación se realiza con las tres cadenas de caracteres con información acerca de la aplicación SERVIDORA:
Application name /service ! Justamente el nombre de la aplicación: servicio
Data topic ! Define el elemento de interés en la aplicación: tema
Data item ! El actual elemento de intercambio: elemento
Por tanto, se necesita el nombre de la aplicación o servicio (generalmente es el nombre del archivo ejecutable de la aplicación) que especifica el nombre del servidor de aplicación al cual, el cliente esta enlazando; el tópico de datos (a menudo es el nombre de un archivo, pero esta definición puede variar) para abrir el enlace a la aplicación servidora y por último se necesitará el elemento de dato (el cual, es frecuentemente el nombre de una variable). Los Datos y comandos son transferidos en formato texto por convención.
El tema es el segundo nivel en las tres cadenas de caracteres y define el objeto de una conversación DDE, y es usualmente significativo tanto para la aplicación servidor y cliente. El elemento identifica el dato o valor que sé esta pasando durante la conversación DDE entre el servidor y el cliente.
De acuerdo con los mensajes utilizados del entorno Windows hay tres tipos de conversaciones[2] DDE: enlace frío (cold link), enlace caliente (hot link) y enlace templado (warm link).
Programa Interfaz de Aplicación de MatLab (API-MatLab)
MatLab es un ambiente matemático cuyos elementos fundamentales de operación son las matrices, lo que permite su aplicación inmediata en la solución de problemas de álgebra lineal. Él incluye capacidades gráficas, un interprete rápido y estructuras básicas de programación cuya sintaxis es similar a la de ciertos lenguajes de programación como C, Fortran y Basic. Estas estructuras han permitido el desarrollo de herramientas, las cuales constituyen una colección de algoritmos especialmente diseñados para áreas de ingeniería como los sistemas de control, el procesamiento digital de señales, las redes neuronales, el control robusto, etc. Además de estas características, MatLab posee un ambiente gráfico de programación denominado Simulink, el cual, permite el análisis y simulación de sistemas lineales y no lineales mediante un lenguaje de programación gráfica, utilizando diagramas de bloques.
Al realizar un modelo de un proceso implementado en simulink y ejecutar la simulación se puede observar en graficos en función del tiempo el comportamiento de una determinada variable. Si se desea interactuar con simulink a través de otra aplicación, una opción es utilizar el protocolo DDE. Para ello MatLab puede ser un cliente o un servidor. Si MatLab es un cliente es necesario construir una caja de dialogo en simulink con funciones que puedan iniciar una conversación DDE para intercambiar datos.
Cuando MatLab es un cliente DDE dispone de las funciones siguientes:
ddeinit: Inicia una conversación DDE
ddepoke: Envía datos a una aplicación
ddereq: Requiere datos de una aplicación
ddeadv: Coloca un enlace aconsejado
ddeexec: Envía una cadena para ejecución.
Ddeunadv: Libera enlace aconsejado
Ddeterm: Termina una conversación DDE
Estas funciones son utilizadas para componer la función que permita el enlace con Lookout y LabVIEW. De manera que Matlab será un cliente DDE. Si MatLab actúa como servidor DDE, MATLAB es el nombre del servicio y los temas son System y Engine.
Programa Interfaz de Aplicación de Lookout (Objetos DDE)
Lookout es un programa para automatización industrial que permite el desarrollo de HMI/SCADA con alto desempeño bajo Windows, Windows 95 y Windows NT. Lookout es un sistema orientado a objeto. Así que para crear una HMI simplemente se configuran los objetos y se colocan en la pantalla gráfica. Entre las ventajas a destacar de Lookout esta la de permitir una auténtica configuración en línea. Mientras se van creando y modificando los objetos, éstos reflejan de forma inmediata el comportamiento real, incluso al operar en modo edición. Esta capacidad permite realizar cambios a la interfaz del operador sin detener o interrumpir el proceso industrial. Adicionalmente Lookout posee una arquitectura basada en eventos, de forma que las aplicaciones son rápidas y aprovechan de manera eficaz los recursos del PC
Al modelo de un proceso implementado en simulink, se le agrega una función que agrupa los datos relevantes del proceso para iniciar una conversación con Lookout que se desempeña como la aplicación servidora.
La función incorporada al programa en simulink esta programada para incluir las funciones propias de MatLab que permiten establecer un enlace DDE.En la figura 2 se muestra un diagrama de flujo de la función ddeula implementada para integrar un proceso virtual en Matlab con Lookout
Figura 2 Diagrama de flujo de función ddeula en MatLab
Programa Interfaz de Aplicación de LabVIEW (API-LabVIEW)
LabVIEW es un ambiente de programación gráfico diseñado para desarrollar aplicaciones de: adquisición de datos y análisis de datos con interfaz hacia un computador personal. LabVIEW puede ejecutarse en un sin número de sistemas operativos incluyendo Windows y UNIX, siendo su código transportable de un sistema a otro.
Los programas de LabVIEW se les llama instrumentos virtuales (VIs) debido a que su aspecto y operación imitan a los instrumentos reales. Los VIs se pueden utilizar directamente o a través de una subrutina (llamada subVIs). La interfaz de usuario se llama el panel frontal, porque simula el panel frontal de un instrumento físico. El panel frontal puede contener las perillas, los botones, los gráficos, y otros controles e indicadores. Los controles se pueden ajustar usando el ratón o el teclado, y los cambios son indicados en la pantalla del ordenador. El diagrama de bloque muestra los componentes internos del programa. Los controles y los indicadores están conectados con otros operadores y estructuras del programa.
Con LabVIEW se pueden crear VIs que actúen como clientes DDE de otras aplicaciones (estos VIs piden o envían datos a otras aplicaciones). También se pueden crear VIs que actúen como servidores de información, que pueden ser utilizados a través de otras aplicaciones. Como un servidor, LabVIEW no usa comunicación basada en conexión.
Al utilizar el ambiente de programación de LabVIEW se dispone de VIs para DDE, tal como se muestra en la figura 3. Los VIs para DDE en el nivel superior son usados como clientes. La subpaleta DDE Server contiene los VIs como servidor. Esta paleta de VIs DDE puede ser operada seleccionando de la paleta de funciones Functions » Communication » DDE.
Figura 3. Paleta de Funciones DDE en LabVIEW
Los VIs para el intercambio dinámico de datos (DDE) le dan a LabVIEW capacidad total como cliente DDE.
SOLUCIÓN Y RESULTADOS
La metodología de integración propuesta permite la integración de procesos en Matlab con Lookout y LabVIEW bajo ambiente windows utilizando el protocolo DDE. El esquema de integración implementado se muestra en la figura 4. Tal como se observa en Matlab (simulink) se realiza la simulación del proceso previamente modelado y en Lookout y LabVIEW se desarrollan las interfaces humano-máquina, a través de la cual, el estudiante puede interactuar con el proceso virtual. El sistema virtual debe acercase lo más posible al sistema real, por lo que también hay que adicionar algunos efectos presentes en la realidad, que incluyen perturbaciones y fallas. Este ambiente virtual esta bajo prueba para la implementación de prácticas de campo virtuales. Hay que destacar que LabVIEW es aprovechado como ambiente para la instrumentación virtual, mientras Lookout permite la implementación de sistemas SCADA, tal como los encontraría en un ambiente real.
Figura 4. Diagrama de integración de aplicaciones
Entre los ejemplos desarrollados destacan procesos de una columna de destilación binaria, un proceso de control de pH [4], el control y supervisión de un reactor exotérmico [5], un proceso de mezclado de líquidos [6], etc.
En la figura 5 se muestra la HMI de una columna de destilación binaria.
Figura 5. HMI de una columna de destilación binaria
En el laboratorio virtual el estudiante puede interactuar en línea con los procesos y estar en un ambiente de una sala de control, analizar perturbaciones y si estos están distribuidos se pueden operar bajo una red ethernet. El estudiante puede programar su sistema en pocas horas-hombre, aprovechando las características de la programación Gráfica y la orientada a objeto.
CONCLUSIONES
En el laboratorio virtual se pueden utilizar procesos en donde se reconfigure el modelo, la operación es segura en los procesos donde se manipulan sustancias peligrosas, y además el costo de mantenimiento es mínimo
También le permite al usuario interactuar para observar los cambios que producen las perturbaciones y el desempeño del controlador, asi como la influencia de la instrumentación sobre el proceso.
En la enseñansa de automatización industrial se pueden desarrollar prácticas para entrenamiento en el desarrollo de SCADAs, Sistemas de control hibrido, etc.
Es importante destacar que el ambiente de interfaz con el usuario debe considerar las recomendaciones usadas en la industria para el diseño eficiente de una HMI.
Otro aspecto que vale la pena mencionar es que el estudiante puede entrenarse en su casa para realizar una práctica real en el laboratorio, con el inconveniente del costo de licencias. Este aspecto pueden solventarse utilizando la tecnología web; que es una de las líneas a seguir en posteriores trabajos de investigación.
El estado de la tecnología en aplicaciones de programación permite inferir hacia donde se dirigen los próximos instrumentos de simulación usados en la educación. Dado su bajo costo, se puede contar con simuladores de cualquier tipo de proceso siempre que se disponga de un modelo representativo del mismo, aun en sistemas de alto riesgo.
REFERENCIAS
[1] Calderón-Vielma, Jesús A. Instrumentación Virtual. Reporte técnico. Postgrado en Automatización e Instrumentación. Universidad de Los Andes. Mérida-Venezuela. 1998.
[2]
Stegawski, Marcin and Shaummam, R.. A new Virtual-Instrumentation-Based Experimenting Environment for Undergraduate Laboratories with Aplication in Research and Manufacturing. IEEE Transaction on Instrumentation and Measurement. Vol 47, No 6. December 1998., pp. 1503-1506[3]
Petzold, Charles. Programación en Windowsâ 95. MacGraw-Hill Interamericana de España, S.A. España. 1996.[4]
Calderón-Vielma J., Viloria F., Cárdenas O., Camacho O., Chacón E. Integración de Herramientas de Programación para Enseñanza de Procesos. XVIII Congreso Interamericano de Ingeniería Químíca. San Juan, P.R. Diciembre 6-10. 1998.[5] Pernía-Espinoza, Alpha, Cádenas-Sándia Oscar O., Calderón-Vielma, Jesús A. Supervisión y Control de temperatura de un reactor CSTR. I Congreso Internacional de Electrónica y Tecnologías de Avanzada. Universidad de Pamplona. Norte de Santander. Colombia. Septiembre 1999.
[6] Urbina Gerson, Calderón-Vielma Jesús, Chacón Edgar. Implantación Virtual de un Sistema de Supervisión y Coordinación para el Control de Procesos. I Congreso Internacional de Electrónica y Tecnologías de Avanzada. Universidad de Pamplona. Norte de Santander. Colombia. Septiembre 1999.
RECONOCIMIENTO
Al Laboratorio de Investigación y Desarrollo en Automatización e Instrumentación (LabIDAI) de la Universidad de Los Andes en Venezuela, donde se realizaron las implantaciones del trabajo.