Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
II INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY CAMPUS MONTERREY PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN Desarrollo de una interfaz de software para la implementación de estrategias de control continuo TESIS PRESENTADA COMO REQUISITO PARCIAL PARA OBTENER EL GRADO ACADÉMICO DE: MAESTRO EN CIENCIAS CON ESPECIALIDAD EN AUTOMATIZACIÓN POR: Tomás López Lauterio MONTERREY, N.L. Diciembre, 2007 III INSTITUTO TECNOLÓGICO DE ESTUDIOS SUPERIORES DE MONTERREY DIVISIÓN DE MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN PROGRAMA DE GRADUADOS EN MECATRÓNICA Y TECNOLOGÍAS DE INFORMACIÓN Los miembros del comité de tesis recomendamos que la presente tesis del Ingeniero Tomás López Lauterio sea aceptada como requisito parcial para obtener el grado académico de Maestro en Ciencias con Especialidad en Automatización. Comité de tesis: ______________________________ Dr. Rubén Morales Menéndez Asesor ______________________________ Dr. Ricardo Ramírez Mendoza Sinodal ______________________________ M.C. Federico Guedea Elizalde Sinodal _________________________________________ Dr. Graciano Dieck Assad Director del Programa de Graduados en Mecatrónica y Tecnologías de Información Diciembre, 2007 IV Desarrollo de una interfaz de software para la implementación de estrategias de control continuo POR: Tomás López Lauterio TESIS Presentada al Programa de Graduados en Mecatrónica y Tecnologías de Información Este trabajo es requisito parcial para obtener el grado de Maestro en Ciencias con Especialidad en Automatización INSTITUTO TECNOLÓGICO Y DE ESTUDIOS SUPERIORES DE MONTERREY Diciembre, 2007 V VI Dedicatoria A mis Padres Tomás y Lourdes, por brindarme su apoyo incondicional siempre, por ser ejemplo de perseverancia y responsabilidad, por enseñarme la importancia que tiene la familia en la vida de la persona. A mi familia, en donde encuentro tranquilidad y refugio. A mi esposa Verónica, por su cariño y apoyo, por que siempre estas ahí, por ser inspiración. A Dios… por otorgarme todo lo anterior. VII VIII Reconocimientos A todas aquellas personas que han sido parte de mi formación profesional y académica, mi más sincero agradecimiento. Al Dr. Rubén Morales Menéndez por ser ejemplo de profesionalismo y dedicación. Gracias por su apoyo durante el desarrollo de este trabajo. IX X ÍNDICE GENERAL INDICE DE CUADROS..................................................................................... XIV INDICE DE FIGURAS....................................................................................... XVI 1. INTRODUCCIÓN..............................................................................................1 1.1 Motivación de la Investigación ......................................................................................................... 1 1.2 Descripción del problema ................................................................................................................. 2 1.3 Objetivo ............................................................................................................................................ 3 1.4 Trabajos Relacionados ..................................................................................................................... 4 1.5 Contribuciones.................................................................................................................................. 4 1.6 Organización del documento ............................................................................................................ 5 2. MARCO TEÓRICO ...........................................................................................6 2.1 Estado del Arte.................................................................................................................................. 9 2.2 Tecnologías de software disponibles para la comunicación entre sistemas.................................... 13 2.2.1 Evolución de las tecnologías de software para la comunicación entre procesos. .......................... 13 2.2.2 Tecnologías de software usadas en la automatización................................................................. 14 2.2.3 Otras técnicas usadas para el intercambio de datos entre aplicaciones. ........................................ 15 2.3 Software comercial.......................................................................................................................... 15 2.3.1 RSView™ [43].......................................................................................................................... 16 2.3.2 Matlab™ [37]............................................................................................................................ 16 2.3.3 LabWindows/CVI™ [39] .......................................................................................................... 17 2.3.4 LabView™ [38] ........................................................................................................................ 17 2.3.5 SIMATIC WinCC flexible™ [41].............................................................................................. 17 2.3.6 Agilent VEE™ [40]................................................................................................................... 18 2.3.7 Profit Suite 300™ [42] .............................................................................................................. 18 2.4 Comentarios .................................................................................................................................... 19 3. SISTEMA EXPERIMENTAL...........................................................................20 3.1 Instrumentación instalada .............................................................................................................. 22 3.2 Controlador PID ............................................................................................................................. 22 3.3 Proyectos realizados en la estación de monitoreo y control de nivel. ............................................ 23 3.3.1 Control retroalimentado............................................................................................................. 23 3.3.2 Control antealimentado/retroalimentado..................................................................................... 24 3.3.3 Control en cascada..................................................................................................................... 25 XI 4. METODOLOGÍA.............................................................................................26 4.1 Introducción.................................................................................................................................... 26 4.2 Metodología de diseño para una interfaz humano-máquina.......................................................... 26 4.3 Estructura completa de la interfaz. ................................................................................................ 27 4.3.1 Interfaz de comunicación de la HMI con el controlador ............................................................. 29 4.3.2 Diseño de la comunicación de la HMI con Matlab Simulink....................................................... 30 4.3.3 Metodología para el diseño del intérprete para la ejecución de controladores compilados en ANSI C..................................................................................................................................................33 5. RESULTADOS ...............................................................................................36 5.2 Interfaz de Monitoreo y Control..................................................................................................... 36 5.1 Diseño de experimentos .................................................................................................................. 37 5.2 Aplicaciones .................................................................................................................................... 38 5.2.1 Proyecto #1: Controlador difuso en tiempo real......................................................................... 38 5.2.2 Proyecto # 2: Estrategias de control en tiempo real.................................................................... 44 5.2.3 Proyecto # 3: Sintonía de Controladores PID en tiempo real ...................................................... 50 5.2.4 Proyecto # 4: Estrategias de control avanzadas.......................................................................... 53 5.3 Experiencias en el uso de la HMI ................................................................................................... 58 5.4 Comentario ..................................................................................................................................... 59 6. CONCLUSIONES ...........................................................................................61 6.1 Trabajos Futuro.............................................................................................................................. 63 BIBLIOGRAFÍA..................................................................................................65 APÉNDICES.......................................................................................................70 APÉNDICE A. IMPLEMENTACIÓN ..................................................................72 A.1 Pseudo código para la configuración y manejo de un puerto RS232 ............................................ 72 A.2 Descripción del Bloque de Transmisión/Recepción desde Matlab................................................ 73 APÉNDICE B. IMPLEMENTACIÓN DE UN CONTROLADOR PID EN ANSI C. ............................................................................................................................74 APÉNDICE C. DESCRIPCIÓN DE LA INTERFAZ............................................76 XII C.1 Pestaña de parámetros de comunicaciones................................................................................... 76 C.2 Pestaña de datos y monitoreo........................................................................................................ 77 C.3 Pestaña scripts compilados ........................................................................................................... 78 C.4 Pestaña conexión con Matlab™.................................................................................................... 79 APÉNDICE D. DISEÑO DEL CONTROLADOR DIFUSO .................................80 D.1 Desarrollo....................................................................................................................................... 80 D.1.1 Dinámica del proceso................................................................................................................ 80 D.1.2 Diseño del controlador.............................................................................................................. 80 D.1.2 Defusificación .......................................................................................................................... 83 D.1.3 Definición de rangos................................................................................................................. 83 D.1.4 Normalización .......................................................................................................................... 83 D.1.5 Implementación del controlador en Simulink™......................................................................... 83 APÉNDICE E. IMPLEMENTACIÓN DE ESTRATEGIAS DE CONTROL .........85 E.1 Resultados de identificación y sintonización.................................................................................. 85 E.2 Cálculo de la ganancia de antealimentación .................................................................................. 86 APÉNDICE F. DIVERSAS SINTONÍAS DE PID................................................87 F.1 Modelo del proceso......................................................................................................................... 87 F.1 Sintonía por especificaciones de robustez ...................................................................................... 87 F.2 Regulador lineal cuadrático (LQR)................................................................................................ 89 F.3 Sintonización vía extremum seeking .............................................................................................. 90 APÉNDICE G. ESTRATEGIAS DE CONTROL AVANZADAS .........................92 G.2 Internal Model Control.................................................................................................................. 92 G.3 Predictor de Smith ......................................................................................................................... 92 APÉNDICE F. MANUAL DE INSTALACIÓN ....................................................94 APÉNDICE H. MANUAL DE USO DE LA INTERFAZ ......................................96 H.1 Monitoreo de la estación de control de nivel ................................................................................ 96 H.2 Ejecución de scripts compilados. .................................................................................................. 97 H.3 Conexión con Matlab™ y Simulink™.......................................................................................... 97 XIII XIV Indice de cuadros Tabla 2.1 Tabla comparativa de trabajos de investigación..............................................12 Tabla 2.2 Tabla de características de RSView™............................................................16 Tabla 2.3 Tabla de características de Matlab™..............................................................16 Tabla 2.4 Tabla de características de LabWindows/CVI ................................................17 Tabla 2.5 Tabla de características de LabView™ ..........................................................17 Tabla 2.6 Tabla de características de Simatic WinCC flexible™....................................17 Tabla 2.7 Tabla de características de Agilent VEE™.....................................................18 Tabla 2.8 Tabla de características de Profit Suite 300™ ................................................18 Tabla 5.1 Proyectos realizados en la interfaz .................................................................37 Tabla 5.2 Pruebas realizadas al controlador difuso.........................................................39 Tabla 5.3 Controlador difuso ante cambios de nivel.......................................................41 Tabla 5.4 Controlador difuso ante perturbaciones en la entrada y salida.........................43 Tabla 5.5 Pruebas realizadas para estrategia en cascada y cascada con antealimentación. ......................................................................................................................................45 Tabla 5.6 Estrategia en cascada antealimentado ante cambios en referencia. ..................48 Tabla 5.7 Estrategia cascada antealimentado ante perturbaciones en la entrada y salida. 49 Tabla 5.8 Respuesta del controlador PID con diferentes tipos de sintonía. .....................53 Tabla 5.9 Pruebas realizadas a la estrategiaIMC y Predictor de Smith...........................56 Tabla 5.10 Resultados de desempeño IMC ....................................................................57 Tabla 5.11 Resultados de desempeño del Predictor de Smith .........................................58 Tabla D.1 Tabla de reglas del controlador difuso ...........................................................80 Tabla D.2 Reglas de salida de la variable Ganancia .......................................................82 XV XVI Indice de figuras Figura 2.1 Modelo Educativo del Tecnológico de Monterrey. ..........................................8 Figura 3.1 Estación de monitoreo y control de nivel. .....................................................20 Figura 3.2 Diagrama conceptual de la estación de monitor y control de nivel................21 Figura 3.3 Sistema de control retroalimentado. ..............................................................23 Figura 3.4 Sistema de control antealimentado/retroalimentado. .....................................24 Figura 3.5 Estrategia de control en cascada....................................................................25 Figura 4.1 Diagrama conceptual de la aplicación y sus conexiones. ...............................28 Figura 4.2 Esquema de comunicación entre el UDC 6300 y la HMI...............................29 Figura 4.3 Esquema de la implementación del servidor y cliente TCP/IP.......................31 Figura 4.4 Diagrama de flujo de un ciclo de ejecución de la HMI conectada a Simulink™. ......................................................................................................................................32 Figura 4.5 Diagrama de ejecución de un programa compilado en ANSI C. ....................34 Figura 5.1 Pantalla principal de la interfaz. ....................................................................37 Figura 5.2 Lazo de control, y situación del controlador basado en lógica difusa. ............38 Figura 5.3 Diagrama de Bloques del controlador Difuso................................................40 Figura 5.4 Respuesta ante cambio de nivel en el tanque de 30% a 50%..........................41 Figura 5.5 Respuesta ante cambio de nivel en el tanque de 50% a 30%..........................42 Figura 5.6 Respuesta ante una perturbación en el flujo de entrada..................................43 Figura 5.7 Respuesta ante una perturbación el flujo de salida.........................................43 Figura 5.8 Estrategia de control en cascada con antealimentación. .................................45 Figura 5.9 Diagrama de Bloques del controlador cascada con antealimentación.............46 Figura 5.10 Respuesta de la estrategia en cascada para servo control. ............................47 Figura 5.11 Respuesta de la estrategia en cascada con antealimentación para servo control. ..........................................................................................................................48 Figura 5.12 Respuesta de la estrategia cascada ante perturbaciones en la entrada. ..........49 Figura 5.13 Respuesta de la estrategia cascada con antealimentación ante perturbaciones en la salida. ...................................................................................................................50 Figura 5.14 Implementación en Simulink del controlador PID.......................................51 Figura 5.15 Respuesta del PID con sintonización mediante parámetros de robustez. ......52 Figura 5.16 Respuesta del PID como regulador lineal cuadrático. ..................................52 Figura 5.17 Respuesta del PID con sintonización mediante Extremum Seeking. ............53 Figura 5.18 Diagrama de bloques en Simulink de la estrategia IMC. .............................54 Figura 5.19 Diagrama de bloques en Simulink™ del Predictor de Smith. ......................55 Figura 5.20 Respuesta de la estrategia IMC para servo control y control regulatorio. .....56 Figura 5.21 Respuesta del Predictor de Smith para cambios en referencia......................57 Figura A.1 Bloque principal insertado en las simulaciones de Matlab y su correspondencia en el proceso. ......................................................................................73 Figura C.1 Pestaña de parámetros de comunicaciones....................................................76 Figura C.2 Pestaña de datos y monitoreo. ......................................................................77 Figura C.3 Pestaña de ejecución de scripts compilados en ANSI C. ...............................78 Figura C.4 Pestaña de conexión a Matlab. .....................................................................79 Figura D.1 Función de Membresía del Error. .................................................................81 Figura D.2 Función de Membresía del Derivativo del Error...........................................81 Figura D.3 Función de Membresía de la Manipulación. .................................................82 Figura D.4 Función de membresía de la salida Ganancia. ..............................................82 Figura D.5 Diagrama de Bloques del controlador Difuso. ..............................................84 Figura E.1 Diagrama de bloques de la estrategia en cascada en Simulink.......................85 Figura E.2 Diagrama de Bloques del controlador cascada con antealimentación. ...........86 Figura F.1 Diagrama de bloques para el controlador PID basado en especificaciones de robustez.........................................................................................................................87 Figura F.2 Diagrama de Bloques del controlador PID con parámetros de robustez.........88 Figura F.3 Diagrama de Bloques del controlador PID con sintonización LQR o ES.......90 Figura G.1 Estructura del Predictor de Smith.................................................................92 Figura H.1 Ajuste del tiempo de muestreo en el RTBlock..............................................98 Figura H.2 Configuración de los parámetros del solver en Simulink™ ..........................99 XVII XVIII 1 Capítulo 1 1. Introducción El crecimiento acelerado de la industria con requerimientos de rápida colocación de productos en los mercados, aunado a una gran competencia global, demanda una mejor integración en el diseño y manufactura de productos. La industria moderna debe tener las herramientas, tecnologías e infraestructura adecuadas que permita la automatización de sus procesos de diseño y producción de principio a fin, de tal manera que esto se pueda convertir en una ventaja competitiva. Corripio [24] menciona que la automatización de procesos: 1. Permite incrementar los niveles de seguridad para los empleados. 2. Protege al medio ambiente. 3. Minimiza el desperdicio. 4. Protege las inversiones en equipos. 5. Mejora la calidad del producto a bajo costo y con el mejor rendimiento. Las empresas que han implementando sistemas automatizados han logrado minimizar y maximizar los puntos mencionados, reflejándose en ahorros importantes, que han permitido a dichas empresas seguir siendo competitivas. 1.1 Motivación de la Investigación Actualmente los sistemas de control son una combinación de computadoras, interfaz gráfica, sistemas de adquisición de datos y redes de computadoras que interactúan con los elementos convencionales de los sistemas de control, sensores y actuadores. Los estudiantes de licenciatura y postgrado del campo de ingeniería se enfrentan a esta realidad al momento de su graduación, y muchas de las veces no cuentan con conocimientos previos o experiencia en dichas áreas. En la mayoría de los cursos de teoría de control se trata de cubrir una amplia gama de temas y software de simulación es usado como herramienta para mostrar los aspectos prácticos de la teoría.Desafortunadamente en muchas de las simulaciones, algunas situaciones reales como limitaciones físicas de los procesos, saturaciones o tiempos de 2 muestreo no son modeladas adecuadamente o son ignoradas totalmente, considerando solamente situaciones ideales. En algunos cursos se ha tratado de incorporar la experiencia real con sistemas de control instalados en laboratorios experimentales, pero las complicaciones de tal enfoque limitan el tiempo dedicado a la parte teórica, además de que es un alto costo para las instituciones de enseñanza. En diversos foros se ha mencionado que la enseñanza de la teoría de control es una de las actividades centrales para lograr mayor impacto tecnológico en el futuro [1]. Dentro de las recomendaciones más recurrentes se puede encontrar que: 1. Los materiales y temas relacionados a la teoría de control deben ser accesibles a un mayor número de practicantes [1]. 2. Herramientas basadas en software deben ser provistas a los estudiantes [2]. 3. Proveer experiencia práctica para generar interés en los alumnos [2]. 4. Hacer de los proyectos experimentales una parte integral en la enseñanza del control automático [2]. Por estas razones las universidades y centros de investigación, han dirigido en los últimos años recursos a la creación de nuevos esquemas de enseñanza-aprendizaje, con resultados exitosos. La automatización de procesos es solo una de las áreas de oportunidad para la optimización del esquema enseñanza-aprendizaje, pero muchas otras disciplinas podrían verse beneficiadas por este tipo de enfoques. 1.2 Descripción del problema Existe la necesidad de transferir de una manera rápida y eficiente conocimientos prácticos y teóricos a los estudiantes de ingeniería, sin embargo en algunos de los enfoques usados del proceso enseñanza-aprendizaje, se invierte una gran cantidad de tiempo y esfuerzo por el alumno en la construcción de los sistemas con los que se pretende experimentar, de tal manera que una gran cantidad de detalles de implantación adquieren relevancia y su resolución generalmente va más allá de los conceptos tradicionalmente transmitidos en el curso, limitando el tiempo a dedicar a los conceptos 3 centrales de la materia. El resultado para el alumno es un aprendizaje superficial y/o muy teórico. En el Tecnológico de Monterrey existen avances significativos de esquemas para la enseñanza y práctica del control automático, un caso de estudio son las estaciones de monitoreo y control de nivel [3]. Sin embargo, el constante avance tecnológico y la incorporación de nuevos temas a los planes de estudio han hecho que el esquema actual sea insuficiente y/o requiera de una actualización acelerada. 1.3 Objetivo El objetivo principal de este trabajo es diseñar, implementar y validar una interfaz humano-máquina que sea capaz de: 1. Minimizar el diseño de cualquier interfaz de hardware ó software por parte del alumno. 2. Proveer una herramienta al alumno que permita el diseño e implementación de una forma intuitiva y rápida. 3. Mejorar la didáctica en alcance y tiempo. 4. Transparente y transportable. Desde el punto de vista técnico la interfaz será capaz de conectarse a los elementos de la estación de monitoreo y control de nivel con capacidad de transmitir y recibir información. Dicha interfaz contará a su vez con otra interfaz capaz de recibir y mandar datos a software comercial de simulación como Matlab™. También se podrá monitorear y cambiar parámetros en el controlador industrial instalado, almacenamiento de datos del monitoreo y ejecución de tareas de secuencias compiladas en ANSI C. Matlab™ es un estándar en ingeniería para la mayoría de las instituciones de investigación y universidades, además de que la mayoría de los estudiantes están familiarizados con Matlab™. Matlab™ es un programa de manipulación numérica computacional, que cuenta con su propio lenguaje de programación, permite la fácil manipulación de matrices, el graficado de funciones y datos, implementación de algoritmos y la creación de interfaz de usuario La capacidad de interconectar Matlab™ 4 con información del proceso real ofrece grandes oportunidades para la optimización del proceso enseñanza-aprendizaje 1.4 Trabajos Relacionados Varios trabajos con el mismo propósito se han desarrollado usando diversas tecnologías y software. Algunos de ellos son basados en simulaciones y otros interactúan con procesos reales. Se puede observar que muchos de estos trabajos usan Matlab™ y Simulink™, algunos de ellos están basados en microcontroladores o procesadores digitales de señales que se apegan mas a un tiempo real “duro” (Hard-Real- Time), el término se refiere a los sistemas operativos que se penalizan si el tiempo de muestreo no se cumple, y otros basados en tiempo real “suave” (Soft-Real-Time), en el que sistema operativo puede variar el tiempo de muestreo sin penalización alguna. En los últimos años se ha hecho común el uso de aplicaciones de tiempo real “suave”, ya que implementar un sistema de tiempo real “duro” generalmente es más costoso, y los sistemas operativos de tiempo real “suave”, como Windows™ de Microsoft™, se han hecho más confiables. Esta tendencia también es posible corroborarla en los últimos trabajos desarrollados en el tema. Simulink™ es una aplicación que se ejecuta dentro del ambiente de desarrollo de Matlab™, muy utilizado en la investigación y universidades. Simulink™ es una herramienta para el modelado, simulación y análisis de sistemas dinámicos, su interfaz de usuario está completamente basada en el arrastre e interconexión de bloques, así que el diseño se realiza de una manera completamente grafica. En el capítulo dos se presenta un estudio detallado de algunos autores que han desarrollado esquemas de enseñanza-aprendizaje basados en diferentes plataformas y modelos. 1.5 Contribuciones El presente trabajo hace más fácil la práctica real de los temas relacionados al control automático de procesos, permite a los estudiantes aprender en base a la observación de fenómenos reales de una manera rápida y enfocada, facilita la práctica de 5 conceptos tradicionalmente compartidos de manera teórica, motiva al estudiante a profundizar, ahorra una gran cantidad de tiempo ya que soslaya el desarrollo de programas o circuitos, permite la rápida implementación de diversos esquemas de control como control difuso, control cascada, control antealimentado, etc. 1.6 Organización del documento En el capítulo dos se hace un breve análisis de trabajos relacionados a la práctica de la enseñanza experimental del control automático de procesos, además se presenta información de software comercial usado en la enseñanza de la automatización e información acerca de las tecnologías de software para el intercambio de datos. El capítulo tres describe la estación de monitoreo y control de nivel. El controlador instalado en la estación de monitoreo y control se describe en este capítulo y algunas de sus capacidades. En el capítulo cuatro se describe a detalle el diseño de la interfaz de usuario y de las tecnologías de software utilizadas. La estrategia de comunicaciones con el controlador es descrita, así como la transferencia de datos entre Matlab™ y la aplicación principal. Se presenta una técnica para la ejecución de librerías compiladas en ANSI C por otra aplicación. En el capítulo cinco se describe y presenta el resultado de esta investigación, además de la implementación, desarrollo y resultados experimentales de varios proyectos de control. En el capitulo seis se presentan las conclusiones de la investigación, también se proponen algunos desarrollos y mejoras a la interfaz diseñada. En los apéndices se presentan detalles técnicos de implementación de la interfaz diseñada, los detalles de implementación de los proyectosexperimentales, y los manuales para el usuario. 6 Capítulo 2 2. Marco Teórico En el Tecnológico de Monterrey los cursos de ingeniería son guiados mediante tres ordenanzas: 1) La Misión 2015 del Tecnológico de Monterrey, 2) Los criterios del Consejo para la Acreditación de programas en Ingeniería y Tecnología (Accreditation Board of Enginnering and Technology, ABET), y 3) Los criterios de la Asociación de Escuelas y Colegios del Sur (Southern Association of Colleges and Schools SACS). La Misión 2015 del Tecnológico de Monterrey, hace énfasis en la creación de conocimiento, innovación, desarrollo tecnológico y la creación de negocios sustentables. Educación de alta calidad y estudiantes competitivos a nivel internacional son de vital importancia. Al mismo tiempo la misión advierte su compromiso con el progreso de México en diversos aspectos tales como el educativo, el mejoramiento político y social, además del crecimiento económico. SACS es una organización regional a cargo de certificar la calidad de los programas académicos en la parte sur de los Estados Unidos de América y Latino América [54]. Las universidades y colegios acreditados por SACS tienen recursos de alta calidad para la educación, estándares educativos, programas y servicios. Los comités de SACS evalúan de acuerdo a cuatro criterios: principios de acreditación, requerimientos centrales, estándares generales y requerimientos gubernamentales. Esta investigación se enfoca principalmente a los “estándares generales” que plantea requerimientos en tres áreas: (1) Misión institucional, dirección y efectividad, (2) Programas y (3) Recursos, estos estándares aseguran buenas prácticas educativas y establecen un nivel inicial de realización. Aunque la acreditación por SACS implica muchos más aspectos del sistema Tecnológico de Monterrey, a través de esta investigación se harán dos contribuciones a los “estándares generales”, (1) El Tecnológico de Monterrey hace uso de tecnología que incrementa la efectividad del aprendizaje de los estudiantes, de tal forma que se cumplen los objetivos académicos, y además se asegura que los estudiantes tienen el acceso y el entrenamiento adecuado para el uso de tecnologías. (2) La institución provee 7 instalaciones, servicios y recursos de aprendizaje/información que son apropiados para mantener la enseñanza, investigación y misión. ABET es una organización que certifica la calidad de los programas académicos relacionados a las ciencias computacionales, ingeniería y tecnología [53]. Uno de los criterios de efectividad de ABET para el periodo comprendido entre los años 2006-2007, está destinado a asegurar y promover la mejora sistemática en la calidad de la enseñanza en la ingeniería que satisfaga las necesidades de industrias/universidades en un ambiente dinámico y competitivo. El Tecnológico de Monterrey es acreditado por ABET desde 1993 y acreditado nuevamente en Octubre del 2007. En esta investigación se cubre el criterio 3 de ABET, que establece lo que se espera de los estudiantes y de lo que deben ser capaces al momento de su graduación. En esta investigación se hace énfasis en el entendimiento de los aspectos prácticos/reales de la ingeniería por parte de los estudiantes. Con las ordenanzas descritas se da forma al Modelo Educativo del Tecnológico de Monterrey [55]. El modelo incluye un conjunto de componentes de aprendizaje en los cuales la institución cumple sus metas educativas. En el modelo educativo del Tecnológico de Monterrey los estudiantes comparten la responsabilidad en la enseñanza-aprendizaje con sus profesores. Los estudiantes son responsables de la construcción de conocimiento a partir de la experiencia personal, con la guía de profesores. Durante el proceso los estudiantes aprenden a trabajar de forma cooperativa en equipos de trabajo, esto permite la retroalimentación y la toma de decisiones. Al mismo tiempo, los profesores del Tecnológico de Monterrey se basan en técnicas que enriquecen la educación curricular del estudiante en base a práctica y profesionalización adquirida a través del trabajo en equipo y participación. La figura 2.1 muestra un esquema del modelo. Algunas de las técnicas usadas son por el modelo educativo del Tecnológico de Monterrey: 1) Aprendizaje activo, 2) Aprendizaje cooperativo y 3) El aprendizaje basado en la resolución de problemas. En el aprendizaje activo el estudiante es responsable de la construcción del conocimiento, en este esquema el estudiante es motivado a adquirir y generar el conocimiento, también es responsable de la forma en cómo la información se estructura. 8 Figura 2.1 Modelo Educativo del Tecnológico de Monterrey. En el modelo educativo del Tecnológico de Monterrey el estudiante ocupa un papel preponderante en el proceso de enseñanza-aprendizaje. En el aprendizaje cooperativo el conocimiento es adquirido por interacción social, los estudiantes son responsables de monitorear y proveer la retroalimentación adecuada a los otros estudiantes. En el aprendizaje basado en la resolución de problemas los estudiantes son confrontados a desafíos intelectuales y ellos son responsables por la adquisición y la reestructuración del conocimiento. 9 El modelo educativo del Tecnológico de Monterrey también incorpora los últimos adelantos disponibles en tecnologías de información y comunicaciones, lo anterior establece una plataforma en la cual todos los recursos del curso están disponibles. Esto permite al estudiante explorar diferentes opciones de aprendizajes, tales como la asesoría de otros estudiantes, otros profesores, acceso a bases de datos o fuentes de aprendizaje. El modelo educativo del Tecnológico de Monterrey obliga la adquisición o creación de herramientas que permitan a los alumnos poner en práctica de manera rápida y eficiente todos los aspectos del modelo. En la siguiente sección se resumen los resultados de algunas investigaciones usando diferentes esquemas de enseñanza-aprendizaje similares al modelo educativo del Tecnológico de Monterrey (y algunas de sus tecnologías) en el área de control automático. 2.1 Estado del Arte Mansour [6] hace uso intensivo de la simulación en computadora mediante la emulación de escenarios reales donde la automatización es necesaria, como el control de tráfico, sistemas de calefacción y ventilación, péndulo invertido, etc. También hace uso de escenarios reales como el de una celda de manufactura y el de redes de distribución de energía. Lim et al. [9] presentan una opción en la cual un microcontrolador se encarga de hacer el muestreo en tiempo real, dicho microcontrolador tiene implementado un controlador R-S-T. En este caso el estudiante puede hacer una adquisición de datos con el propósito de hacer una identificación del sistema, enseguida se calculan los valores de las matrices R-S-T y se define el tiempo de muestreo, una vez listos estos parámetros son enviados al microcontrolador a través de una conexión RS-232. También es posible monitorear el sistema mediante una interfaz de usuario en una computadora. Etxebarria et al. [8] muestran un sistema que expone a los estudiantes a los detalles de la implementación de sistemas de control. El sistema está basado en el “toolbox RealTime Workshop™” de Mathworks™, un procesador digital de señales con un convertidor análogo-digital y un digital-análogo, recibe el “firmware” generado por 10 Simulink™ y el “RTWorkshop™”. Una vez instalado el “firmware” el sistema funciona de manera autónoma en tiempo real. Irawan [27] presenta una página de Internet donde se puede acceder a un sistema de tanques acoplados. La página de Internet organiza información acerca de identificación de sistemas, diseño y experimentación de sistemas de control. Ofrece también las herramientas necesarias parasimular sistemas de control de la misma manera que acceso al sistema de tanques acoplados. Hough et al. [5] proponen un sitio electrónico, en el cual se provee enseñanza interactiva para estudiantes de licenciatura. El sitio provee tres formas de enseñanza las cuales pueden ser tomadas por el estudiante en su tiempo disponible y a su propio ritmo, el primer módulo se compone de preguntas y respuestas, el segundo abarca temas más complejos y se explican de forma tutorada, el tercer módulo explica el material de referencia sobre instrumentación usada en sistemas de control. Bachnak [10] describe un laboratorio basado en equipo de adquisición de datos de National Instruments y Matlab. Los sistemas de adquisición de datos son usados con el “toolbox” de Matlab™ de adquisición de datos para monitorear procesos de nivel flujo y un sistema de calentamiento de aire. Saco et al [35] describen un laboratorio que hace uso de las utilerías de “RTWorkshop™” de Mathworks™, el sistema interactúa con dos tipos de hardware, el primero es una tarjeta de adquisición de datos de National Instruments™, el segundo es un procesador digital de señales de Texas Instruments™, ambos estimulan un sistema de tanques de regulación de nivel. Al estudiante se le provee una librería con bloques para usarse en Simulink™. Simulink™ genera el código que se usa ya sea en la tarjeta de adquisición de datos o el procesador digital de señales. Cooper et al. [7] diseñaron el paquete computacional “Control Station™” donde se pueden construir y simular sistemas dinámicos, sintonizar controladores, e implementar estrategias avanzadas de control, etc. Zhantg et al [31] describen una herramienta llamada Netlab. Netlab es un laboratorio remoto, el cual interactúa con dispositivos reales como sistemas de corriente directa, un sistema de péndulo invertido, un sistema de triple tanque, etc. El sistema puede ejecutar experimentos de control clásico, respuesta a la frecuencia, tanques 11 acoplados, etc. El sistema es capaz de ejecutar algoritmos compilados en ANSI C, en la forma de DLLs. Otra de las características importantes es que el software proporciona en todo momento una retroalimentación visual por medio de una cámara monitoreando los sistemas en tiempo real. Burchett [25] describe un experimento para alumnos de licenciatura para la identificación de sistemas. El experimento está basado en un sistema masa-resorte- amortiguador construido por la compañía Educational Control Products™ [26]. El experimento refuerza el entendimiento de la respuesta a la frecuencia además de la identificación de sistemas. Viedma et al. [28] presentan un sistema basado en TCP/IP. En este sistema, la computadora de un usuario conectado, puede estar ejecutando cualquier sistema operativo, y es capaz de conectarse a un servidor que provee herramientas de análisis y diseño. El servidor tiene conectada una tarjeta de adquisición de datos tipo LabJack™ y un analizador de señales, que estimulan y obtienen datos de un filtro implementado con OPAMS, simulando un sistema de segundo orden. Davari [29] describe un laboratorio basado en hardware y software de la compañía Educational Control Products™, hace uso de los sistemas de control de torsión [30] y de control rectilinial [26], controlados por el software de la compañía ECP Executive Program™, que permite la implementación de controladores PI, PID, etc., de la misma manera permite la obtención de gráficas y almacenamiento de datos. Coito et al [32] presentan una implementación en LabView™, es un sistema remoto que permite a un usuario conectarse a dos experimentos diferentes, un sistema de control de nivel y sistema de control de temperatura. El sistema puede ser controlado por un solo usuario a la vez, pero es posible que otros usuarios puedan observar y adquirir datos en tiempo real. El sistema cuenta con un controlador PID, pero es posible ejecutar pequeños programas en Matlab™. Valera et al [33] describen Matlab™ Web Server que puede usarse para laboratorios remotos, de la misma manera describen WinCon™ [34], que puede ejecutar código generado por Simulink™ en tiempo real en una computadora remota. Se describen un laboratorio virtual usando Matlab™ Web Server que interactúa con un servomotor construido por Feeback Instruments Limited™, el segundo experimento está 12 construido usando WinCon™ e interactúa con una mesa vibratoria construida por Advantech™. Selmer et al [36] describen un laboratorio que cuenta con un intercambiador de calor, la adquisición de datos se realiza a través de una unidad del tipo USB. LabView™ es usado para procesar las señales adquiridas y también para transmitirlas en Internet. Varios usuarios pueden conectarse al mismo tiempo e interactuar en línea con el tutor o entre ellos mismos. El usuario puede ajustar parámetros de un controlador PID implementado en la aplicación. Tabla 2.1 Tabla comparativa de trabajos de investigación Autor Año de publicación Monitoreo y control en tiempo real Uso de Matlab o Simulink Conexión remota SOFT Real- Time, HARD Real-Time Mansour [6] 1989 No No Si SOFT Lim et al. [9] 1991 Si No No HARD Etxebarria et al. [8] 1998 Si Si No HARD Irawan [27] 2001 Si No Si SOFT Hough et al. [5] 2002 No No Si SOFT Bachnak [10] 2002 Si Si No SOFT Saco et al [35] 2002 Si Si No HARD Cooper et al. [7] 2003 No No No SOFT Zhantg et al [31] 2004 Si No Si SOFT Burchett [25] 2005 Si No No SOFT Viedma et al. [28] 2005 Si No Si SOFT Davari [29] 2005 Si No No SOFT Coito et al [32] 2005 Si Si Si SOFT Valera et al [33] 2005 Si Si Si SOFT Selmer et al [36] 2005 Si No Si SOFT Esta investigación [56] 2007 Si Si No SOFT La tabla 2.1 hace un análisis comparativo de las técnicas usadas por los diferentes autores mencionados. Esta investigación presenta una alternativa de muy bajo costo para el uso de Matlab™ y Simulink™ para aplicaciones de monitoreo y control en tiempo real “suave”, además de que ofrece la capacidad de usar un mayor número de “toolboxes de Matlab™”, a un nivel de complejidad mínimo. 13 2.2 Tecnologías de software disponibles para la comunicación entre sistemas. Debido al gran número de proveedores de software y la necesidad de intercambiar datos entre aplicaciones, surgió la necesidad de estandarizar las tecnologías para la interconexión entre procesos de datos. Esto ha hecho posible la aparición de soluciones computacionales sin precedentes para los diversos campos de la ciencia. Sin embargo, el vertiginoso ritmo al cual evolucionaron dichas tecnologías en ocasiones genera confusiones que hacen pensar que existen nuevas y diferentes tecnologías cuando en realidad son sólo evoluciones. Dado que la intención es diseñar un sistema que se conecte a un proceso real e intercambie datos entre diferentes aplicaciones, como Matlab™ y Simulink™, se hace necesario hacer una investigación sobre técnicas y métodos para el intercambio de datos, a continuación se hace un ejercicio cronológico de las diferentes tecnologías y su evolución basadas en las distintas versiones de Microsoft™ Windows™. 2.2.1 Evolución de las tecnologías de software para la comunicación entre procesos. Uno de los primeros métodos para la comunicación entre aplicaciones/procesos en Windows fue la tecnología de Intercambio Dinámico de Datos (Dynamic Data Exchange) mejor conocida como DDE por sus siglas en inglés. Fue lanzada en 1987 en la versión de Windows™ 2.0 [15]. La tecnología permitía el envió y la recepción en lo que se puede denominar “conversación” entre las aplicaciones. La siguiente tecnología lanzada por Microsoft fue OLE™ (Object Linking and Embedding), que fue introducida en Windows 3.0™ en 1990. La tecnología OLE™ es una evolución de DDE [12]. La principal diferencia entre DDE y OLE™, es que la primera sólopermite un intercambio limitado de datos, OLE ya mantiene un vínculo activo entre las dos aplicaciones, empotrando un documento en el otro. Posterior al surgimiento de OLE, en 1996 Microsoft™ lanzó al mercado los componentes ActiveX™. ActiveX™ es una extensión de OLE™ pero con capacidades de red [14]. 14 En 1993 Microsoft™ lanzó al mercado COM™ (Component Object Model), sin embargo su uso generalizado fue hasta 1997. Se puede decir que COM™ engloba todas las tecnologías anteriores, de tal forma que encapsula todas sus características. El objetivo de COM™ es lograr poner en una forma general cualquier objeto de tal manera que pueda ser utilizado en cualquier ambiente diferente al que fue creado [13]. El uso de la tecnología se puede ver cuando es posible abrir el mismo contenido de una página electrónica en sistemas operativos diversos como Windows™, Linux, Mac™ OS, etc. 2.2.2 Tecnologías de software usadas en la automatización. En la automatización de procesos existen muchas marcas diferentes de dispositivos, protocolos y estándares de redes industriales. Como resultado cada proveedor es responsable de la conectividad con aplicaciones con otros proveedores, la situación se complica dada la constante evolución y aparición de dispositivos, por lo tanto constantes actualizaciones y mantenimiento de software es requerido. Para solucionar este problema en 1996 se conjuntaron varias compañías líderes en la automatización de procesos, con la finalidad de desarrollar una primera especificación y plan de trabajo, tales fueron: Fisher-Rosemunt, Rockewell Software, Opto 22, Intellution, and Intuitive Technology. Dado que un gran número de clientes de dichas compañías usaban los sistemas operativos de Microsoft™, la compañía líder mundial en sistemas operativos fue incluida. Como resultado se conformó la OPC™ Foundation [16]. OPC™ (OLE™ for process control) se basó netamente en los objetos tipo COM™ [13], que es un conjunto de APIs (Application Program Interface) donde para mover datos de un proceso a otro no es necesario hacer una implementación de cada una de las funcionalidades de cada producto, específicamente para realizar dicha tarea sólo se hace uso de las funciones del conjunto estándar. En la implementación final cada fabricante, participante del consorcio, empotra en sus aplicaciones la interfaz estándar para la interconexión entre procesos, de tal manera que todos los fabricantes pueden compartir datos ya que las estructuras y métodos son comunes a todos ellos. 15 2.2.3 Otras técnicas usadas para el intercambio de datos entre aplicaciones. Una técnica muy comúnmente aplicada para el intercambio de datos entre aplicaciones por su fácil y flexible implementación, es hacer uso de sockets de Windows™ (Winsock™). Winsock™ es una especificación técnica que detalla cómo las aplicaciones ejecutan los servicios de red, particularmente TCP/IP. La especificación define una interfaz estándar entre un cliente TCP/IP y un servidor TCP/IP. Se considera uno de los bloques más importantes de los sistemas operativos Windows™. El nombre de “sockets” se deriva de la aplicación de UNIX Berkeley Sockets, que constituía también un paquete para la transmisión de datos, pero en este caso no importaba el protocolo de transmisión. La version 1.1 de Winsock™, fue lanzada en 1993 [17]. En algunas aplicaciones es posible implementar una conexión del tipo retroalimentada “loopback”, la dirección “loopback” para cualquier computadora se define como 127.0.0.1 [18], esto de acuerdo a la Internet Engineering Task Force (IETF) en su memorando RFC3330. De esta manera una aplicación funge como servidor y otra como cliente y ambas aplicaciones se comunican entre sí, como si estuvieran escribiendo a un archivo físico de alta velocidad. 2.3 Software comercial Existe un gran número de software de origen comercial que permiten la implementación de sistemas integrados de adquisición, procesamiento y análisis de datos. Cada uno de ellos se diferencia por las tecnologías utilizadas, las herramientas de análisis usadas y la facilidad para la construcción de las mismas. A continuación se hace un análisis comparativo: 16 2.3.1 RSView™ [43] Tabla 2.2 Tabla de características de RSView™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, Rockwell Automation Software para la creación de HMI (Human Machine Interfases) Permite la creación de interfases de usuario por medio de arrastre de bloques. Ofrece conectividad para TCP/IP, RS232, drivers de distintos proveedores y OPC Tiempo Real Herramientas de Análisis Tipo de Programa Costo Es capaz de crear programas con aceptable funcionalidad en tiempo real. Ofrece la ejecución de scripts hechos en Visual Basic, así como la ejecución de recetas. Un programa de RunTime se requiere para su ejecución. Alto 2.3.2 Matlab™ [37] Tabla 2.3 Tabla de características de Matlab™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, Mathworks Lenguaje de alto nivel que contiene una interfaz interactiva que permite la ejecución de programas computacionales Ofrece una interfase grafica llamada Simulink basada en el arrastre de bloques. Ejecución de tipo batch en el cual se puede programar de acuerdo a un lenguaje desarrollado por Mathworks. Además de soporte para la ejecución de archivos escritos en C/C++. Ofrece librerías para el control de algunas tarjetas de adquisición datos (entradas-salidas analógicas, entradas- salidas discretas) de proveedores como National Instruments, Advantech, Measurement Computing, tarjetas de sonido y puertos paralelos compatibles con Microsoft Windows. Otra librería también ofrece soporte para la adquisición de datos de instrumentación como osciloscopios y generadores de funciones. Es posible también la adquisición de imágenes con soporte a diversas tarjetas de adquisición de imágenes. También es posible conectarse a servidores OPC, para leer y escribir datos a dispositivos que cumplen con el estándar OPC. Tiempo Real Herramientas de Análisis Tipo de Programa Costo Ofrece librerías para la ejecución en tiempo real en Simulink a través del modulo Real Time WorkShop. Masivo cuenta con librerías de Optimización, Matemática Simbólica, Diferenciación Parcial, Algoritmos Genéticos, Estadística, Redes Neuronales, Ajuste de Curvas, Spline, Sistemas de Control, Identificación de Sistemas, Lógica Difusa, Control Robusto, Control Predictivo, Procesamiento de Señales, Comunicaciones, Diseño de Filtros, Radio Frecuencia, Procesamiento de Imágenes, Bioinformática, SimBiology, Análisis Financiero Algunas librerías pueden generar código fuente que puede ser usado en microcontroladores y procesadores digitales de señales. También puede generar código fuente para ser compilado en paquetes comerciales como visual C++. Alto. En su funcionalidad básica el costo puede ser aceptable y existen descuentos para uso académico, desafortunadamente las opciones de adquisición de datos se toman como herramientas de uso industrial y su costo es alto. 17 2.3.3 LabWindows/CVI™ [39] Tabla 2.4 Tabla de características de LabWindows/CVI™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, National Instruments Lenguaje de desarrollo para la creación de pruebas, mediciones y aplicaciones de control. Interfase de programación basada en ANSI C, generación de interfases de usuario basada en el principio de arrastre de bloques. Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, así como soporte para los estándares VXI, PXI, VISA, GPIB, OPC, FieldPoint, Visión System Tiempo Real Herramientas de Análisis Tipo de ProgramaCosto Es capaz de crear programas con aceptable funcionalidad en tiempo real. Limitado, cuenta con algunas librerías de manipulaciones matemáticas, generación de señales, probabilidad y estadística. Programas auto ejecutables. Muy bajo 2.3.4 LabView™ [38] Tabla 2.5 Tabla de características de LabView™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, National Instruments Lenguaje de desarrollo para la creación de pruebas, mediciones y aplicaciones de control. Interfase de programación grafica, basada en el arrastre de bloques, generación de interfases de usuario basada también en el principio de arrastre de bloques. Soporte para la ejecución de módulos escritos en C/C++. Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, así como soporte para los estándares VXI, PXI, VISA, OPC, FieldPoint, Visión System Tiempo Real Herramientas de Análisis Tipo de Programa Costo Es capaz de crear programas con aceptable funcionalidad en tiempo real, además de módulos para la ejecución de programas totalmente deterministicos. Limitado, cuenta con algunas librerías de manipulaciones matemáticas, generación de señales, probabilidad y estadística. Programas auto ejecutables. Bajo 2.3.5 SIMATIC WinCC flexible™ [41] Tabla 2.6 Tabla de características de Simatic WinCC flexible™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Alemania, Siemens Software para la creación de HMI (Human Machine Interfases) Permite la creación de interfases de usuario por medio de arrastre de bloques. Ofrece conectividad para buses como PPI, MPI, PROFIBUS-DP, TCP/IP, RS232, drivers de distintos proveedores y OPC Tiempo Real Herramientas de Análisis Tipo de Programa Costo Es capaz de crear programas con aceptable funcionalidad en tiempo real. Ofrece la ejecución de scripts hechos en Visual Basic, así como la ejecución de recetas. Un programa de RunTime se requiere para su ejecución. Alto 18 2.3.6 Agilent VEE™ [40] Tabla 2.7 Tabla de características de Agilent VEE™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, Agilent Technologies Ambiente visual de ingeniería Permite la creación de programas por medio de bloques, es posible también escribir módulos en Visual Basic, C/C++, Visual C# y LabView Ofrece librerías para el control de todas su gama de tarjetas de adquisición de datos, tarjetas de National Instruments, así como soporte para los estándares VXI, PXI, VISA y GPIB. Tiempo Real Herramientas de Análisis Tipo de Programa Costo Es capaz de crear programas con aceptable funcionalidad en tiempo real. Limitado, cuenta con un modulo de Matlab implementado, pero solo con funciones básicas, computación numérica, graficas, procesamiento de señales, matemáticas de matrices. Un programa de RunTime se requiere para su ejecución. Bajo 2.3.7 Profit Suite 300™ [42] Tabla 2.8 Tabla de características de Profit Suite 300™ País de Origen/Fabricante Descripción Tipo de Programación Interfases de Adquisición de Datos Estados Unidos, Honeywell Software para la creación de interfases de usuario, así como la implementación de esquemas de control experto y optimización Permite la creación de interfases de usuario, esquemas de control y optimización por medio de arrastre de bloques. Ofrece conectividad para TCP/IP, RS232, drivers de distintos proveedores y OPC Tiempo Real Herramientas de Análisis Tipo de Programa Costo Es capaz de crear programas con aceptable funcionalidad en tiempo real. Herramientas para control multivariable, optimización y sistemas expertos. Un programa de RunTime se requiere para su ejecución. Alto En el mercado se pueden encontrar una gran cantidad de software para el desarrollo de aplicaciones de monitoreo y control. El costo de las herramientas incrementa en la medida que se facilita el desarrollo, la misma tendencia se puede observar en la medida que el software incorpora herramientas de análisis. 2.4 Comentarios El capítulo presenta una perspectiva general de algunos trabajos relacionados a la enseñanza del control automático de procesos. También se presenta un panorama general de las tecnologías de intercambio de datos entre procesos para facilitar el análisis de las tecnologías usadas actualmente. Por último se hace una comparación de algunos programas comerciales para computadoras personales que permiten la creación de una interfaz de usuario, adquirir datos y transmitir-recibir datos entre aplicaciones más conocidos y usados en la automatización de procesos industriales. 19 20 Capítulo 3 3. Sistema Experimental El sistema experimental usado para validar el desarrollo es una estación de monitoreo y control del nivel en un tanque. Esta estación es un sistema ampliamente usado, el cual puede representar sistemas con características dinámicas típicas de procesos industriales [3]. Figura 3.1Estación de monitoreo y control de nivel. Donde V1 es la válvula manual de alimentación, V2 es la válvula manual de descarga, FV-100 es una válvula de control, FT101 y FT1002 representan los medidores de flujo de entrada y salida, finalmente LT-100 corresponde al medidor de nivel del tanque. En este proceso una bomba hace circular agua a través de la tubería, una válvula controla el flujo de agua de entrada al tanque, es posible simular perturbaciones en los flujos de entrada y salida a través de válvulas conectadas en la tubería. Existen sensores para medir el flujo de entrada (FT-101), flujo de salida (FT-102) y nivel del tanque (LT- 100), estos sensores están conectados a un controlador industrial. El controlador industrial maneja la válvula de alimentación (FV-100). El controlador cuenta con una 21 interfaz de comunicaciones del tipo RS485 que se conecta por medio de un convertidor RS485/RS232 al puerto serial de una computadora. La figura 3.1 muestra una fotografía de la estación de monitoreo y control de nivel. La figura 3.2 muestra un diagrama conceptual de la estación de monitoreo y control de nivel. Los elementos que forman parte de la estación se describen a continuación. Figura 3.2 Diagrama conceptual de la estación de monitor y control de nivel. El diagrama describe un sistema de nivel-tanque, dos sensores-transmisores de flujo (FT101, FT102), un sensor- transmisor de nivel (LT-100), y una válvula de control (FV100) • FT-101 Sensor/transmisor de flujo de entrada • FT-102 Sensor/transmisor de flujo de salida • LT-100 Sensor/transmisor de Nivel • FV-100 Válvula de control • V1 Válvula manual en entrada • V2 Válvula manual en salida 22 3.1 Instrumentación instalada • Dos Sensores/Trasmisores de flujo de agua (FT-101, FT-102): Constan de placa de orificio para medir flujos, de 0.308 pulgadas para tubería de ½ pulgada y un transmisor diferencial de presión ST 3000, modelo S900. • Sensor/Transmisor de Nivel (LT-100). Transmisor diferencial de presión ST 3000, modelo S900. • Válvula de control de Agua (FV-100). Válvula de globo de un asiento de ½ pulgada hecha de bronce, un actuador neumático LIN-E-AIRE W.E Anderson y electroposicionador, PRECISOR de W.E Anderson • Transductor Corriente-Presión. Modelo STD 5131, entrada 4-20mA, salida 3- 15psig • Llaves estándar de uso industrial (V1 y V2). Llaves estándar de uso industrial de ½ pulgada. 3.2 Controlador PID El controlador industrial instalado es un Honeywell UDC 6300, el controlador está basado en un microprocesador en el cual están configuradas estrategias de control. Dentro de sus características principales se encuentran: • Tiene una interfaz de usuario con tres indicadores de barra, donde se despliegan la referencia (Set Point), la variabledel proceso (Process Variable) y el valor de la salida (OUTPUT), además de los indicadores de barra cuenta con dos indicadores digitales donde se muestran los valores numéricos de las entradas, salida, referencia ó variable de proceso. • Cuatro entradas analógicas están disponibles para la conexión de sensores, las entradas pueden ser configuradas para aceptar rangos de voltaje de 1 a 5 volts, 4 a 20 mA, o 10 a 50 mA • Salida de corriente de 4 a 20 mA, a una carga de 0 a 100 ohms. • Puede configurar dos lazos de control independientes o en cascada. • Comunicación serial, RS422/485 ó Honeywell DMCS • Operación manual o automática. • Cuatro diferentes alarmas pueden ser programadas. • Tres tipos de ecuaciones de control disponible, ON/OFF, proporcional- integral-derivativo, proporcional-derivativo. 23 • Técnica de control de selección de ganancias de acuerdo al valor de la variable de proceso (“Gain Scheduling”). 3.3 Proyectos realizados en la estación de monitoreo y control de nivel. Los estudiantes de los laboratorios de control continuo realizan proyectos de identificación de parámetros, sintonización de PIDs y diferentes estrategias de control continuo como retroalimentado, antealimentado/retroalimentado y control en cascada. 3.3.1 Control retroalimentado Para este proyecto el controlador Honeywell UDC 6300 se utiliza como controlador PID, se monitorea el sensor de nivel (LT-100), y comanda la abertura de la válvula de control (FV-100). La figura 3.3 muestra el esquema implementado. Figura 3.3 Sistema de control retroalimentado. El controlador Honeywell UDC 6300 es usado como controlador PID (LIC-100), V1 y V2 son usadas para inducir perturbaciones al sistema 24 3.3.2 Control antealimentado/retroalimentado Para implementar el sistema antealimentado/retroalimentado, al esquema de la sección anterior se le agrega el resultado de la modelación de la perturbación del flujo de salida (válvula manual V2, FY-100), y por pruebas experimentales el bloque de adelanto/atraso (lead/lag, FY-101) es configurado en el controlador UDC 6300, el esquema se muestra en la figura 3.4. Figura 3.4 Sistema de control antealimentado/retroalimentado. En el controlador Honeywell UDC 6300 se configuran/modelan los bloques FY-100 y FY101 25 3.3.3 Control en cascada Para la estrategia en cascada una variable intermedia indica las perturbaciones en el flujo de entrada (FT-101) inducida por la válvula manual V1, con esta variable intermedia se configura el controlador esclavo, el controlador de nivel es el controlador maestro, para configurar la estrategia en cascada. La figura 3.5 muestra la implementación de la estrategia. Figura 3.5 Estrategia de control en cascada. En el controlador Honeywell UDC 6300 se configuran el controlador esclavo (FIC-101) y el maestro (LIC-100) 26 Capítulo 4 4. Metodología 4.1 Introducción En los primeros años de la implementación de los sistemas de control de procesos continuos (basados en el controlador PID), estos eran construidos a partir de elementos mecánicos o arreglos de amplificadores operacionales. A partir del surgimiento de las computadoras digitales y su evolución, se ha hecho posible confiar en ellas para la implementación de control computarizado, ya que su ajuste (sintonización) se realiza de una manera muy rápida, además de que los costos de implementación se han visto drásticamente reducidos. 4.2 Metodología de diseño para una interfaz humano-máquina. Originalmente llamadas interfaz de operador (“OI”, Operator Interface), después renombradas como interfaz hombre máquina (“MMI”, Man-Machine Interfaces) y últimamente llamadas interfaz humano máquina (“HMI”, Human Machine Interfaces) [19], son una parte importante en los sistemas de control y cobran mayor importancia en los sistemas de control computarizado. Las HMI permiten al usuario visualizar mediante pantallas con gráficos el comportamiento de las maquinarias, procesos y sistemas que se deseen monitorear. En un inicio las HMI funcionaban sólo como interfaz remota que interactuaban con algún controlador análogo; ahora las HMI pueden formar parte de un complejo sistema de controladores capaces de tomar decisiones en circunstancias extremas del proceso. El uso de computadoras otorga una gran versatilidad ya que se puede contar con una gran variedad de opciones en una HMI, como gráficas, históricos del proceso, algoritmos de control, información para toma de decisiones, etc. Haley [20], sugiere dos características importantes para la exitosa implementación de HMIs: 27 1. Creación, definición de estándares. Considerar en todo momento el medio ambiente del operador. Usar altos contrastes para datos primarios (variables de proceso). Datos secundarios o de soporte deben ser más pequeños. Las alarmas deben ser fácilmente reconocibles usando colores brillantes. Ser consistente en el uso de símbolos y abreviaciones en todo el proceso de diseño. 2. Obtención, revisión de los datos. Las fuentes de datos deben ser una combinación de pantallas existentes (pantallas de controladores), procedimientos y entrevistas con los operadores. De la misma manera, sugiere los siguientes pasos de diseño: 1. Creación de un borrador. El primer borrador pueden ser una compilación de pantallas existentes en un dibujo tipo CAD o en una hoja de papel. 2. Validación/Aprobación. Verifique que la información está bien posicionada y entendible para todos los grupos de usuarios. 4.3 Estructura completa de la interfaz. El propósito general de la interfaz humano-máquina es conectarse a la estación de monitoreo y control de nivel (descrita en el capítulo 3). La aplicación principal será programada usando el software LabWindows/CVI™ de National Instruments™. LabWindows/CVI™ es un lenguaje de programación basado en ANSI C, ofrece un gran número de librerías para la rápida creación de programas con interfaz de usuario y adquisición de datos [39], en los últimos años se ha convertido en un estándar en la construcción de software de uso industrial. La comunicación hacia el UDC 6300 se realizará a través de un puerto serial tipo RS232. La HMI tendrá como características principales un plano principal para el acceso a las variables del proceso, monitoreo y graficación de las variables. A su vez se incorporarán dos interfaces o conexiones a la HMI para control externo. La primera interfaz se encargará de transmitir y recibir datos desde y hacia Matlab™ y Simulink™, la segunda interfaz ejecutará programas compilados en ANSI C. La figura 4.1 muestra un diagrama conceptual del diseño de la aplicación y sus conexiones. 28 TCP/IP Modem RS232/RS85 RS232 RS485 Direcciones de memoria Matlab™ Simulink™ Compilador ANSI C DEVC++ Creación DLLs INTERFAZ DESARROLLADA (HMI) Ejecución de scripts compilados en ANSI C Conexión con Matlab™ Administración de la comunicacion con el UDC 6300 Graficar, grabar datos, configurar. 4-20 mA 4-20 mA Figura 4.1 Diagrama conceptual de la aplicación y sus conexiones. La aplicación principal se conectara y administrara al UDC 6300, a elección del usuario se podrán ejecutar aplicaciones en Simulink™ o scripts compilados en ANSI C. 29 4.3.1 Interfaz de comunicación de la HMI con el controlador La comunicación entre la HMI y el controlador se realiza a través de un puerto serial RS232 en una computadora personal, el controlador Honeywell™ UDC 6300 cuenta con una interfaz RS422/485 que permite la comunicación de hasta quince controladores conectados a un bus de datos. Para llevar a cabo la comunicación entre la computadora personal y el UDC 6300 se requiere un convertidor RS232 a RS422/485. La comunicación entre el UDC 6300 y la computadora es del tipo estímulo- respuesta, esto es, para cualquier petición de informaciónla HMI tiene que formular la petición y el UDC 6300 contestará la petición. Para el controlador UDC6300 existen básicamente dos tipos de acceso a los datos, lectura y escritura. La figura 4.2 muestra el modelo de comunicaciones entre el UDC y una computadora personal. Figura 4.2 Esquema de comunicación entre el UDC 6300 y la HMI. La comunicación con el UDC 6300 siempre es iniciada por la computadora, existen dos tipos de peticiones Lectura y Escritura La aplicación principal inicializa la comunicación serial a través de uno de los puertos seriales disponibles en la computadora. Para llevar a cabo esta tarea se hace uso del conjunto de funciones que ofrece la librería estándar de comunicaciones RS232 de LabWindows/CVI™. La función OpenComConfig, configura el puerto de acuerdo a los parámetros introducidos por el usuario, los parámetros a considerar para esta aplicación son: BaudRate, Paridad, DataBits y StopBits. Los parámetros anteriores son de suma 30 importancia ya que dicha configuración debe concordar con los valores que el UDC 6300 tiene configurados, si los valores introducidos por el usuario en la aplicación principal y los configurados en el UDC 6300 no concuerdan, no será posible comunicar ambos dispositivos. Una vez que el sistema operativo otorgo el acceso al puerto serial de una computadora, es necesario configurar una interrupción en la aplicación. Dicha interrupción se encargará de informar a la aplicación principal que un evento de recepción de datos por el puerto serial ha ocurrido, una vez notificada la aplicación principal se procesaran los datos de acuerdo al tipo recibido, para implementar la interrupción se hace uso de la función InstallComCallback, que también forma parte de la librería estándar de comunicaciones seriales de LabWindows/CVI™. La función InstallComCallback configura una interrupción en el puerto serial al que se tiene acceso, dentro de los parámetros de configuración se encuentran, el tipo de evento por el que se ejecutará la interrupción, para el caso de la HMI, cada vez que exista un número determinado de bytes en la fila de recepción del puerto serial la interrupción se disparará. Otro parámetro importante de InstallComCallback es la función a llamar cada vez que la interrupción se presente, para el caso de la HMI la función a llamar es la encargada de leer la pila de entrada y decodificar el contenido del mensaje recibido del UDC 6300. La transmisión de datos desde la HMI hacia el UDC 6300 se ejecuta componiendo el mensaje de petición de acuerdo a la especificación de comunicaciones del UDC 6300 [44], y mandando la cadena usando la función ComWrt de la librería estándar de comunicaciones RS232 de LabWindows/CVI™. En el Apéndice A, primera sección, se incluyen pseudo códigos que implementan estas tareas. 4.3.2 Diseño de la comunicación de la HMI con Matlab Simulink Una de las características importantes de la HMI es su capacidad de recibir y transmitir datos desde y hacia el software Matlab™ y en particular hacia Simulink™. Existen distintas tecnologías para la intercomunicación de datos entre procesos ejecutándose al mismo tiempo en una computadora personal, sin embargo, cada implementación acarrea diversos costos como puede ser la compra de la interfaz de 31 aplicación (Application Program Interface, “API”), para el caso de las aplicaciones compatibles con OPC, y algunas veces es difícil justificar la inversión. Por esta razón se decidió implementar el sistema usando un “socket” de datos. En este caso la HMI funcionaría como un servidor TCP/IP con la dirección de “loopback” asignada. En Simulink™ es posible implementar bloques compilados en C++, en dichos bloques también es posible implementar un cliente TCP/IP [21], que se conectará al servidor implementado en la interfaz de usuario, Figura 4.3 Figura 4.3 Esquema de la implementación del servidor y cliente TCP/IP. En la implementación realizada, la HMI crea un servidor TCP, en Matlab se configura un cliente de TCP, y de esta forma se logra la comunicación entre ambas aplicaciones. Para una correcta transmisión de datos entre la HMI y Simulink™ se hace necesaria la creación de un protocolo de comunicación en el cual se encapsulan los datos en una trama de datos estandarizada, tanto para la recepción de datos en Matlab™, como en la recepción de datos en la HMI. Una vez que el servidor de TCP/IP en la interfaz es activado, la aplicación desarrollada en Simulink™ toma control total de la interfaz, tanto del tiempo de muestreo, la lectura y transmisión de datos hacia Matlab™. Dado que el controlador tiene un tiempo de respuesta de un tercio de segundo por cada petición, son requeridos un mínimo de 1.2 segundos para lograr exitosamente la lectura del nivel del tanque, flujo de agua de entrada al tanque y flujo de salida de agua del tanque, además de la escritura del valor de abertura de la válvula de control. Dado que la aplicación se ejecutara en un tiempo definido es importante señalar que solamente funciones discretas pueden ser usadas en la aplicación. Por otra parte también es importante señalar que para algunas aplicaciones el tiempo de muestreo definido puede ser restrictivo, pero no es el caso de la 32 estación de monitoreo y control de nivel. Un ciclo de ejecución se muestra en la figura 4.4 Figura 4.4 Diagrama de flujo de un ciclo de ejecución de la HMI conectada a Simulink™. El diagrama muestra el flujo completo de la información y cuáles son los momentos de transmisión y recepción. 33 El tiempo de muestreo es controlado por medio de una librería Real Time (RT Library) [22], en la cual la simulación es paralizada hasta que se cumple el tiempo de muestreo deseado, dejando los recursos libres del sistema operativo. Una vez que se cumple el tiempo, se ejecuta el paso de simulación siguiente, dando como resultado la impresión de que la tarea se está ejecutando en tiempo real. En el apéndice A, segunda sección, se muestra el bloque para la comunicación con Matlab™. 4.3.3 Metodología para el diseño del intérprete para la ejecución de controladores compilados en ANSI C Otra de las características importantes de la HMI es la ejecución de programas compilados en ANSI C. Dicha característica permite la ejecución de algoritmos matemáticos, abriendo un sin número de posibilidades a probar otras teorías y/o leyes de control. La HMI facilita el diseño y la construcción de controladores digitales, ya que permite al usuario concentrarse en los métodos y algoritmos de control, dejando de lado todas aquellas tareas que son necesarias para una correcta ejecución que normalmente salen del campo del conocimiento de la teoría de control, generalmente ligadas a ciencias computacionales y comunicaciones. La HMI provee un intérprete que ejecuta controladores o esquemas discretos compilados en ANSI C. El usuario sólo necesita un compilador de ANSI C en el que desarrollará el controlador o método discreto, el usuario se encargará de generar una librería de enlace dinámico (Dynamic Link Library, “DLL”) y a partir de otras librerías que permiten el acceso a las variables del proceso, se cargará a la HMI y esta ejecutará el esquema de control. Una librería de enlace dinámico (DLL) es un módulo que contiene funciones y datos que pueden ser usados por alguna otra aplicación o DLL [23]. Existen dos tipos de librerías dinámicas, las que exportan todas sus funciones al momento de ser compiladas, y las que se les denomina librerías dinámicas de tiempo de ejecución (run-time dynamics link library). La HMI hace uso de este tipo de librerías para cargar en tiempo de ejecución los controladores discretos. 34 Se carga la librería dinámica Se obtienen las direcciones de memoria de las variables de proceso, flujo de entrada y salida Se registran las funciones de
Compartir