Herramienta para la enseñanza de Detección y Diagnóstico de fallas en Procesos Industriales Gloria Mousalli-Kayat [email protected] Jesús Calderón-Vielma [email protected] Addison Ríos-Bolívar [email protected] Francklin Rivas-Echeverría [email protected] Universidad de Los Andes Mérida, Venezuela Resumen El presente trabajo está orientado a la enseñanza de la Detección y Diagnóstico de Fallas en procesos industriales, a través de una herramienta computacional que integra un instrumento virtual desarrollado en LabVIEW 6.0 y una aplicación en MATLAB 6.1 para la simulación del proceso industrial. La integración de las aplicaciones utiliza el protocolo de intercambio dinámico de datos DDE (Dynamic Data Exchange). El objetivo del trabajo es proporcionar un instrumento que facilite al estudiante interactuar con un proceso y familiarizase con el comportamiento del sistema para lograr detectar mediante inspección las posibles fallas que ocurren en el mismo; la interacción es posible gracias a la integración de una interfaz hecha en LabVIEW con un programa simulador en MatLab. Adicionalmente, en MatLab se desarrollaron dos filtros detectores de falla, uno basado en observadores y otro basado en un método heurístico e implementado a través de una red neuronal; éstos confirmarán las conclusiones a las que ha llegado el estudiante por el método de inspección. Palabras clave: Software Educativo, LabVIEW, Integración de Aplicaciones, Detección de Fallas, Aplicaciones de Redes Neuronales Abstract The present work aims to the teaching of fault Detection and Diagnostic in industrial processes, through a computacional tool that integrates a virtual instrument developed in LabVIEW 6.0 and a computer application in MATLAB 6.1 for the simulation of the industrial process. For integrating the applications it has been used the Dynamic Data Exchange (DDE) protocol. The objective of the work is to use the integration of the LabVIEW interface with the MatLab program, in order to allow the student to interactuate with the process and be familiar with the behavior of the system. This will make the student able to detect by means of inspection the possible faults that could happen. Additionally, two faults detecting filters were developed using MatLab, one based on state observers and another based on a heuristic method and implemented through a neural network. These filters will confirm the conclusions that the student has arrived using the inspection method. Keywords: Educational software, Lab Views, applications integration, faults detection, newal networks applications. Introducción La inclusión del computador en el ambiente educativo tiene sus raíces a mediados de la década de los 50 fundamentados en la teoría conductista de Skinner (1970). El paradigma sobre el cual se desarrolló la tecnología aplicada a la enseñanza fue denominado “instrucción programada”, basado en el diseño de material instruccional compuesto por una serie de pequeños “pasos”, cada uno de los cuales requiere la respuesta activa del estudiante, quien recibe una realimentación instantánea en los mismos. A comienzos de los años 70 con el auge de la inteligencia artificial (Aguilar y Rivas, 2001)) surge la propuesta de la aplicación de estas técnicas a la instrucción asistida por computadora, Carbonell (1970) desarrolló un sistema tutor inteligente para la enseñanza de la geografía de América del Sur, éste puede considerarse como el primer paso hacia los Sistemas Tutores Inteligentes. Otro tipo de programas que han tenido gran auge en las últimas décadas son los simuladores que intentan apoyar el aprendizaje asemejando situaciones a la realidad (Galvis, 1992). Estos programas tienen una aplicación muy especial en el campo de la ingeniería facilitando el modelado y simulación de procesos químicos, físicos y mecánicos desde un computador personal (PC). Los programas simuladores permiten crear ambientes similares a los encontrados en las salas de control de las industrias; así, es factible acumular conocimientos y experiencias que puedan utilizarse en condiciones reales. El avance tecnológico ha traído el desarrollo de protocolos y técnicas de comunicación que hacen posible la integración de programas con características diferentes como simuladores, manejadores de bases de datos, tutoriales, etc., con miras a obtener herramientas computaciones que combinen las potencialidades de cada uno de ellos. Uno de estos protocolos es el de intercambio dinámico de datos DDE que permite la comunicación entre aplicaciones bajo ambiente Windows. En este trabajo se explotan las ventajas del programa LabVIEW (National Instruments Corporation, 2000) para el desarrollo de interfaces Hombre-Máquina, combinándolas con un programa simulador de procesos desarrollado en MatLab para crear una herramienta tipo tutorial, con el objetivo de enseñar al usuario los métodos de detección y diagnóstico de fallas. El aprendizaje se logra a través de un conjunto de pruebas virtuales sobre el proceso, el usuario observará el comportamiento del sistema ante distintas condiciones de fallas. El trabajo está estructurado de la siguiente forma: en la sección dos se presenta una breve introducción a la Detección de Fallas, en la sección tres se encuentra el protocolo de comunicación de aplicaciones DDE y el esquema DDE implementado entre LabVIEW - MATLAB, la sección cuatro contiene la descripción de la herramienta computacional desarrollada, en la sección cinco se realiza la discusión de resultados y finalmente en la sección seis se encuentran las conclusiones. Detección de Fallas Es conocido que la confiabilidad operacional debe estar conformada por: la correcta operación de los procesos, los sistemas de control asociados y la coordinación de los mismos. Toda esta infraestructura está soportada por diversos sistemas de apoyo dentro de una estructura de automatización integral, donde la información y su intercambio se consideran relevantes, desde el punto de vista de confiabilidad, seguridad y productividad. En cualquiera de los niveles de la cadena de producción, esta información debe ser manejada con miras a mantener altos índices de eficiencia y productividad operacional. Dentro de un marco de operación confiable y segura, deben estar presentes los sistemas que permiten el reconocimiento de eventos, los cuales deben orientar la toma de decisiones cuando el desempeño del proceso productivo se ve afectado por la presencia de cualquier eventualidad adversa. Puesto que la confiabilidad está muy ligada al concepto de seguridad, entonces, es fundamental dotar a los procesos industriales de exigentes mecanismos de seguridad, cuyos elementos básicos son los sistemas de Monitoreo, Diagnóstico y Detección, (MDD); los cuales, mediante los indicadores y las variables medidas de los procesos, mantienen una supervisión continua y constante del comportamiento evolutivo en el tiempo de la producción, reportando cualquier sintomatología que se considere anormal. Los sistemas de MDD se fundamentan en su capacidad para responder ante situaciones inesperadas del comportamiento del proceso, de manera que su principal tarea es la del Diagnóstico y Detección de Fallas, (DDF). Un sistema de DDF, tal como se muestra en la Figura 1, utiliza las mediciones del proceso a objeto de producir unos residuos, a partir de los cuales, mediante funciones de evaluación y lógicas de decisión, se busca la identificabilidad y la separabilidad de las fallas. En el marco de estas ideas, cualquier sistema que permita, a partir de las variables medidas de los procesos, generar los residuales y evaluar dichos residuales en forma objetiva, en relación a las tomas de decisiones orientadas en el reconocimiento de fallas, se denomina Filtro de Detección y de Diagnóstico de Fallas. Figura 1. Un Sistema MDD Desde el punto de vista de la generación de residuos por comparación, las técnicas de diseño de filtros de DDF se pueden clasificar en, (ver la Figura 2): 1. Métodos de Redundancia Física; en los cuales se hace uso de las réplicas físicas de los dispositivos y sistemas bajo estudio. Los residuos se obtienen por la comparación de las respuestas de los distintos elementos. Estas técnicas tienen el inconveniente principal de los costos involucrados para su implementación y seguimiento. 2. Métodos Basados en Modelos; a partir de los cuales se producen valores estimados de las salidas de los procesos para la generación de los residuales, mediante su comparación con las salidas medidas. El principal inconveniente de estas técnicas es el de construir o disponer de modelos muy precisos. Diseño de Filtros basados en Observadores Los observadores de estados es una técnica analítica que se base en el diseño de Filtros Detectores y Diagnosticadores de Fallas (DDF). El diseño de estos filtros DDF se puede dividir es dos etapas: la primera fase es la generación de los residuales, (el problema de detección). La segunda etapa es la evaluación de los residuales a objeto de determinar el origen de las fallas, (el problema de separación de las fallas). Así, los residuales son señales escalares o vectoriales que contienen la información acerca del tiempo y localización de las fallas. En principio, los residuales deben ser iguales a cero en ausencia de fallas y, obviamente, distintos de ceros cuando alguna falla hace su aparición. Bajo esas premisas, los observadores de estados se pueden emplear para la generación de los residuales. La idea es construir un observador clásico, en general de orden completo, para el sistema dado en (1), mediante el uso de las variables de salida y(t) y las variables de control u(t), a objeto de producir un vector de estados estimados. Los residuales se producen al comparar la salida estimada con la salida medida de la planta física (Massoumnia, 1986). Métodos Basados en Conocimiento Los métodos basados en conocimiento son útiles en los casos en los que resulta difícil lograr un modelo analítico para la obtención de los residuos. Estos métodos están basados en el conocimiento que exista sobre el comportamiento de las salidas del sistema, éste conocimiento permitirá inferir las condiciones en las cuales se encuentra operando el proceso. Una de las técnicas empleadas para este con las redes neuronales (Rios, Mousalli y Rivas, 2002). Un esquema neuronal utilizado para la detección de fallas, consiste de una red Neuronal que posee como entradas: las variables del proceso usadas para la detección y como salidas: un conjuntos de valores asociados con la condición operacional del sistema. En este esquema, al igual que en la mayoría de aplicaciones neuronales, es recomendable que todas las señales de entrada hayan sido convenientemente normalizadas entre 0 y 1 para garantizar que el entrenamiento no dependerá del rango de variabilidad de cada señal. Por otro lado, cada salida deseada debe ser elegida de forma tal que represente una condición particular del proceso. Por ejemplo, 1 representa la presencia de una falla y –1 su ausencia. Figura 2. Métodos de generación de Residuos La Comunicación entre procesos: El Protocolo DDE El protocolo de intercambio dinámico de datos DDE (Dynamic Data Exchange) es uno de los métodos de comunicación entre procesos que permite intercambiar datos entre aplicaciones de Windows. El protocolo DDE está basado en el sistema de mensajería construido por Windows (Petzold, 1996). Así, dos programas de aplicación bajo Windows tal como se muestra en la figura 3 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 3. Diagrama de Conversación DDE APLICACION SERVIDOR MODULO DDE APLICACION CLIENTE CONVERSACION MODULO DDE Una conversación DDE se inicia con el programa que actúa como cliente, éste 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 ese 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. 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. 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 es completada, el cliente envía un mensaje de cerrar la conversación al servidor. Comunicación DDE LabVIEW-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, incluye capacidades gráficas, y estructuras básicas de programación cuya sintaxis es similar a la de ciertos lenguajes de programación como C, Fortran y Basic. 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 programación basada en diagramas de bloques. El protocolo DDE puede utilizarse para interactuar con Simulink a través de otra aplicación (Calderon-Vielma, Viloria y otros, 1998); para ello MatLab puede ser un cliente o un servidor (The MathWorks, Inc, 1998). En la aplicación MatLab es la aplicación cliente, para ello fue necesario construir una caja de diálogo en Simulink con funciones que puedan iniciar una conversación DDE para el intercambio de datos. 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 (Lazaro, 2001). La programación de una aplicación en LabVIEW es muy diferente de la programación en un lenguaje basado en texto tal como C o Basic. LabVIEW utiliza los símbolos gráficos (iconos) para describir el programa de acciones. El flujo de los datos es a través de los conductores en un diagrama de bloque. Puesto que LabVIEW es gráfico y basado en un sistema de ventanas, es a menudo mucho más sencillo su uso que un lenguaje típico. Los programas de LabVIEW se les llaman 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, debido a que simula el panel frontal de un instrumento físico. 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. LabVIEW provee de un conjunto de VIs para DDE, éstos facilitan la creación de 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 puede ser utilizada a través de otras aplicaciones. Como un servidor, LabVIEW no usa comunicación basada en conexión. La comunicación entre las aplicaciones se realiza según el diagrama de flujo mostrado en la figura 4, el programa en MatLab inicia la conversación enviando datos de proceso y solicitando las condiciones de operación de los instrumentos, la conversación se mantiene hasta que la aplicación en MatLab se cierre. Figura 4. Conversación DEE MatLab-LabVIEW Descripción de la Herramienta Computacional Desarrollada Se desarrolló un software tipo tutorial que pretende fortalecer el proceso enseñanzaaprendizaje en los métodos de detección y diagnóstico de fallas. La herramienta permite al usuario interactuar con el proceso a través de la interfaz diseñada en LabVIEW, el proceso es simulado en MatLab, este instrumento virtual trata de emular una sala de control donde el operador observa los mímicos del proceso para detectar las condiciones en las que se encuentra operando el sistema. La pantalla principal de la herramienta se presenta en la Figura 5 en ella se presenta una introducción de los métodos de detección y diagnóstico de fallas. El usuario podrá profundizar las diferentes técnicas utilizando los enlaces a los métodos basados en redundancia y métodos heurísticos. Desde esta pantalla principal el usuario puede acceder al proceso que se escogió para reforzar el entendimiento del tema. Figura 5 Pantalla Principal de la Herramienta En la Figura 6 se presenta el esquema de tres tanques interconectados que se tomó como ejemplo de aplicación. Figura 6 Sistema de tres tanques interconectados El sistema está compuesto de tres tanques, donde el tanque 1 recibe un caudal constante u(t) de 5000 cm3/s, y a su vez alimenta al tanque 2 y al tanque 3. Las posibles fallas que se pueden presentar en este sistema en particular son el bloqueo de cualquiera de las cuatro válvulas. Las ecuaciones que rigen el sistema son: En condiciones normales de operación, las cuatro válvulas que componen el sistema se encuentran abiertas y se asume que el suministro de líquido es constante. A medida que transcurre el tiempo, los niveles en los 3 tanques se incrementa, y el suministro de líquido del tanque 1 al 2 ni el de los tanques 1 y 2 al tanque 3 se interrumpe. La Figura 7 se presenta el instrumento virtual diseñado en LAbVIEW para este proceso, el usuario podrá generar cualquiera de las cuatro fallas posibles y observar el comportamiento de los niveles de los tanques. Adicionalmente, el usuario contará con una ayuda sobre las ecuaciones del sistema, y los comportamientos de los niveles de los tanques ante diferentes condiciones de falla del sistema. La herramienta implementa dos filtros detectores diseñados por los dos métodos introducidos en la pantalla principal. Uno de los filtros está basado en métodos de redundancia analítica que calcula los residuos a partir de un observador de estados. El otro filtro fundamentado en un método heurístico e implementado a través de una red neuronal; la red fue entrenada utilizando diferentes condiciones de operación. Ambos filtros se encuentran simulados en MatLab, cuando el filtro detecta una condición de falla envía una señal a LabVIEW e inmediatamente se enciende una señal indicando la falla que ha ocurrido, de esta forma el estudiante evaluará el funcionamiento y eficiencia de los filtros en base a los resultados que arrojen. Figura 7. Instrumento Virtual desarrollado en LabVIEW Discusión de Resultados Como resultados preliminares en la aplicación de la herramienta computacional, la misma ha sido utilizada por estudiantes de postgrado y tesistas de pregrado, quienes actualmente desarrollan temas afines a la detección de fallas. La facilidad para entender y comprender el tópico de detección de fallas mediante esta metodología ha sido eficientemente mostrada ya que en pocas horas los estudiantes han podido adquirir los conocimientos fundamentales en este campo e indagar sobre las distintas posibilidades de actuar sobre los procesos bajo fallas. Esto califica a la herramienta como un mecanismo facilitador en el proceso enseñanza-aprendizaje. Conclusiones Las potencialidades de LabVIEW para el desarrollo de instrumentos virtuales, interfaces Hombre-Máquina y las bondades del protocolo DDE permitieron crear una herramienta para la detección y diagnóstico de fallas que puede utilizarse en el proceso de enseñanza o capacitación de personal en esta área. Este tipo de herramienta permite al estudiante interactuar con el proceso industrial modificando las condiciones de operación del sistema, verificando las condiciones de proceso dependiendo del comportamiento de las salidas del mismo, esto provee de mecanismos que faciliten la toma de decisiones ante condiciones anómalas de operación del sistema. Referencias Aguilar, J., y Rivas, F. (2001). Introducción a las técnicas de computación inteligente. Venezuela: Meritec. Carbonell, J. (1970). AI in CAI: An artificial intelligence approach to computerassisted-instruction. IEEE Transactions on Man-Machine Systems, 190-202. Calderon-Vielma, J., F. Vitoria y otros. (1998). Integración de herramientas de programación para la enseñanza de procesos. En XVIII Interamerican Congress of Chemical Engineering. San Juan. Puerto Rico. Galvis, A. (1992). Ingeniería de software educativo. Bogotá - Colombia: Ediciones Uniandes. Lazaro, A. (2001). Labview 6i. España: Thomson Editores Spain Paraninfo, S.A. Massoumnia, M. (1986). A geometric approach to the synthesis of failure detection filters. IEEE Trans. Aut. Control, 839-846. National Instruments Corporation. (2000). LabVIEW User Manual. USA: National Instruments Corporation. Petzold, C. (1996). Programación en Windows®95. España: MacGraw-Hill Interamericana de España, S.A. Rios, A., Mousalli, G., & Rivas, F. (2002). Invertibility and neural networks based FDI filter. En IASTED international conference on intelligent systems and control. Tsukuba - Japan. Skinner, B. (1970). Science and human behavior. New York: Free Press. The MathWorks, Inc. (1998). Application program interface guide. USA.