scieee AI-readable full text Open interactive document viewer

Laboratorio virtual para el control de la planta multiprocesos basado en LabView

Gracia Villegas, Víctor Manuel

Abstract

La planta multiprocesos, como su propio nombre indica, es un sistema en el cual se pueden llevar a cabo varios procesos a la vez, tales como el control de temperatura mediante resistencias térmicas e intercambiadores de calor, o el control de nivel. Se trata de un sistema muy atractivo desde el punto de vista académico, pues pone de manifiesto comportamientos propios de sistemas de control presentes en la industria actualmente, además de dar la posibilidad a los alumnos de poner en práctica técnicas de control multivariable, y trabajar con un sistema que presenta retardo en ciertos procesos. El proyecto que aquí se describe consiste en la creación de un laboratorio virtual basado en el Software LabView, de forma que, mediante una interfaz gráfica sencilla realizada en dicho entorno de programación, se da la posibilidad al usuario de interactuar con la planta para realizar ensayos de identificación y control. Este trabajo consta de varias etapas que a continuación se exponen. El primer paso ha sido diseñar un caso de estudio en el cual se ha propuesto una configuración para el sistema de control. Con el fin de conseguir que el sistema trabaje de forma óptima, se han analizado distintos puntos de operación de las variables del mismo. De esta forma, mediante Matlab Simulink, se han llevado a cabo experimentos de identificación y control sobre la planta para elegir qué punto de operación es más conveniente para nuestro propósito, y se ha comprobado que la configuración elegida es adecuada. Con el emparejamiento de variables elegido, y mediante un experimento de control multivariable descentralizado, se ha validado todo lo anterior. El siguiente paso realizado ha consistido en el diseño en LabView de una interfaz gráfica para identificación y control que actúa sobre los modelos lineales identificados anteriormente, implementados también en este Software. Este programa tiene como finalidad que el usuario se familiarice con la interfaz de forma previa, teniendo la posibilidad de realizar ensayos de identificación y control sobre los modelos, sin necesidad de estar conectado a la planta. Para validar que la implementación es correcta, se han realizado pruebas de funcionamiento sobre la interfaz. Posteriormente, se ha diseñado un nuevo programa en el que se han sustitutido los modelos lineales por el sistema real. Para ello, se ha establecido la comunicación entre LabView y la planta vía OPC, y, al tratarse de un sistema real, se ha implementado el arranque y la puesta en el punto de operación del mismo para asegurar un funcionamiento óptimo y la validez de los ensayos. Debido a ciertos problemas técnicos, sólo ha sido posible validar algunas partes de la implementación mediante ensayos. Por último, se ha creado una guía de usuario con el objetivo de aclarar el funcionamiento de los programas de una forma cómoda y sencilla, facilitando así el manejo y la utilización de los mismos.

Full text

i Equation Chapter 1 Section 1 Proyecto Fin de Carrera Grado en Ingeniería Electrónica, Robótica y Mecatrónica Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Autor: Víctor Manuel Gracia Villegas Tutor: Daniel Limón Marruedo Dpto. Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2020 iii Proyecto Fin de Carrera Ingeniería Electrónica, Robótica y Mecatrónica Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Autor: Víctor Manuel Gracia Villegas Tutor: Daniel Limón Marruedo Catedrático Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2020 v Proyecto Fin de Carrera: Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Autor: Víctor Manuel Gracia Villegas Tutor: Daniel Limón Marruedo El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2020 El Secretario del Tribunal vii A mi familia A mis maestros ix Agradecimientos Quiero agradecer a todas aquellas personas que han estado a mi lado el apoyo y el cariño recibido durante esta etapa de mi vida, la cual, reconozco, no ha sido la más fácil. En especial a mi madre, por ser la que siempre ha estado ahí desde el primer día, por darme siempre esperanza y creer en mí, y hacerme todo más facil. A mi padre, por haber querido siempre lo mejor para mí, porque, aunque me hubiese gustado que estuvieses aquí para verlo, sé que, desde algún lugar, me ves sonriendo. A mis hermanos y a María, por ser siempre un apoyo incondicional. Me gustaría agradecer también a mi profesor y tutor del trabajo, Daniel Limón, todo lo que me ha enseñado y ha hecho por mí en este tiempo. Por estar disponible en cualquier momento y prestarme cuanta atención he necesitado, y ser un profesor y persona excepcional. Ha sido un periodo en el que he aprendido muchas cosas, tanto a nivel personal como académico. Gracias a todas esas personas que han creído en mí. Gracias a vosotros, esto ha sido posible. Víctor Manuel Gracia Villegas Sevilla, 2020 6.1. Introducción a LabView. 40 6.2. Esquema general del Block Diagram para el programa basado en modelos. 41 6.3. Implementación de modelos lineales mediante ecuaciones en diferencias. 42 6.3.1. Ecuaciones en diferencias del modelo térmico ante cambios en DC de R1/R2. 42 6.3.2. Ecuaciones en diferencias del modelo térmico ante cambios en VR1. 43 6.3.3. Ecuaciones en diferencias del modelo de nivel ante cambios en VR1. 43 6.3.4. Implementación de las ecuaciones en diferencias en LabView. 44 6.4. Implementación de modos de identificación y control mediante Tab Control. 45 6.5. Programación de señales para ensayos de identificación en LabView. 46 6.6. Programación de interfaz gráfica para ensayos de identificación. 48 6.7. Pruebas de funcionamiento sobre el programa. 49 6.7.1. Ensayos ante escalón sobre modelos lineales. 49 6.7.2. Ensayos Chirp sobre modelos lineales. 50 6.8. Programación de controladores en LabView. 52 6.9. Programación de interfaz gráfica para ensayos de control. 54 6.10. Pruebas de funcionamiento sobre el programa. 54 6.10.1. Modo manual. 55 6.10.2. Modo automático. 55 7 Implementación en LabView: Control Sobre Planta Real 57 7.1. Comunicación vía OPC con la planta desde LabView. 57 7.1.1. Conexión Cliente/Servidor OPC. 57 7.1.2. Temporización e implementación en orden secuencial en LabView. 60 7.2. Arranque y puesta en el punto de operación del sistema. 61 7.3. Lazo auxiliar de control. 62 7.3.1. Implementación en LabView. 62 7.3.2. Pruebas de funcionamiento del lazo de control. 63 7.4. Programación de señales para ensayos de identificación en LabView. 64 7.5. Programación de interfaz gráfica para ensayos de identificación. 65 7.6. Pruebas de funcionamiento sobre el programa. 66 7.6.1. Ensayo ante escalones sobre el sistema real mediante interfaz gráfica. 66 7.6.2. Ensayo Chirp sobre el sistema real mediante interfaz gráfica. 67 7.7. Programación de controladores en LabView. 68 7.8. Programación de interfaz gráfica para ensayos de control. 68 7.9. Pruebas de funcionamiento sobre el programa. 69 8 Guía de Uso de las Interfaces Gráficas 70 8.1. Guía de uso de las interfaces gráficas sobre modelos lineales. 70 8.1.1. Guía de la interfaz gráfica de identificación. 70 8.1.2. Guía de la interfaz gráfica de control. 72 8.2. Guía de uso de las interfaces gráficas sobre la planta real. 73 8.2.1. Guía de la interfaz gráfica de identificación. 73 8.2.2. Guía de la interfaz gráfica de control. 74 Referencias 75 xvii ÍNDICE DE TABLAS Tabla 1.1 – Relación de instrumentos instalados en la planta y nomenclatura. 4 Tabla 1.2 – Nivel medido en puntos y en centímetros para la calibración del sensor de nivel. 7 xix ÍNDICE DE FIGURAS Figura 1.1 – Fotografía de la planta multiprocesos. 2 Figura 1.2 – Esquema de la planta multiprocesos y su instrumentación. 3 Figura 1.3 – Diagrama del sistema de control de la planta. 5 Figura 1.4 – Temperatura de la planta de frío (TT5). 6 Figura 1.5 – Recta de calibración del sensor de nivel LT. 8 Figura 2.1 – Modelo de sistema multivariable (2 entradas, 2 salidas). 10 Figura 2.2 – Característica Estática de TT2-TT1 ante cambios en VR1, con R1=R2=55%. 11 Figura 3.1 – Bloques OPC en Simulink. 14 Figura 3.2 – Bloque de la planta real en Simulink. 15 Figura 3.3 – Ejemplo de estructura de control en Simulink. 15 Figura 3.4 – Temperatura de regreso al tanque (TT4) frente a escalón en válvulas VR2 y VR3 con caudal elevado. 16 Figura 3.5 – Modelo de primer orden con retraso de TT4 frente a VR2 y VR3 con caudal elevado. 17 Figura 3.6 – Control de TT4 mediante válvulas VR2 y VR3 con caudal elevado. 18 Figura 3.7 – Estructura de Control Anticipativo o FeedForward. 18 Figura 3.8 – Respuesta de TT4 frente a oscilaciones de TT5. 19 Figura 3.9 – Control de TT4 con estructura FeedForward y caudal elevado. 21 Figura 3.10 – Respuesta de TT2-TT1 ante escalón en R1 y R2 con caudal elevado. 22 Figura 3.11 – Modelo de primer orden con retraso TT2-TT1 frente a escalón en DC de R1 y R2 y caudal elevado. 23 Figura 3.12 – Nivel LT ante escalón en válvula VR1. 24 Figura 3.13 – Modelo de nivel LT ante escalón en VR1 con caudal elevado. 25 Figura 3.14 – Control de TT2-TT1 con caudal elevado. 26 Figura 3.15 – Control de nivel LT mediante válvula VR1 con caudal elevado. 27 Figura 4.1 – Control de la TT4 con estructura FeedForward y caudal reducido. 28 Figura 4.2 – Temperatura TT1 con control FeedForward en TT4 y caudal reducido. 29 Figura 4.3 – Respuesta de TT2-TT1 ante escalones en R1 y R2 con caudal reducido. 30 Figura 4.4 – Modelo de salto de temperatura de TT2-TT1 ante escalón en R1 y R2 con caudal reducido. 31 Figura 4.5 – Respuesta del Salto de Temperatura ante escalones en VR1. 32 Figura 4.6 – Respuesta del modelo G21(s) ante escalones a la entrada. 33 Figura 4.7 – Nivel LT ante ensayo en escalón en válvula VR1. 34 Figura 4.8 – Modelo de primer orden de nivel ante escalón en VR1. 35 Figura 4.9 – Control del salto de temperatura mediante R1 y R2 con caudal reducido. 36 Figura 4.10 – Control de Nivel LT mediante válvula VR1 con caudal reducido. 37 Figura 5.1 – Ensayo de control multivariable descentralizado. 38 Figura 6.1 – Pantalla Block Diagram. 40 Figura 6.2 – Pantalla Front Panel. 41 Figura 6.3 – Block Diagram del programa basado en modelos. 41 Figura 6.4 – FeedBack Node en LabView. 44 Figura 6.5 – Modelo de la planta implementado en LabView mediante ecuaciones en diferencias. 45 Figura 6.6 – Modo Identificación usando Tab Control. 46 Figura 6.7 – Modo Control usando Tab Control. 46 Figura 6.8 – Programación de las señales para identificación de VR1. 47 Figura 6.9 – Señal Fin de ensayo Chirp. 47 Figura 6.10 – Captura del valor instáneo del tiempo ante un flanco de subida en Escalón/Chirp. 48 Figura 6.11 – Interfaz gráfica del programa de identificación sobre modelos. 49 Figura 6.12 – Pruebas de ensayos ante encalón sobre modelos lineales simulados. 50 Figura 6.13 – Ensayo Chirp en VR1 sobre modelos lineales. 51 Figura 6.14 – Ensayo Chirp en DC de R1 y R2 sobre modelos lineales. 52 Figura 6.15 – Bloque de controlador con selección manual/automático y anti-Windup programado en LabView. 53 Figura 6.16 – Interfaz gráfica para la prueba de controladores. 54 Figura 6.17 – Funcionamiento del modo manual en la interfaz de control sobre modelos. 55 Figura 6.18 – Funcionamiento del modo automático en la interfaz de control sobre modelos. 56 Figura 7.1 – Esquema jerárquico de conexión vía OPC. 57 Figura 7.2 – Interfaz de OPC Factory Server (OFS 2.0). 58 Figura 7.3 – Interfaz de MatrikonOPC. 58 Figura 7.4 – De izquierda a derecha, bloques DataSocket Open, Read, Write y Close. 59 Figura 7.5 – Lectura de la señal del sensor TT1. 59 Figura 7.6 – Escritura de la señal del actuador VR1. 59 Figura 7.7 – Etapas del proceso de control. 60 Figura 7.8 – Estructura Flat Sequence implementada en Bucle While. 60 Figura 7.9 – Block Diagram del programa basado en la planta real. 61 Figura 7.10 – Implementación de puesta en el punto de operación del sistema en LabView. 61 Figura 7.11 – Programación del lazo auxiliar de control. 63 Figura 7.12 – Respuesta del lazo auxiliar de control implementado en LabView. 64 Figura 7.13 – Programación de señales para ensayos identificación con VR1 en planta real. 65 Figura 7.14 – Interfaz gráfica del programa de identificación sobre la planta real. 66 Figura 7.15 – Salto térmico frente a ensayo en escalón en DC mediante interfaz gráfica de identificación en LabView. 67 Figura 7.16 – Ensayo Chirp en DC mediante interfaz gráfica de identificación en LabView. 68 Figura 7.17 – Interfaz gráfica para la prueba de controladores sobre la planta real. 69 Figura 8.1 – Interfaz gráfica del programa de identificación sobre modelos lineales. 70 xxi Figura 8.2 – Interfaz gráfica para la prueba de controladores sobre modelos lineales. 72 Figura 8.3 – Interfaz gráfica del programa de identificación sobre la planta real. 73 Figura 8.4 – Interfaz gráfica para la prueba de controladores sobre la planta real. 74 Introducción 1 1 INTRODUCCIÓN Este proyecto ha sido realizado sobre la planta de control multiprocesos, disponible en el Laboratorio de Control, que pertenece al Departamento de Ingeniería de Sistemas y Automática de la Universidad de Sevilla. 1.1. Motivación para la realización del proyecto. La planta multiprocesos es un sistema muy interesante para poner en práctica los conocimientos adquiridos sobre el control automático, pues posee características propias de sistemas implementados en la industria actualmente. La principal motivación para la realización de este proyecto es la creación de un laboratorio remoto integrado en un programa de laboratorios remotos promovido por la CEA-IFAC. Esto permitirá la realización de prácticas remotas de plantas experimentales para el aprendizaje sobre sistemas de control. Si bien este laboratorio podrá estar accesible a alumnos de toda España, mejorará también la accesibilidad de los alumnos del Departamento a la realización de prácticas en la planta, pues podrán trabajar con la misma sin necesidad de estar físicamente en el laboratorio. 1.2. Objetivos y alcance del proyecto. Los objetivos de este trabajo serán los siguientes:  Caracterizar la planta obteniendo modelos a partir de ensayos realizados sobre la misma.  Creación de un caso de estudio adecuado para el estudio de sistemas de control multivariable.  Realizar un control multivariable sencillo del sistema para después implementarlo en LabView y comprobar que funciona de la forma esperada.  Implementar los modelos obtenidos de la planta en el Software LabView y crear una interfaz para la identificación y control sobre estos modelos. Esto se denominará “control simulado”.  Poder realizar ensayos y control sobre sistema real mediante LabView, es decir, sustituyendo los modelos por la planta real. Esto se denominará “control real”. Introducción 2 1.3. Descripción de la planta. La planta multiprocesos es un equipo de laboratorio orientado a la enseñanza de sistemas de control de procesos de variables fundamentales como nivel, caudal, temperatura o presión. Está basada en una planta desarrollada por la empresa GUNT, pero ampliada y modificada en el Departamento para mejorar su funcionalidad (véase la Figura 1.1). La instrumentación de la planta en de tipo industrial y el sistema de control está basado en un PLC Schneider M340 emulando un sistema de control realista. Además, cuenta con una pantalla HMI Magelis para su operación local, y permite su control remoto desde un PC. Figura 1.1 – Fotografía de la planta multiprocesos. 1.3.1. Esquema, variables y configuraciones. El esquema de la planta se muestra en la Figura 1.2 en la configuración que se va a operar la planta. En este esquema también se muestra la instrumentación instalada en la planta. 3 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 1.2 – Esquema de la planta multiprocesos y su instrumentación. Caso de Estudio: Configuración del Sistema de Control Propuesto 10 Figura 2.1 – Modelo de sistema multivariable (2 entradas, 2 salidas). Las salidas cumplen estas ecuaciones: 𝑦1=𝐺11∗𝑢1+𝐺12∗𝑢2 (2.1) 𝑦2=𝐺21∗𝑢1+𝐺22∗𝑢2 (2.2) En dichas ecuaciones hay cuatro funciones de transferencia, las cuales representan lo siguiente:  𝐺11(𝑠): Modela el efecto que produce en el nivel LT (𝑦1) un cambio en VR1 (𝑢1).  𝐺12(𝑠): Modela el efecto que produce en el nivel LT (𝑦1) un cambio en el Duty Cycle de R1 y R2 (𝑢2). Dado que la densidad del agua es prácticamente constante con la temperatura, se considera 𝐺12(𝑠)=0.  𝐺21(𝑠): Modela el efecto que produce en el salto de temperatura (𝑦2) un cambio en VR1(𝑢1).  𝐺22(𝑠): Modela el efecto que produce en el salto de temperatura (𝑦2) un cambio en el Duty Cycle de R1 y R2 (𝑢2). 2.3. Elección del punto de operación: Acoplamiento de entradas y salidas. A priori, se han elegido dos puntos de operación distintos para el porcentaje de apertura de la válvula VR1, pues de esto depende el caudal de agua que circulará por el sistema. El primero tendrá un caudal más elevado, mientras que el segundo será más reducido. Cada uno de estos puntos de operación tendrá unas ventajas y unas desventajas desde el punto de vista del control. 11 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView 2.3.1. Punto de operación de las variables del sistema. Puesto que las resistencias R1/R2 dan una potencia media según el Duty Cycle (DC) que poseen, se ha elegido como punto de operación el 55% para ambas, ya que esto producirá un salto de temperatura intermedio del rango disponible. Manteniendo constante el DC de R1/R2, si se van aplicando escalones al porcentaje de apertura de la válvula VR1, se obtiene la siguiente característica estática del incremento de temperatura TT2-TT1: Figura 2.2 – Característica Estática de TT2-TT1 ante cambios en VR1, con R1=R2=55%. Si se observa detalladamente la figura 2.2, se puede apreciar que cuando el caudal es elevado, un cambio en el propio caudal no modifica demasiado el salto de temperatura, por lo que la regulación del nivel mediante VR1 no producirá demasiadas perturbaciones en el control de temperatura. Esto implica que, con un caudal elevado, el salto de temperatura sea poco sensible a cambios en VR1, y que exista poco acoplamiento entre el control de nivel con VR1 y el control del incremento de temperatura con R1/R2. Este comportamiento del sistema ha sido determinante a la hora de elegir un punto de operación, pues cuanto mayor acoplamiento exista entre las variables del sistema, más atractivo será el sistema desde el punto de vista del control multivariable. 2.3.2. Ventajas y desventajas de punto de operación con caudal elevado. Puesto que el caudal es directamente proporcional a VR1, una modificación en la apertura de VR1 modificará el caudal que circula por la planta. Como punto de operación para el caudal elevado, se ha tomado VR1=65%, lo que da lugar a un caudal de unos 720 litros/hora. Se ha ajustado la válvula manual de descarga VA1 para lograr un nivel de equilibrio intermedio y una constante de tiempo admisible. Estos valores vienen determinados por las ecuaciones que se presentan a continuación: 𝐻0=(𝑄0 𝐾)2 (3.1) 12 𝑇𝑎𝑢=2∗𝐴∗𝑄0 𝐾2=2∗𝐴∗𝐻0 𝑄0 (3.2) ,siendo 𝐻0 el nivel en el punto de operación, 𝑄0 el caudal en el punto de operación, 𝑇𝑎𝑢 la constante de tiempo, 𝐴 el área del depósito, y 𝐾 el coeficiente de descarga (directamente proporcional a la apertura de la válvula VA1). Basándonos en la ecuación 3.1, deducimos que al aumentar el caudal de equilibrio 𝑄0, se debe aumentar K (abriendo la válvula VA1) para conseguir un nivel de equilibrio medio, lo que reduce la constante de tiempo. Si se toma un caudal 𝑄0 bajo para aumentar el acoplamiento caudal-temperatura, se debe disminuir 𝐾, lo que conlleva a una mayor constante de tiempo (ecuación 3.2) y por lo tanto una respuesta más lenta del nivel ante cambios en VR1. Por otro lado, si no se disminuye 𝐾, entonces disminuirá la altura de equilibrio, lo que reduce el rango de operación del nivel del tanque. La válvula VA1 se ha ajustado de forma que le logre un buen compromiso entre la altura de equilibrio y la constante de tiempo. Para este caso (caudal elevado), la válvula se ha situado en una posición de 2.75. Esto tiene ciertas ventajas y desventajas, que se exponen a continuación: - Ventajas:  Menor perturbación en el control de temperatura provocadas por el control de nivel (modificaciones de VR1).  Cambios en VR1 no producirán cambios tan grandes en el nivel, es decir, una pequeña modificación en VR1 no ocupará un rango del nivel tan amplio.  Permite un control más robusto en el lazo auxiliar (TT4 mediante VR2/VR3). - Desventajas:  Menor rango de control de temperatura, pues al circular más cantidad de agua por R1 y R2, ésta no se calienta tanto.  Cambios más lentos en el nivel al modificar VR1. 2.3.3. Ventajas y desventajas de punto de operación con caudal reducido. Si se reduce VR1 hasta el 30% de su apertura máxima, se reducirá el caudal que circula por la planta, por lo que será de unos 375 litros/hora. Al tener un caudal menor, se debe reducir el coeficiente de descarga modificando la posición de VA1 hasta conseguir una 𝐻0 intermedia. La válvula VA1 se ha situado en una posición de 1.95. Según las ecuaciones 3.1 y 3.2, esto dará lugar a una 𝑇𝑎𝑢 más pequeña (control de nivel más rápido), que aumenta con el caudal y disminuye con el cuadrado de 𝐾. Como mostraba la característica estática del salto de temperatura (figura 2.2), ahora un cambio en VR1 provocará cambios importantes en TT2-TT1. Por lo tanto, el salto de temperatura es más sensible a los cambios en VR1 en este punto de operación. Esto también dará lugar a ciertas ventajas y desventajas, que se exponen a continuación: - Ventajas:  Mayor rango en el control de temperatura, ya que al circular menos cantidad de agua por R1 y R2, el agua se podrá calentar más. 13 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView  Cambios más rápidos en el nivel al modificar VR1, pues al ser menor el caudal que circula por el sistema, disminuye 𝑇𝑎𝑢. - Desventajas:  La evolución de las temperaturas presenta una mayor oscilación inducida por la planta de frío. Esto se debe a que la planta trabaja con un rango de temperaturas más altas y presenta un mayor gradiente con la temperatura de agua fría, lo que aumenta la sensibilidad a la misma.  El lazo de control auxiliar para controlar TT4 se hace más lento, por lo que resulta conveniente reajustarlo.  Cambios pequeños en VR1 producirán cambios grandes en el nivel. Esto dará lugar a que una pequeña modificación de VR1 ocupe casi todo el rango de variación del nivel en el depósito. Si bien para un caudal menor, la mayor sensibilidad de TT2-TT1 frente a cambios en VR1 se ha considerado una desventaja, también puede considerarse una ventaja, pues supone un problema de control más atractivo para los alumnos que quieren poner en práctica sus conocimientos sobre el control multivariable al existir un mayor acoplamiento entre variables. De hecho, este será el motivo principal (además de la posibilidad de controlar más rápido el nivel LT) por el que más adelante se decida escoger este punto de funcionamiento con menor caudal. Primer Punto de Operación: Caudal Elevado 14 3 PRIMER PUNTO DE OPERACIÓN: CAUDAL ELEVADO En este capítulo se presentan el análisis y diseño de los controladores para el caso del punto de operación con caudal elevado. En particular se va a trabajar con unos valores de las entradas de VR1=65%, que tiene un caudal asociado de 720 litros/hora aproximadamente. 3.1. Implementación del sistema de control en Simulink. Para trabajar con la planta multiprocesos, ha sido necesario realizar el sistema de control en Matlab Simulink. En primer lugar, configurando bloques OPC Write y OPC Read, y el bloque de configuración “OPC Config Real-Time”, se ha establecido la comunicación entre nuestro programa y Matrikon (conexión cliente/cliente, detallado en secciones futuras), tal y como muestra la siguiente figura: Figura 3.1 – Bloques OPC en Simulink. Tras configurar todas las señales de lectura y escritura, y configurar un tiempo de muestreo de 0.1 segundos, se ha creado un subsistema a partir de lo mostrado en la figura 3.1. Dicho bloque, el cual se muestra a continuación, será considerado como la planta real a la hora de implementar los controladores: 15 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 3.2 – Bloque de la planta real en Simulink. Se debe destacar que todos los controladores han sido implementados en tiempo continuo en Simulink, de modo que los datos se envían y se reciben cada 0.1 segundos. Puesto que este tiempo es mucho menor que las dinámicas del sistema, esto no debe ocasionar problemas. En la siguiente figura puede verse un ejemplo de la implementación del sistema de control: Figura 3.3 – Ejemplo de estructura de control en Simulink. 3.2. Lazo auxiliar de control. Como se comentó anteriormente, la evolución de la temperatura del sistema de refrigeración TT5 depende de la potencia térmica aportada en las condiciones de funcionamiento de la planta, y por lo tanto del punto de operación elegido. Esto hace que el lazo de control auxiliar se deba ajustar de forma que tenga un comportamiento aceptable en cada uno de los puntos de operación elegidos, pues no tiene por qué ser válido para ambos puntos de funcionamiento. Primer Punto de Operación: Caudal Elevado 16 3.2.1. Ensayo ante escalón y modelo. A continuación, se muestra el experimento que se ha realizado para obtener un modelo de TT4 frente a cambios en las vávulas VR2/VR3: Figura 3.4 – Temperatura de regreso al tanque (TT4) frente a escalón en válvulas VR2 y VR3 con caudal elevado. En la figura 3.4 se pueden apreciar las oscilaciones producidas en TT4 debido a TT5. Además, se observa que la temperatura de TT4 en régimen permanente con un DC del 55% en R1 y R2 y una apertura del 26% en VR2 y VR3 es de unos 30ºC. Dando un escalón del 4% a las válvulas VR2 y VR3, se observa la respuesta de TT4, que se puede identificar (sin tener en cuenta las oscilaciones producidas por la planta de frío) como un sistema de primer orden con retraso. El modelo calculado es el siguiente: 𝐺𝑇𝑇4(𝑠)=− 1.55 1601.8𝑠+1∗𝑒−10.8𝑠. Si introducimos el mismo escalón como entrada al modelo, se obtiene la siguiente respuesta: 17 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 3.5 – Modelo de primer orden con retraso de TT4 frente a VR2 y VR3 con caudal elevado. Como se muestra en la figura 3.5, la respuesta del modelo es similar a la salida real. A partir de 𝐺𝑇𝑇4(𝑠) , se diseñarán controladores para regular la temperatura TT4. 3.2.2. Control de TT4 mediante VR2 y VR3. Debido a que la respuesta es muy lenta, se ha decidido controlar esta temperatura con un controlador de tipo Proporcional-Integral (PI), diseñado mediante una aplicación de Matlab Simulink. Dicho controlador tiene la siguiente ecuación: 𝐶𝑇𝑇4(𝑠)=−5.65∗(1+1/333.33 𝑠). El objetivo de este controlador es regular la temperatura del depósito de acumulación para que mantenga un valor constante. Por ello, se fija el valor de TT1 medido al comienzo del ensayo, con el fin de que, durante el mismo, esta temperatura permanezca aproximadamente constante. De este modo, siempre se resta el calor aportado al agua por R1 y R2 mediante la planta de frío. A continuación, se muestra cómo funciona el controlador en rechazo a las perturbaciones de TT5, con una referencia de 21.93ºC, que era la temperatura que se obtuvo en la medida de TT1 al llegar al laboratorio: Primer Punto de Operación: Caudal Elevado 18 Figura 3.6 – Control de TT4 mediante válvulas VR2 y VR3 con caudal elevado. Como se puede observar en la figura 3.6, la salida del sistema controlado, TT4, presenta unas oscilaciones inducidas por la evolución de TT5. Dado que esta perturbación se mide, se puede aprovechar esta información para compensar su efecto mediante una estrategia de control anticipativo o control FeedForward. 3.2.3. Control anticipativo de TT4. Según la teoría de control, la estructura de control anticipativo es la siguiente: Figura 3.7 – Estructura de Control Anticipativo o FeedForward. Como el sistema está realimentado, se debe considerar el lazo: 𝑌(𝑠)=𝑆(𝑠)∗(𝐺𝑑(𝑠)+𝐺𝑝(𝑠)∗𝐺𝐹𝐹(𝑠))∗𝐷(𝑠) 19 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView ,siendo 𝑆(𝑠)=1/(1+𝐺𝑝(𝑠)∗𝐶(𝑠)) Para compensar el efecto de 𝐺𝑑(𝑠) (Perturbación), se debe cumplir que: (𝐺𝑑(𝑠)+𝐺𝑝(𝑠)∗𝐺𝐹𝐹(𝑠))∗𝐷(𝑠)=0, Por lo que: 𝐺𝑑(𝑠)+𝐺𝑝(𝑠)∗𝐺𝐹𝐹(𝑠)=0. Entonces, 𝐺𝐹𝐹(𝑠) se puede despejar como: 𝐺𝐹𝐹(𝑠)=−𝐺𝑑(𝑠) 𝐺𝑝(𝑠). Puesto que ya se ha identificado un modelo para la planta, 𝐺(𝑠) ó 𝐺𝑝(𝑠), el siguiente paso será identificar un modelo de perturbaciones 𝐺𝑑(𝑠). Se ha determinado una función de transferencia de perturbación 𝐺𝑑(𝑠) mediante el efecto producido por la perturbación TT5 en la temperatura TT4: Figura 3.8 – Respuesta de TT4 frente a oscilaciones de TT5. Primer Punto de Operación: Caudal Elevado 26 Figura 3.14 – Control de TT2-TT1 con caudal elevado. Como se puede comprobar en la figura 3.14, la salida sigue a la referencia correctamente. Como se ha indicado, el término derivativo ha introducido valores no deseados en la señal de control calculada por el PI (DC de R1 y R2), pero en realidad el DC de las resistencias se encuentra saturado entre 0 y 100, por lo que la señal de control se envía al sistema ya saturada. Con el fin de comprobar cuál es el incremento máximo de temperatura que se puede obtener con este caudal, es de decir, de unos 720 litros/hora, y VR1 al 65% de apertura, se ha introducido una referencia de 8ºC, la cual es no alcanzable. Vemos que el máximo salto de temperatura es de 6.42ºC, y que, como se espera, se produce WindUp debido a que el controlador implementado no posee anti-WindUp. 3.6. Control de nivel. Basado en el modelo calculado en 4.3., se ha diseñado un controlador para el nivel LT mediante la válvula VR1 con caudal elevado. Dicho controlador ha sido calculado mediante cancelación de dinámica, de forma que se ha especificado un tiempo de subida en bucle cerrado de unos 70 segundos. Para el diseño de éste, se ha hecho uso de la siguiente expresión: 𝐶(𝑠)=𝐾𝑐 𝑠∗1 𝐺(𝑠). ,tomando 𝐾𝑐 aproximadamente igual a 3 dividido entre el tiempo de subida en bucle cerrado especificado, y siendo 1/𝐺(𝑠) la inversa del modelo calculado. Teniendo esto en cuenta, la ecuación del controlador para el nivel LT mediante VR1 tiene la siguiente expresión: 𝐶𝐿𝑇65(𝑠)=3.39∗(1+ 1 142.71 𝑠). 27 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Como se puede comprobar en la ecuación anterior, al tratarse de un modelo de primer orden sin retraso, y al haber utilizado como método de diseño la cancelación de dinámica, se obtiene un controlador de tipo Proporcional-Integral, que en forma ideal tiene una ganancia 𝐾𝑝 de 3.39, y un tiempo integral de 142.71 segundos. Tras implementar este controlador en el sistema real, se obtienen los resultados mostrados en la siguiente figura: Figura 3.15 – Control de nivel LT mediante válvula VR1 con caudal elevado. Tras la realización de un ensayo con escalones tanto positivos como negativos en la referencia de nivel, se comprueba que la salida del sistema sigue a la referencia de forma suave, sin sobreoscilación, y en el tiempo de subida especificado. Además, no presenta error de régimen permanente, ya que el controlador posee término integral. Por lo tanto, se puede considerar que el controlador es adecuado. Segundo Punto de Operación: Caudal Reducido 28 4 SEGUNDO PUNTO DE OPERACIÓN: CAUDAL REDUCIDO El quinto capítulo se basa en el análisis y el diseño de los controladores para el caso del punto de operación con caudal reducido. Debido a que un caudal menor hace que el control sea más rápido en general, y exista mayor acoplamiento entre ambos problemas de control, se ha optado por elegir como punto de operación definitivo VR1=30%. En este caso, el punto de operación del DC de R1 y R2 se mantiene en el 55%, siendo el punto de equilibrio de TT2-TT1 igual a 6.42ºC. Además, se ha modificado la posición de VA1 a 1.95, de forma que el nivel del depósito en el equilibrio será unos 24.5cm. 4.1. Lazo auxiliar de control. Al cambiar el punto de operación, cambia la dinámica de la temperatura de TT4, por lo que habrá que comprobar si el controlador diseñado mantiene un comportamiento aceptable. En la figura 5.1 se muestra la respuesta poniendo de manifiesto que presenta un desempeño peor, pero adecuado a los requerimientos: Figura 4.1 – Control de la TT4 con estructura FeedForward y caudal reducido. Se ha mantenido la misma estructura de control anticipativo o FeedForward, pues la función de transferencia de perturbación 𝐺𝑑(𝑠) sigue siendo la misma, sólo cambia la función de transferencia 𝐺𝑇𝑇4(𝑠), y como 29 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView consecuencia, 𝐺𝐹𝐹(𝑠). Si bien es interesante mantener la temperatura TT4 (en valor medio) similar a la temperatura TT1 al inicio de los experimentos, debemos comprobar qué ocurre con el valor de TT1: Figura 4.2 – Temperatura TT1 con control FeedForward en TT4 y caudal reducido. En la figura 4.2, al inicio del experimento, la temperatura TT1 tenía un valor de 21.8ºC aproximadamente. Este valor fue el que se eligió como referencia para el control de TT4. Aunque el controlador de TT4 se comporta de forma aceptable y mantiene en valor en torno a 21.8ºC, la temperatura TT1 se va a un valor medio en régimen permanente de unos 22.6ºC, lo cual nos indica que hay cierta discrepancia entre la medida del sensor TT1 y la medida del sensor TT4. Una solución es calibrar los sensores, o bien, conociendo que este error es fijo (suponiendo que el valor medio de TT4 controlada en régimen permanente es aproximadamente el valor de la referencia de TT4), se puede calcular como: 𝐸𝑟𝑟𝑜𝑟=𝑇𝑇1      𝑅é𝑔. 𝑃𝑒𝑟𝑚𝑎𝑛𝑒𝑛𝑡𝑒−𝑇𝑇4      𝑅é𝑔. 𝑃𝑒𝑟𝑚𝑎𝑛𝑒𝑛𝑡𝑒=𝑇𝑇1      𝑅é𝑔. 𝑃𝑒𝑟𝑚𝑎𝑛𝑒𝑛𝑡𝑒−𝑅𝑒𝑓𝑇𝑇4 , siendo: 𝑇𝑇1      𝑅é𝑔. 𝑃𝑒𝑟𝑚𝑎𝑛𝑒𝑛𝑡𝑒: Valor medio de TT1 en régimen permanente. 𝑇𝑇4      𝑅é𝑔. 𝑃𝑒𝑟𝑚𝑎𝑛𝑒𝑛𝑡𝑒: Valor medio de TT4 en régimen permanente. 𝑅𝑒𝑓𝑇𝑇4: Referencia de TT4. Se puede deducir entonces de las Figuras 5.1 y 5.2 que: 𝐸𝑟𝑟𝑜𝑟=22.6º𝐶−21.8º𝐶=0.8º𝐶. Segundo Punto de Operación: Caudal Reducido 30 Entonces, la nueva referencia corregida se puede calcular como: 𝑅𝑒𝑓′𝑇𝑇4=𝑅𝑒𝑓𝑇𝑇4−𝐸𝑟𝑟𝑜𝑟=𝑅𝑒𝑓𝑇𝑇4−0.8º𝐶. , siendo: 𝑅𝑒𝑓′𝑇𝑇4: Referencia corregida de TT4. De este modo, si se introduce la referencia corregida, se compensará el error de 0.8ºC que tenía TT1 en valor medio cuando se encuentra en régimen permanente sobre el valor medio de TT4 en régimen permanente. 4.2. Modelo térmico. Puesto que el lazo auxiliar de control funciona correctamente, se puede identificar un modelo térmico para TT2- TT1 mediante un ensayo ante escalón en el DC de R1/R2, tal y como muestra la siguiente figura: Figura 4.3 – Respuesta de TT2-TT1 ante escalones en R1 y R2 con caudal reducido. Hay que destacar que en la respuesta de la planta vista en la figura 4.3, no se aprecian oscilaciones provocadas por la planta de frío, por lo que el control de TT4 se puede seguir considerando adecuado. A partir del ensayo de la figura anterior, se puede identificar un modelo de primer orden con retraso. Debido a que se ha aplicado un escalón positivo y otro negativo, se puede buscar una función de transferencia que tenga un comportamiento intermedio entre ambas respuestas. El modelo identificado tiene la siguiente función de transferencia: 31 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView 𝐺22(𝑠)= 0.115 28.25∗𝑠+1∗𝑒−11.55∗𝑠. Si se aplica la misma entrada a esta función de transferencia, y comparamos el resultado con la salida obtenida anteriormente, se tiene: Figura 4.4 – Modelo de salto de temperatura de TT2-TT1 ante escalón en R1 y R2 con caudal reducido. Se comprueba entonces en la figura 4.4 que el modelo tiene un comportamiento similar ante una entrada en escalón que el salto de temperatura real. Además, se considera aceptable el modelo tanto para un escalón positivo como para uno negativo. 4.3. Modelo térmico ante escalón en VR1. Será necesario identificar un modelo que caracterice el comportamiento que tiene el incremento de temperatura ante cambios en la válvula VR1. Con este fin, se ha realizado un ensayo con escalones positivo y negativo al porcentaje de apertura de VR1, como se muestra en la siguiente figura: Segundo Punto de Operación: Caudal Reducido 32 Figura 4.5 – Respuesta del Salto de Temperatura ante escalones en VR1. En este caso, es especialmente interesante obtener un modelo que sea la media entre ambas respuestas (escalón positivo y negativo), pues se comporta de forma distinta para cada entrada debido a que cambia el caudal, y, por lo tanto, la cantidad de agua que circula por la planta. Se ha estimado un modelo de primer orden con retardo, con la siguiente función de transferencia: 𝐺21(𝑠)=− 0.20165 30.6∗𝑠+1∗𝑒−7.85∗𝑠. Si se aplican los mismos escalones a esta función de transferencia, y se compara con la salida real del sistema, se puede observar lo siguiente: 33 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 4.6 – Respuesta del modelo G21(s) ante escalones a la entrada. En la figura 4.6, al ser un modelo promedio entre el escalón positivo y el negativo, éste no se ajusta perfectamente a ninguno de los dos comportamientos, pero se ha considerado que el modelo es aceptable e intermedio. 4.4. Modelo de nivel. Se quiere obtener un modelo de nivel ante cambios en VR1 con el nuevo punto de funcionamiento. Aplicando una entrada en escalón a la válvula VR1, la respuesta del nivel LT es la siguiente: Segundo Punto de Operación: Caudal Reducido 34 Figura 4.7 – Nivel LT ante ensayo en escalón en válvula VR1. Con los resultados obtenidos, mostrados en la figura 4.7, la respuesta ante escalón del nivel se puede estimar como un modelo de primer orden. Se puede apreciar que el nivel se mueve en prácticamente todo el rango disponible habiéndose modificado VR1 relativamente poco. La función de transferencia calculada es la siguiente: 𝐺11(𝑠)=5.515 250∗𝑠+1. Se debe destacar que esta función de transferencia es la media entre el comportamiento producido por el escalón positivo y el escalón negativo. Si se aplica la misma entrada a este modelo, y se compara el resultado con la salida real del sistema, se observa lo siguiente: 35 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 4.8 – Modelo de primer orden de nivel ante escalón en VR1. En la Figura 4.8 se puede comprobar cómo se comporta el modelo. Si bien su respuesta no es tan similar a ninguna de las dos respuestas del sistema (escalón positivo y escalón negativo), es lo suficientemente parecida a ambas como para ser considerado un modelo aceptable. 4.5. Control de salto de temperatura. Tras identificar un modelo del comportamiento del salto de temperatura, se ha diseñado un controlador PI ajustado mediante PID Tunner, con la siguiente función de transferencia: 𝐶2(𝑠)=9.35∗(1+ 1 28.385 𝑠). El comportamiento del salto de temperatura con el controlador diseñado es el siguiente: Implementación en LabView: Control Simulado 42 Como se puede comprobar en la figura 6.3, en la primera franja se decide mediante el Tab Control si el programa está en modo identificación o control. En caso de estar en modo identificación, se generarán las señales en escalón o Chirp según se desee, las cuales se irán introduciendo en la entrada manual de los controladores. En caso de estar en modo Control, también se generará la señal del modo manual con los bloques de la segunda franja, para después decidir si se aplica o no según esté activo el modo manual o automático de los controladores de la tercera franja. En la cuarta franja se introduce la señal de control calculada mediante las franjas anteriores en el modelo. Por último, en la quinta franja se grafican los resultados, y se graban los datos en un archivo de tipo “LabView Measurement File”. 6.3. Implementación de modelos lineales mediante ecuaciones en diferencias. En apartados anteriores, se obtuvieron modelos lineales de la planta en tiempo continuo en forma de funciones de transferencia. Hay que destacar que el punto de funcionamiento elegido es el de caudal reducido, en el que VR1 tiene una apertura del 30% como punto de operación, pues daba lugar a un mayor rango para el salto térmico TT2-TT1. Como ya se ha comentado, el lazo de control auxiliar (control de TT4 mediante VR2/VR3 para mantener TT1 constante) será invisible para el usuario final, por lo que no se tendrá en cuenta en la implementación de los modelos. Por lo tanto, los modelos implementados serán los obtenidos en los puntos 4.2., 4.3. y 4.4. Éstos están caracterizados mediante funciones de transferencia en tiempo continuo, que habrá implementar en tiempo discreto con un tiempo de muestreo determinado. Para elegir un tiempo de muestreo adecuado, debe tenerse en cuenta que éste debe ser lo suficientemente pequeño como para no perder información de los modelos, y lo suficientemente grande como para que el computador sea capaz de ejecutar un ciclo de control completo en un tiempo de muestreo. En los modelos obtenidos, las constantes de tiempo más pequeñas son del orden de 28 segundos. Teniendo en cuenta que el tiempo de subida de un sistema es de aproximadamente 3 veces el de su constante de tiempo, esto implica que la subida tome un tiempo de unos 90 segundos. Un criterio aceptable sería que el tiempo de subida presente unas 30 o 40 muestras, por lo que un tiempo de muestreo de hasta 2 segundos podría considerarse aceptable. En nuestro caso, se ha escogido un tiempo de 0.5 segundos, pues resulta suficiente para realizar un ciclo completo de control, y nos asegura tener suficientes muestras (información) en la evolución de los sistemas. 6.3.1. Ecuaciones en diferencias del modelo térmico ante cambios en DC de R1/R2. En primer lugar, se implementará la función de transferencia 𝐺22(𝑠), que como se comentó en el punto 4.2., modela la respuesta de TT2-TT1 ante cambios en el DC de R1 y R2. Dicho modelo presenta la siguiente función de transferencia: 𝐺22(𝑠)= 0.115 28.25∗𝑠+1∗𝑒−11.55∗𝑠. Mediante el comando c2d de Matlab, con un tiempo de muestreo de 0.5 segundos, se obtiene la siguiente función de transferencia discreta: 𝐺22(𝑍)=𝑍−24∗0.001817∗𝑍+0.002 𝑍−0.9825 . 43 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Se sabe que 𝐺22(𝑧)=𝑌2(𝑧) 𝑈2(𝑧), por lo que: 𝑌2(𝑧) 𝑈2(𝑧)=𝑍−24∗0.001817∗𝑍+0.002001 𝑍−0.9825 . Operando, y multiplacando por 𝑍−1 a ambos lados de la igualdad, se obtiene: 𝑈2(𝑍)∗𝑍−24∗(0.001817∗𝑍+0.0002001)∗𝑍−1=𝑌2(𝑍)∗(𝑍−0.9825)∗𝑍−1. De este modo, los exponentes de 𝑍 serán negativos, que implican retrasos que son implementables en LabView. Ahora, se puede pasar del dominio 𝑍 a ecuaciones en diferencias de forma sencilla. Se obtiene entonces la siguiente ecuación: 𝑦22(𝑘)=0.9825∗𝑦22(𝑘−1)+0.001817∗𝑢2(𝑘−24)+0.002001∗𝑢2(𝑘−25). 6.3.2. Ecuaciones en diferencias del modelo térmico ante cambios en VR1. Este modelo, descrito en el apartado 4.3., tiene la siguiente función de transferencia continua: 𝐺21(𝑠)=− 0.20165 30.6∗𝑠+1∗𝑒−7.85∗𝑠. Utilizando el comando c2d con el tiempo de muestreo elegido, se obtiene la siguiente función de transferencia en el dominio 𝑍: 𝐺21(𝑍)=𝑌2(𝑍) 𝑈1(𝑍)=𝑍−16∗−0.0009861∗𝑍−0.002282 𝑍−0.9838 . Aplicando el mismo procedimiento que en el apartado anterior, se obtiene la siguiente ecuación en diferencias: 𝑦21(𝑘)=0.9838∗𝑦21(𝑘−1)−0.0009861∗𝑢1(𝑘−16)−0.002282∗𝑢1(𝑘−17). 6.3.3. Ecuaciones en diferencias del modelo de nivel ante cambios en VR1. A continuación, se calcula la ecuación en diferencias correspondiente al modelo de nivel frente a cambios en VR1, el cual se describe en el apartado 4.4.: 𝐺11(𝑠)=5.515 250∗𝑠+1. Implementación en LabView: Control Simulado 44 Utilizando nuevamente el comando c2d, con el mismo tiempo de muestreo, se obtiene lo siguiente: 𝐺11(𝑍)=𝑌1(𝑍) 𝑈1(𝑍)=0.01102 𝑍−0.998. De lo que se deduce la siguiente ecuación en diferencias: 𝑦11(𝑘)=0.01102∗𝑢1(𝑘−1)+0.998∗𝑦11(𝑘−1). 6.3.4. Implementación de las ecuaciones en diferencias en LabView. Como se puede comprobar en las ecuaciones, las salidas dependen de muestras anteriores de las entradas y de las propias salidas, lo cual implica tener que implementar retrasos. Éstos se pueden implementar mediante 𝐹𝑒𝑒𝑑𝐵𝑎𝑐𝑘 𝑁𝑜𝑑𝑒𝑠 en LabView, como el que se muestra a continuación: Figura 6.4 – FeedBack Node en LabView. En esta figura se puede observar que presenta un terminal de entrada con una constante, el cual hace referencia a la condición incial del nodo. Además, se puede configurar el número de retrasos que proporciona este bloque en el apartado 𝑃𝑟𝑜𝑝𝑒𝑟𝑡𝑖𝑒𝑠. Puesto que se trata de un sistema triangular, la primera salida (nivel) sólo depende de VR1, por lo que la ecuación en diferencias que la define es tal que: 𝑦1(𝑘)=𝑦11(𝑘)+𝑦12(𝑘)=0.01102∗𝑢1(𝑘−1)+0.998∗𝑦11(𝑘−1) , siendo 𝑦12(𝑘)=0. La segunda salida será: 𝑦2(𝑘)=𝑦21(𝑘)+𝑦22(𝑘)=0.9838∗𝑦21(𝑘−1)−0.0009861∗𝑢1(𝑘−16)− −0.002282∗𝑢1(𝑘−17)+0.9825∗𝑦22(𝑘−1)+0.001817∗𝑢2(𝑘−24)+0.002001∗𝑢2(𝑘−25). A continuación, se muestra la implementación de los modelos, realizada en la pantalla Block Diagram de LabView: 45 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 6.5 – Modelo de la planta implementado en LabView mediante ecuaciones en diferencias. En la figura 6.5, si observamos el código interno del bloque, se puede comprobar que las entradas han sido saturadas, de modo que ambas estarán entre 0 y 100. También se ha limitado el valor de las salidas, pues el nivel tiene un rango de entre 0 y 44cm, y el salto térmico tiene un rango de entre 0 y 12ºC. Además, se puede comprobar que, ya que se trata de un modelo incremental de la planta, se debe restar el punto de operación a las entradas para introducir en el bloque el valor incremental de las mismas. Así, se obtiene el valor incremental de las salidas, que después se sumarán a sus respectivos puntos de operación. 6.4. Implementación de modos de identificación y control mediante Tab Control. El programa constará de dos modos diferentes, que se deben seleccionar según el objetivo que tenga el usuario. Estos modos son “Identificación” y “Control”. Para implementarlos de la forma más sencilla posible, y simplificar así el manejo del programa, ambos modos compartirán las mismas gráficas, pudiendo cambiar de modo mientras el programa se encuentra en ejecución. La implementación se basa en fijar en modo manual los controladores de nivel y temperatura mientras se está en modo Identificación. De esta forma, las señales generadas (señal en escalón o Chirp) se introducirán en el modelo mediante el modo manual de los controladores. Cuando se elige el modo de Control, los controladores estarán en modo manual por defecto, pudiendo pasar cada controlador de forma individual a modo automático en cualquier instante. Es recomendable esperar cierto tiempo en modo manual antes de pasar al modo automático, de forma que lo controladores se incialicen correctamente y se consiga así una transición suave entre estos modos sin que afecte el término de anti-WindUp a la señal de control. Implementación en LabView: Control Simulado 46 Esto es posible gracias al bloque “Tab Control”, disponible en LabView, el cual se conecta a un bucle case, como muestran las dos siguientes imágenes: Figura 6.6 – Modo Identificación usando Tab Control. Figura 6.7 – Modo Control usando Tab Control. 6.5. Programación de señales para ensayos de identificación en LabView. La programación de estos ensayos para la primera entrada (VR1) se muestran en la siguiente imagen: 47 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 6.8 – Programación de las señales para identificación de VR1. Como se puede ver en la figura 6.8, si el usuario elige el modo de Identificación, la señal VR1 se introducirá en el modo manual del controlador, que, como se ha comentado, siempre se encontrára en este modo en ensayos de identificación. Si mediante el selector se elige introducir una señal en escalón (mediante el selector Escalón/Chirp), el modelo recibirá como entrada el valor introducido en su correspondiente “Step”. Si por el contrario elige como entrada la señal Chirp, se introducirá dicha señal sumada al valor introducido en su correpondiente Step. Esta señal sigue la siguiente ecuación: 𝑦=𝐴∗𝑠𝑒𝑛((𝑤𝑚𝑖𝑛+(𝑡−𝑡𝑖)∗𝑤𝑚𝑎𝑥−𝑤𝑚𝑖𝑛 𝑇)∗(𝑡−𝑡𝑖)). ,siendo 𝐴 la amplitud de la señal, 𝑤𝑚𝑖𝑛 la frecuencia inicial, 𝑤𝑚𝑎𝑥 la frecuencia máxima, 𝑇 la duración del ensayo, y 𝑡𝑖 (equivalenete a t_instant de la Figura 7.8) el tiempo instantáneo en el que comenzó el ensayo. La señal “Fin” que se puede apreciar en la Figura 7.8 valdrá 1 si el ensayo Chirp ya ha terminado, como muestra la siguiente imagen: Figura 6.9 – Señal Fin de ensayo Chirp. Dicha señal se encargará de introducir únicamente el valor que haya en el Step cuando termine el ensayo Chirp. Por último, hay que destacar que para poder iniciar la señal Chirp correctamente en cualquier instante, es necesario poder capturar el valor instantáneo del tiempo en el momento en el que se selecciona el ensayo Chirp. Esto podría hacerse con una variable estática, por ejemplo, pero en LabView no existe tal opción. Por lo tanto, Implementación en LabView: Control Simulado 48 se ha hecho uso de un selector, como se muestra en la siguiente imagen: Figura 6.10 – Captura del valor instáneo del tiempo ante un flanco de subida en Escalón/Chirp. Tal y como muestra el código de la figura 6.10, este valor se reiniciará cuando se desactive la señal Chirp. La programación de las señales de entrada del DC de las resistencias R1 y R2 es análoga a la mostrada en la figura 6.8 para VR1. 6.6. Programación de interfaz gráfica para ensayos de identificación. Basado en los modelos y ensayos programados en la pantalla Block Diagram de LabView, se ha creado una interfaz gráfica en el Front Panel con el objetivo de que los usuarios puedan realizar ensayos de identificación con señales típicas usadas para este fin, tales como las señales en escalón y Chirp. La interfaz gráfica para la identificación se muestra a continuación: 49 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 6.11 – Interfaz gráfica del programa de identificación sobre modelos lineales. 6.7. Pruebas de funcionamiento sobre el programa. A continuación, se mostrarán ejemplos del funcionamiento del programa diseñado para la identificación. 6.7.1. Ensayos ante escalón sobre modelos lineales. En caso de que el usuario decida introducir escalones a los modelos, éstos deben comportarse de la forma esperada. Por ejemplo, los cambios positivos producidos en VR1 producirán incrementos en el nivel, y decrementos en el salto térmico, mientras que un cambio positivo en el DC de las resistencias no afectará al nivel de forma apreciable y producirá un incremento en el salto térmico. Además, es interesante comprobar que las funciones de transferencia con retardo también se comportan de la forma esperada, es decir, las salidas no se ven afectadas por las variaciones en las entradas de forma inmediata. A continuación, se muestran ensayos realizados sobre el programa: Implementación en LabView: Control Simulado 50 Figura 6.12 – Pruebas de ensayos ante encalón sobre modelos lineales simulados. Si en lugar de realizar escalones positivos, hubiesen sido negativos, las salidas hubiesen reaccionado de forma contraria a lo que se muestra en la figura 6.12, tal y como se espera. 6.7.2. Ensayos Chirp sobre modelos lineales. Si el usuario decide realizar un ensayo introduciendo una señal Chirp, lo podrá realizar de forma sencilla introduciendo los parámetros destinados para ello y modificando el selector Ensayo Escalón/Chirp, que permite alternar entre los dos tipos de entrada disponibles. Para el primer ejemplo, la señal Chirp será generada en VR1. Ésta tendrá una duración de 400 segundos, una frecuencia minima de 0.001 rad/s, una frecuencia máxima de 0.05 rad/s, y una amplitud de un 10%. Los resultados obtenidos se muestran en la siguiente figura: 51 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 6.13 – Ensayo Chirp en VR1 sobre modelos lineales. Si, por el contrario, se genera una señal de las mismas características en el DC de R1/R2, el modelo responde de la siguiente forma: Implementación en LabView: Control Sobre Planta Real 58 trabaja con señales eléctricas. Mediante un programa implementado en Unity Pro, se transformarán estas señales eléctricas en valores numéricos y vicerversa de sensores y actuadores. Schneider proporciona un servidor OPC llamado OFS 2.0, que se comunica con Unity. Dicho servidor tiene el siguiente aspecto: Figura 7.2 – Interfaz de OPC Factory Server (OFS 2.0). Para conectarnos como clientes al servidor OPC desde LabView, se ha hecho uso de un software adicional llamado MatrikonOPC. Éste ofrece una solución sencilla, pues establece una comunicación Cliente/Servidor con OFS 2.0. El aspecto de Matrikon es el siguiente: Figura 7.3 – Interfaz de MatrikonOPC. Como puede observarse en la figura 7.3, se han configurado en Matrikon todas las señales necesarias para LabView, las mismas que se utilizaban para la comunicación de la planta con Matlab Simulink. Éste programa nos permite verificar los valores numéricos que toman las señales y comprobar que la conexión es correcta. También se ha establecido una conexión Servidor/Cliente con el servidor desde LabView, donde se ejecutarán los algoritmos de control. Para establecer esta última conexión, se hace uso de bloques de lectura y escritura en el Block Diagram de LabView, llamados “DataSocket”, disponibles en el menú “Data Communication”. El proceso a seguir es el 59 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView siguiente: 1. Abrir conexión fuera del bucle de ejecución, estableciendo la dirección de la señal (previamente añadida en MatrikonOPC) en el puerto “URL” y el modo 2 (lectura/escritura) en el bloque “DataSocket Open”. Se ha elegido para el puerto “TimeOut” un valor de 1000ms. 2. Conectar la salida “connection id” de este bloque con uno del tipo “DataSocket Read” (lectura) o “DataSocket Write” (escritura), el cual se situará dentro del bucle de ejecución. Si se trata de un bloque de lectura, habrá que elegir el tipo de dato mediante el puerto “type”, y elegir en qué variable se escribe mediante el puerto “data”. Si, por el contrario, es un bloque de escritura, únicamente habrá que seleccionar qué señal queremos escribir mediante el puerto data. 3. Conectar el puerto “connection out” de cualquiera de los bloques anteriores al puerto connection id de un bloque del tipo “DataSocket Close”, que, al igual que el bloque DataSocket Open, debe encontrarse fuera del bucle de ejecución. A continuación, se muestra una imagen de los bloques mencionados: Figura 7.4 – De izquierda a derecha, bloques DataSocket Open, Read, Write y Close. Siguiendo los pasos descritos anteriormente, se ha configurado la comunicación de cada una de las variables, teniendo en cuenta si son de lectura (sensores) o de escritura (actuadores). En las siguientes figuras se puede ver un ejemplo de lectura y de escritura de variables: Figura 7.5 – Lectura de la señal del sensor TT1. Figura 7.6 – Escritura de la señal del actuador VR1. Implementación en LabView: Control Sobre Planta Real 60 7.1.2. Temporización e implementación en orden secuencial en LabView. Evidentemente, cuando se quiere controlar un sistema mediante un computador, el proceso de control debe seguir un ciclo de ejecución secuencial. De no ser así, todas las acciones necesarias se estarían ejecutando simultáneamente, lo cual podría inducir a error. El ciclo de control consta de las siguientes etapas: Figura 7.7 – Etapas del proceso de control. Para asegurar que se sigue este orden, el programa ha sido implementado dentro de un Flat Sequence, de forma que cada una de las etapas de la figura 7.7 será marco o “frame” distinto. Esto puede entenderse mejor viendo la siguiente figura: Figura 7.8 – Estructura Flat Sequence implementada en Bucle While. Este bloque se ejecutará por orden, de izquierda a derecha, dentro de un bucle While que trabaja al tiempo de muestreo. Este tiempo (500ms) debe ser lo suficientemente largo como para que se ejecute completamente la Flat Sequence en cada iteración. El resto de apartados del punto 7 han sido implementados en la franja destinada al cálculo. Dentro de esta franja se encuentra otro Flat Sequence análogo al descrito en el apartado 6.2, con la diferencia de que ahora se ha introducido el controlador del lazo auxiliar, y la secuencia de puesta en marcha del sistema. A continuación, se muestra una imagen del esquema general del Block Diagram: 61 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 7.9 – Block Diagram del programa basado en la planta real. 7.2. Arranque y puesta en el punto de operación del sistema. Como se ha comentado, el punto de operación elegido es el de caudal reducido, en el que VR1 está al 30% de su apertura máxima, y el DC de R1 y R2 está al 55%. Ya que se trata de un sistema que requiere un tiempo generalmente largo para evolucionar y poder trabajar con él, se han establecido ciertas condiciones para iniciar los ensayos. La puesta en marcha de la planta consta de los siguientes pasos: 1. Circulación de agua durante 15 segundos con todos los actuadores inactivos excepto VR1 (al 30% de apertura). Durante este instante, se medirá TT1 para hacer la media y establecerla como referencia del control de TT4 (lazo auxiliar de control). 2. Una vez pasados los primeros 15 segundos y obtenida la referencia para el control de TT4, el controlador del lazo auxiliar pasará a modo automático. Las resistencias continuarán apagadas hasta que hayan pasado 200 segundos (controlador de TT4 ya “estable” debido al término de anti-Windup) y la temperatura del agua procedente de la planta de frío (TT5) sea inferior a 10ºC. 3. Cuando se completa el segundo paso, las variables de entrada del sistema son manipulables, incluidas las resistencias. En caso de que el usuario esté en modo control, los ensayos siempre comenzarán en el modo manual de los controladores, pudiendo activar el modo automático cuando lo desee. La forma de implementarlo en LabView ha sido la siguiente: Figura 7.10 – Implementación de puesta en el punto de operación del sistema en LabView. Prestando atención a la figura 7.10, se observa que, mientras el tiempo sea menor a 15 segundos, se acumula el Implementación en LabView: Control Sobre Planta Real 62 valor de la suma de las muestras de TT1 para después dividirla entre el número de muestras y así obtener la media, que pasará a ser la referencia de TT4. Además, los actuadores recibirán como señal un valor nulo excepto VR1. Cuando pasa este tiempo, los actuadores recibirán como señal el valor del punto de operación. Por último, cuando pasen 200 segundos y TT5 sea inferior a 10ºC, los actuadores recibirán el valor calculado por los bloques de generación de señales para la identificación, o por los bloques de los controladores según el modo elegido. Se puede ver además que se ha incluido un indicador led (“Ready”), que indica al usuario cúando el sistema ha completado la puesta en marcha y está listo para usarse. 7.3. Lazo auxiliar de control. Puesto que ahora se empieza a trabajar sobre el sistema real, será necesario implementar el lazo auxiliar de control que se programó en Matlab Simulink. Como se explicó anteriormente, para reducir las oscilaciones producidas por la planta de frío y una deriva térmica de la temperatura del tanque (TT1), se hace un control de TT4 mediante VR2 y VR3. 7.3.1. Implementación en LabView. En este caso, se ha decidido que los parámetros del controlador no serán modificables, pues este lazo de control será invisible para quien haga uso del sistema. Para simplicar el programa, se ha implementado el controlador descrito en el apartado 4.1.2., el cual no sigue la estructura FeedForward. Éste tenía la siguiente ecuación: 𝐶𝑇𝑇4(𝑠)=−5.65∗(1+1/333.33 𝑠). Por otro lado, también posee anti-WindUp, y su punto de operación es del 26%. Su salida ha sido saturada, de forma que los valores que llegarán a VR2 y VR3 en la planta estarán contenidos en un rango del 0 al 100%. Los resultados deben ser muy similares a los del apartado 4.1.2 a pesar de que se ha elegido el punto de funcionamiento de caudal reducido. La implementación en el Block Diagram de LabView se muestra en la siguiente imagen: 63 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 7.11 – Programación del lazo auxiliar de control. Podemos comprobar en la figura 7.11 que los parámetros introducidos en el controlador son constantes (no modificables por el usuario). 7.3.2. Pruebas de funcionamiento del lazo de control. Para realizar las pruebas, se han establecido todos los valores de los actuadores en el punto de operación. Los resultados obtenidos se pueden visualizar en la siguiente imagen: Implementación en LabView: Control Sobre Planta Real 64 Figura 7.12 – Respuesta del lazo auxiliar de control implementado en LabView. En la figura 7.12 se observa cómo TT4 oscila en torno a la referencia fijada de 19ºC. Además, se ha incluido TT1, que es, en última instancia, la temperatura que más nos interesa. Se puede apreciar cómo TT1 va lentamente hacia la referencia con oscilaciones muy leves, pero con cierto error. Con este ensayo se demuestra el error de medida de los sensores descrito en el apartado 4.1, de aproximadamente 0.8ºC. 7.4. Programación de señales para ensayos de identificación en LabView. Este punto es muy similar al 6.5., pues apenas hay cambios en las señales programadas. La diferencia más importante es que, ya que VR1 regula el caudal que circula por la planta real, será necesario establecer un mínimo de, por ejemplo, el 10% en VR1. Esto tiene como objetivo proteger las resistencias R1 y R2, pues de no limitarlo sería posible que en determinados momentos VR1 tenga una apertura del 0%. Si esto ocurriese mucho tiempo, implicaría que no haya caudal de agua y que las resistencias puedan resultar dañadas. La programación de esta señal se muestra en la siguiente imagen: 65 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 7.13 – Programación de señales para ensayos identificación con VR1 en planta real. Hay que destacar que, si el usuario introduce una señal Chirp que en algún instante es inferior a 10 en VR1, se mantendrá en 10, por lo que la señal Chirp se verá alterada y el experimento no será válido. En cuanto a la señal del DC de R1 y R2, sigue manteniendo su rango de 0 a 100, por lo que la programación es la misma que teníamos en el punto 6.5. 7.5. Programación de interfaz gráfica para ensayos de identificación. Las interfaces gráficas que actúan sobre la planta real serán muy parecidas a las basadas en modelos del apartado 6.6, aunque habrá leves diferencias. La figura expuesta a continuación muestra la interfaz para ensayos de identificación sobre el sistema real: Implementación en LabView: Control Sobre Planta Real 66 Figura 7.14 – Interfaz gráfica del programa de identificación sobre la planta real. Como se puede ver en la figura 7.14, la única diferencia notable que existe entre esta pantalla y la que encontrabamos en el punto 6.6, es la presencia del indicador led (Ready). 7.6. Pruebas de funcionamiento sobre el programa. A continuación, se muestran ensayos sobre la planta realizados mediante el programa de identificación desarrollado en LabView. Hay que destacar que el sensor capacitivo de nivel dejó de funcionar correctamente, por lo que los ensayos han sido realizados sobre el DC de las resistencias, midiendo el salto térmico TT2-TT1. 7.6.1. Ensayo ante escalones sobre el sistema real mediante interfaz gráfica. Haciendo uso de la aplicación diseñada en LabView, se han introducido escalones de un 15% de amplitud respecto al punto de operación del DC (55%) de R1 y R2. Los resultados obtenidos se muestran a continuación: 67 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView Figura 7.15 – Salto térmico frente a ensayo en escalón en DC mediante interfaz gráfica de identificación en LabView. 7.6.2. Ensayo Chirp sobre el sistema real mediante interfaz gráfica. En este ensayo se ha aplicado una señal Chirp en el DC de R1 y R2 en torno al punto de operación, con una amplitud de un 20%, una frecuencia mínima y máxima de 0.001 y 0.05 rad/s respectivamente, y una duración de ensayo de 500 segundos. Los resultados obtenidos son los siguientes: Guía de Uso de las Interfaces Gráficas 74 8.2.2. Guía de la interfaz gráfica de control. Figura 8.4 – Interfaz gráfica para la prueba de controladores sobre la planta real. La forma de usar esta interfaz es la misma que la descrita en el apartado 8.1.2., pero como ocurría en el programa de identificación sobre el sistema real, también habrá que esperar a que se encienda el indicador led Ready para empezar a trabajar. Al igual que en el apartado anterior, VR1 no podrá ser menor al 10%. Esto podría modificar el comportamiento del controlador diseñado en ciertos instantes. 75 Laboratorio Virtual para el control de la Planta Multiprocesos basado en LabView REFERENCIAS [1] Alonso Alfaya, J. E. Desarrollo e implementación del sistema de control de la planta multiprocesos. Trabajo de fin de grado. 2013. [2] Rodríguez González, E. A. Identificación y desarrollo de controladores para planta multiprocesos. Trabajo de fin de grado. 2019. [3] G.U.N.T. Gerätebau GmbH, Manual de Experimentos del Sistema Didáctico Modular para la Automatización de Procesos RT 450, 2005. [4] Mayta Mamani, Luis Alberto, and Edwin Ronald Tintaya Gutierrez. Diseño De Un Controlador PID - Difuso En La Plataforma De LabView Para El Control De Niveles De Agua Aplicados En El Laboratorio De Control Y Automatización De La EPIME. 2018. [5] Ruiz, Ángel & Jiménez, Jorge & Sanchez, Jose & Dormido, S.. (2013). Control Basado en Eventos de Sistemas de Primer Orden Con Retardo. Revista Iberoamericana de Automática e Informática Industrial RIAI. 10. 302–312. 10.1016/j.riai.2013.04.003. [6] Julian-Laime, Edgar & Almidón Elescano, Ángel. (2018). Manual de programación LabVIEW 9.0. 10.5281/zenodo.2557815. [7] National Instruments, Control Design Toolkit User Manual, 2008. [8] García, D., Matrikon OPC UA Tunneller - infoPLC. 21 noviembre 2018 [consulta: 3 febrero 2020] Disponible en: https://www.infoplc.net/noticias/item/104781-matrikon-opc-ua-tunneller. [9] Acevedo, H. G., & Galvis, O. G. V. Implementación de un sistema de control para regular la velocidad y posición de motores industriales utilizando el protocolo de comunicación OPC. Revista UIS Ingenierías, ISSN-e 2145-8456, ISSN 1657-4583, Vol. 18, Nº. 2 (Abril - junio), 2019, págs. 147-158. [10] Morilla, F., Garrido, J., Vázquez, F. Control Multivariable por Desacoplo. Revista Iberoamericana de Automática e Informática industrial, Vol. 10, Nº. 1 (Enero - marzo), 2013, págs, 3–17.