scieee AI-readable full text Open interactive document viewer

Modelado, simulación y control de un tanque con control de temperatura

Reyes Quesada, Julio

Abstract

Un sistema dinámico es un sistema cuyo estado evoluciona con el tiempo. Su comportamiento se puede modelar matemáticamente para simular su estructura y funcionamiento, y poder estudiar y experimentar sobre el modelo sin acceder al sistema. En este trabajo se desarrollará la tecnología necesaria para automatizar procesos continuos utilizando Codesys, Vijeo Citect y Simulink. Estos programas se comunicarán entre ellos utilizando el estándar de comunicación OPC. Para ello, se ha elaborado una guía de conexión de los distintos programas con OPC. Se utilizarán a lo largo del trabajo tres sistemas con los que se pretende mostrar todo lo necesario para cumplir los objetivos. Primero, se modelará un tanque con control de nivel, y después, un sistema de control de temperatura. Por ultimo, se utilizará un sistema desarrollado a partir de los dos anteriores, que consistirá en un tanque con un sistema de control de la temperatura del líquido de su interior.

Full text

Equation Chapter 1 Section 1 Trabajo Fin de Grado Ingeniería en Electrónica, Robótica y Mecatrónica Modelado, simulación y control de un tanque con control de temperatura Autor: Julio Reyes Quesada Tutor: David Muñoz de la Peña Sequedo Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021 iii Trabajo de Fin de Grado Ingeniería en Electrónica, Robótica y Mecatrónica Modelado, simulación y control de un tanque con control de temperatura Autor: Julio Reyes Quesada Tutor: David Muñoz de la Peña Sequedo Catedrático Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2021 v Resumen Un sistema dinámico es un sistema cuyo estado evoluciona con el tiempo. Su comportamiento se puede modelar matemáticamente para simular su estructura y funcionamiento, y poder estudiar y experimentar sobre el modelo sin acceder al sistema. En este trabajo se desarrollará la tecnología necesaria para automatizar procesos continuos utilizando Codesys, Vijeo Citect y Simulink. Estos programas se comunicarán entre ellos utilizando el estándar de comunicación OPC. Para ello, se ha elaborado una guía de conexión de los distintos programas con OPC. Se utilizarán a lo largo del trabajo tres sistemas con los que se pretende mostrar todo lo necesario para cumplir los objetivos. Primero, se modelará un tanque con control de nivel, y después, un sistema de control de temperatura. Por ultimo, se utilizará un sistema desarrollado a partir de los dos anteriores, que consistirá en un tanque con un sistema de control de la temperatura del líquido de su interior. vii Abstract A dynamical system is a system whose status evolves over time. Its behaviour can be mathematically modelled to simulate its structure and operation, and be able to study and experiment over the model without access to the system. In this project will be developed the needed technology to automate continuous processes using Codesys, Vijeo Citect and Simulink. Those softwares will be communicated with each other using the communication standar OPC. For that purpose, it has been developed a wiring guide of those softwares using OPC. Three systems will be used along this project with which is intended to show all that is needed to fulfill the objectives. First, a tank with level control will be modelled and, later, a system of temperatura control. Finally, it will be used a system developed from the two previous ones, which will consist of a tank with a system of temperature control of the liquid inside. 1 Índice Resumen v Abstract vii Índice 1 Índice de Tablas 3 Índice de Figuras 5 1 Introducción 9 1.1 Descripción del problema 9 1.2 Objetivos 9 1.3 Estructura de la memoria 9 2 Guía conexión OPC 11 2.1 Configuración Codesys 11 2.1.1 Configuración de símbolos 11 2.1.2 Configuración del OPC Server 12 2.2 Configuración Vijeo Citect 12 2.3 Configuración Matlab Simulink 14 2.4 Prueba de conexión 15 3 Simulación del sistema 17 3.1 Tanque 17 3.1.1 Ecuación diferencial 17 3.1.2 Modelado y sincronización del control 18 3.2 Sistema de control de temperatura 19 3.2.1 Ecuación diferencial 19 3.2.2 Modelado y sincronización del control 21 3.3 Tanque con control de temperatura 26 3.3.1 Ecuación diferencial 27 3.3.2 Modelado y sincronización del control 28 4 Control PLC 35 4.1 Tanque 35 4.1.1 Módulos utilizados 35 4.1.2 Códigos utilizados 35 4.1.3 Resultados obtenidos 37 4.2 Sistema de control de temperatura 38 4.2.1 Módulos utilizados 39 4.2.2 Códigos utilizados 39 4.2.3 Resultados obtenidos 40 4.3 Tanque con control de temperatura 41 4.3.1 Módulos utilizados 41 4.3.2 Códigos utilizados 41 Índice de Figuras 8 9 1 INTRODUCCIÓN 1.1 Descripción del problema La motivación de este trabajo es poder desarrollar proyectos y practicas más ambiciosas en las asignaturas de automatización que los alumnos puedan desarrollar en sus casas, sin necesidad de comprar equipamiento, pero usando programas industriales. Para ello, se han desarrollado tres ejemplos de sistemas, simulados utilizando Matlab Simulink, Codesys y Vijeo Citect y conectados mediante el estándar de comunicación OPC. 1.2 Objetivos El objetivo de este proyecto es desarrollar la tecnología necesaria para realizar practicas de programacion de SCADA, PLC y controladores para sistemas dinámicos de variable mixta (discreta y continua) simulados en Matlab Simulink. Para ello, se han desarrollado tres sistemas con especificaciones distintas. • Un tanque con una válvula de llenado y un desagüe siempre abierto. Este sistema consta de un único actuador (la válvula de llenado) y un sensor que indica el nivel de líquido en el interior. Además, integrará dos modos de operación. Uno manual, en el que el nivel de líquido se mantendrá al indicado por una referencia desde el SCADA, y otro automático en el que el actuador será controlado directamente por el operario. • Un sistema de control de temperatura compuesto por un tubo con un ventilador a la entrada que expulsa aire. Al principio del tubo habrá una resistencia que disipa potencia para calentar el aire que entra y al final del tubo habrá un sensor que mide la temperatura del aire que sale. El sistema consta, por lo tanto, de un sensor y un actuador. Integrará un único modo de operación en el que se calienta el aire para alcandar la temperatura indicada desde el SCADA. • Un tanque con sistema de control de temperatura con una valvula de llenado, una de vaciado y una resistencia que calienta el líquido del interior. El sistema integra tres actuadores y dos sensores, uno para el nivel y otro para la temperatura. Además, constará de tres modos de operación. Un modo manual, en el que el operario envía los valores de los actuadores al PLC. Un modo automático, en el que, de forma secuencial, el sistema llena el tanque hasta el valor indicado en el SCADA, calienta el líquido hasta el valor indicado en el SCADA, lo deja enfriar 2ºC y lo vacía mientras lo mantiene a esa temperatura. Un modo de reinicio para pasar del modo manual al automático en el que el tanque se vacía, se llena hasta un cierto valor y se vuelve a vaciar. 1.3 Estructura de la memoria Para la estructura de la memoria se ha incluido una guía de conexión de los distintos programas por OPC y se ha dividido el trabajo realizado según estos programas. • Guía conexión OPC: En esta sección se ha desarrollado un tutorial sobre la conexión por OPC de los tres programas utizados. Además, se ha incluido una prueba de conexión a modo de ejemplo. • Simulación del sistema: Esta sección desarrolla el trabajo realizado en Matlab Simulink. Integra tanto el diseño de la ecuación diferencial que simula los distintos sistemas como el modelado y sincronización de los controles realizados. Introducción 10 • Control PLC: Aquí se explican los programas hechos en Codesys para el control de PLC, incluyendo los módulos utilizados, códigos desarrollados y un análisis de los resultados obtenidos. • SCADA: En está sección se incluye una guía sobre el uso de Vijeo Citect, tanto del editor gráfico como de la generación de informes. Además, se muestra el SCADA diseñado para cada uno de los sistemas. 11 2 GUÍA CONEXIÓN OPC lo largo de este capítulo se va a explicar paso por paso la conexión de Codesys (versión 3.5 SP 12 provided by Festo), Vijeo Citect (versión 7.4) y Matlab Simulink (versión R2020a) mediante el protocolo de comunicación OPC. 2.1 Configuración Codesys Para la instalación del software Codesys hay que tener en cuenta que a partir de la version 3.5 SP 12 el servidor del OPC es de pago con una version de 30 días. Por ello, se recomienda la instalación de una version previa desde la web de Festo (FESTO, s.f.). Durante el proceso de instalación será necesario habilitar la instalación del servidor OPC. 2.1.1 Configuración de símbolos Una vez diseñado el sistema será necesario agregar a la aplicación un objeto del tipo “configuración de símbolos” al que habrá que marcarle la casilla que habilita la compatibilidad con OPC UA. Dentro de este objeto se seleccionarán las variables que se quieran comunicar y se pulsar “crear”. A Figura 2.1: Configuración OPC Codesys 1 Figura 2.2: Figura 2.3: Configuración OPC Codesys 2 Guía conexión OPC 12 2.1.2 Configuración del OPC Server Tras configurar la aplicación Codesys será necesario configurar el servidor de OPC con el que se van a comunicar los distintos programas. Para ello hay que abrir la aplicación OPCConfig que viene incluida en la instalación de Codesys. Se añadirá un PLC y una conexión en caso de no aparecer ya añadidas y se configurará la conexión para que el nombre del PLC sea el mismo que en el dispositivo de Codesys. Cuando se inicie la sesión y se cargue el programa se comunicarán por este servidor todas las variables seleccionadas en la “configuración de símbolos”. 2.2 Configuración Vijeo Citect Para la configuración de Vijeo se seguirán los pasos indicados en configuración rápida de dispositivo de E/S que se encuentra en el apartado de comunicaciones. Se seleccionará un dispositivo de E/S externo que utilizará el método de comunicación OPC. Figura 2.4: Configuración OPC Codesys 3 Figura 2.5: Configuración OPC Codesys 4 Figura 2.6: Configuración OPC Codesys 5 13 Modelado, simulación y control de un tanque con control de temperatura Se introducirá la dirección (CoDeSys.OPC.DA) y el tipo de base de datos y se terminará la configuración. Tras esto, se encontrarán todas las variables seleccionadas en CoDeSys en las etiquetas de variable con el nombre con el que se utilizarán en Vijeo. Figura 2.8: Configuración OPC Vijeo 1 Figura 2.7: Configuración OPC Vijeo 2 Figura 2.10: Configuración OPC Vijeo 3 Figura 2.9: Configuración OPC Vijeo 4 Figura 2.11: Configuración OPC Vijeo 5 Guía conexión OPC 14 2.3 Configuración Matlab Simulink El primer paso para la comunicación de Simulink con OPC será la instalación del toolbox de OPC. Se añadirá al sistema el bloque OPC Configuration al que se le añadirá un cliente con servidor CoDeSys.OPC.DA que será el cliente al que habrá que conectarse. Se configurarán los bloques OPC Read y OPC Write para leer y escribir respectivamente las variables compartidas desde CoDeSys. Figura 2.12: Configuración OPC Simulink 1 Figura 2.13: Configuración OPC Simulink 2 Figura 2.14: Configuración OPC Simulink 3 Figura 2.15: Configuración OPC Simulink 4 15 Modelado, simulación y control de un tanque con control de temperatura 2.4 Prueba de conexión A efectos de demostración de la comunicación OPC se ha desarrollado un pequeño programa en el que en Codesys se escribe un valor en una variable “valor" que pasa a Simulink donde se le hace la raiz cuadrada que se escribe en otra variable “resultado”. Para ello, se ha configurado Codesys como se muestra en la Figura 2.16. En cuanto a Simulink, se han configurado los bloques “OPC read” y “OPC write” como se muestra en la Figura 2.17 y Figura 2.18 respectivamente. Figura 2.16: “Symbol configuration” Figura 2.17: Bloque OPC read Figura 2.18: Bloque OPC write Guía conexión OPC 16 El resultado se muestras en las Figura 2.19 y Figura 2.20. Figura 2.19: Prueba de conexión Codesys Simulink Figura 2.20: Prueba de conexión Codesys Simulink 17 3 SIMULACIÓN DEL SISTEMA n este capítulo se va a describir la simulación de los distintos sistemas dinámicos usando Simulink. Para ello se ha partido de unos modelos aproximados al sistema real partiendo de la ecuación diferencial y se le han añadido los sensores y actuadores cuyos valores son escritos y leidos respectivamente por el PLC mediante el protocolo OPC. 3.1 Tanque Este sistema consiste en un tanque de agua con una valvula de llenado por la que entra un caudal de entrada y que consta de una salida por la que escapa un caudal de salida constante. 3.1.1 Ecuación diferencial En este apartado se indicará el modelo matemático basado en una ecuación diferencial de primer orden no lineal que describe el funcionamiento del sistema. Las ecuaciones diferenciales que se utilizarán nos indican que la derivada del volumen (V) es directamente proporcional al caudal de entrada (𝑞𝑒) menos el caudal de salida (𝑞𝑠). 𝑑𝑉(𝑡) 𝑑𝑡 = 𝑞𝑒(𝑡)− 𝑞𝑠(𝑡) La altura o nivel del tanque (h), que será la variable que se utilizará para la representación en el SCADA y como referencia para el control, multiplicado por el área (A) del tanque es igual al volumen. 𝐴ℎ(𝑡)= 𝑉(𝑡) El caudal de salida es proporcional a la raiz cuadrada del nivel multiplicado por una constante de descarga (K). 𝑞𝑠(𝑇)= 𝐾√ℎ(𝑡) Para comprobar el correcto funcionamiento del modelo se ha simulado el caudal de entrada con un escalón que proporciona un caudal de entrada de 2 𝑐𝑚3/𝑠 durante los primeros 5 segundos que luego aumenta a 4 𝑐𝑚3/𝑠. El modelo de Simulink quedaría como se muestra en la Figura 3.1. E Simulación del sistema 24 a la integral del error. Para ello, se añadirá la acción integral al modelo que será inversamente proporcional al tiempo integral 𝑇𝑖. El modelo utilizado es el que se muestra en la Figura 3.13. Para ver el funcionamiento del control se utilizarán diferentes valores de 𝐾𝑐 y 𝑇𝑖 y se analizará la respuesta del sistema: • Para unos valores de 𝐾𝑐= 0.54 y 𝑇𝑖= 0.58, en la Figura 3.14, se observa que la respuesta del sistema en bucle cerrado mejora con respecto al control proporcional. Se puede observar que el error en régimen permanente se elimina y que hay una pequeña sobreoscilación. • Para unos valores de 𝐾𝑐= 0.54 y 𝑇𝑖= 5.8, en la Figura 3.15, se observa que la respuesta del sistema en bucle cerrado mejora con respecto al control proporcional. Se puede observar que el error en régimen permanente se elimina y que hay una pequeña sobreoscilación. Figura 3.13: Modelo del control de temperatura con control proporcional + integrador Figura 3.14: Respuesta del sistema en bucle cerrado 25 Modelado, simulación y control de un tanque con control de temperatura • Para unos valores de 𝐾𝑐= 0.54 y 𝑇𝑖= 0.25, en la Figura 3.16, se observa que la respuesta del sistema en bucle cerrado se vuelve inestable. • Para unos valores de 𝐾𝑐= 0.54 y 𝑇𝑖= 0.058, en la Figura 3.17, se observa que la respuesta del sistema en bucle cerrado se vuelve inestable. Figura 3.15: Respuesta del sistema en bucle cerrado Figura 3.16: Respuesta del sistema en bucle cerrado Simulación del sistema 26 Con este análisis se concluye que el término proporcional a la integral del error garantiza que el error en régimen permanente sea 0. Además, cuanto más grande sea el tiempo integral, más se tarda en eliminar el error en régimen permanente (tiempo de establecimiento), este tiempo es del orden de tres veces el tiempo integral. Sin embargo, si se disminuye el tiempo integral, aumenta la temperatura máxima y la inestabilidad, pudiendo llegar a inestabilizarse. En general, se utiliza un tiempo integral del orden de la constante de tiempo del sistema para obtener una buena relación entre tiempo de establecimiento y estabilidad relativa. Este control se implementará luego en CoDeSys en el punto 4.24.1.1. En la ¡Error! No se encuentra el origen de la referencia. se tiene el sistema final utilizado, incluyendo s ensores y actuadores. Dentro del subsistema calentador, se encuentra el sistema modelado en este apartado. 3.3 Tanque con control de temperatura Este sistema consiste en un tanque con dos válvulas, una de llenado y otra de vaciado, similar al tanque Figura 3.17: Respuesta del sistema en bucle cerrado Figura 3.18: Simulación final del control de temperatura 27 Modelado, simulación y control de un tanque con control de temperatura diseñado previamente. Consta de una resistencia en su interior que permitirá calentar el líquido, similar al sistema de control de temperature estudiado previamente. Estos dos subsistemas se estudiarán separadamente. 3.3.1 Ecuación diferencial 3.3.1.1 Tanque Para el modelo matemático de este subsistema se ha utilizado la ecuación diferencial estudiada en el punto 3.1.1. 3.3.1.2 Sistema de control de temperatura En este apartado se indicará el modelo matemático simplificado basado en una ecuación diferencial de primer orden no lineal que describe el funcionamiento del sistema. Se ha utilizado una dinámica sencilla en la que la derivada de la temperatura del líquido 𝑇𝑠 que hay en el interior del tanque dependerá de las pérdidas de calor con el ambiente (𝑄𝑎𝑚𝑏), que será proporcional a la superficie del tanque en contacto con el ambiente (𝐴𝑑𝑒𝑝), y de la potencia (𝑄𝑟𝑒𝑠) disipada en la resistencia. Todo ello será proporcional al volumen del líquido que hay en el interior (V). 𝑑𝑇𝑠 𝑑𝑡 = 𝑄𝑟𝑒𝑠 − 𝑄𝑎𝑚𝑏 𝜌 ∗ 𝑐𝑝∗ 𝑉 La potencia disipada en la resistencia será proporcional a la tensión aplicada, que será la señal de control. 𝑄𝑟𝑒𝑠 = 𝐾1𝑉𝑖𝑛 Las pérdidas por el contacto con el ambiente serán proporcionales a la diferencia de temperatura entre el líquido y el ambiente y la superficie de las paredes del tanque. 𝑄𝑎𝑚𝑏 = 𝑈𝑑𝑒𝑝 ∗ 𝐴𝑑𝑒𝑝 ∗ (𝑇𝑠− 𝑇𝑎𝑚𝑏) Para este modelo se han utilizado los siguientes valores: 𝐾1=1000 Ω 𝜌 = 1.28 𝑐𝑝=1012 𝑈𝑑𝑒𝑝 = 4 𝑅𝑑𝑒𝑝 = 1 𝑚 ℎ𝑑𝑒𝑝 = 1 𝑚 Además, se ha supuesto que el líquido entra al tanque con una temperatura constante 𝑇𝑒𝑛𝑡, una temperatura ambiente 𝑇𝑎𝑚𝑏, y se ha limitado la tensión aplicada a unos valores entre 0 y 220 voltios. 𝑇𝑒𝑛𝑡 =24 º𝐶 𝑇𝑎𝑚𝑏 =20 º𝐶 𝑉𝑖𝑛 ∈[0,220] 𝑉 Simulación del sistema 28 Para comprobar el correcto funcionamiento del modelo se ha simulado la tensión de entrada con un escalón que proporciona una tensión de 0V que luego aumenta a 0.1V. El modelo de Simulink quedaría como se muestra en la Figura 3.19. El resultado obtenido para la temperatura del líquido es el observado en la Figura 3.20 donde se observa que la temperatura desciende hasta la temperatura ambiente si no se aplica ninguna tensión. 3.3.2 Modelado y sincronización del control 3.3.2.1 Tanque Para este subsistema, de forma similar al tanque estudiado previamente, se ha utilizado un control todo-nada que abre y cierra las válvulas de entrada y salida. 3.3.2.2 Sistema de control de temperatura Para la sincronización del control se ha hecho un análisis de la característica estática que nos indica que rangos de temperaturas podemos alcanzar teniendo encuenta que las temperaturas que se van a requerir están entre los 20 y 60ºC. Los resultados son los mostrados en la Tabla 3.2. Figura 3.19: Modelo del sistema de control de temperatura Figura 3.20: Respuesta del sistema ante escalón 29 Modelado, simulación y control de un tanque con control de temperatura Tabla 3.2: Análisis característica estática del sistema Tensión aplicada Temperatura de salida 0 V 20 ºC 0.1 V 24 ºC 0.2 V 27.96 ºC 0.4 V 35.92 ºC 0.6 V 43.87 ºC 0.8 V 51.83 ºC 10 V 59.79 ºC Dentro de este rango de temperaturas se escoge como punto de operación una tensión de 0.1V (𝑉0) por lo que la temperatura del punto de operación es de 24ºC (𝑇0). A continuación, se hará un análisis temporal en bucle abierto en torno al punto de operación (Figura 3.21) aplicando un escalón entre 0.1 y 0.3 V para estimar un modelo simplificado del que poder obtener un sistema de control en bucle cerrado. Haciendo un análisis similar al hecho previamente con el sistema de control de temperatura se obtienen unos valores de 𝐾𝑒= 39.65 y 𝜏 = 5195 𝑠. 3.3.2.3 Control del nivel del tanque Para controlar el nivel del tanque se ha utilizado un relé que abre la válvula de llenado cuando se quiere llenar el tanque y la de vaciado cuando se quiere vaciar. 3.3.2.4 Control de la temperatura del líquido En este apartado primero se seguirán los mismos pasos que en el punto 3.2.2. Primero se experimentará con un control proporcional. Figura 3.21: Respuesta del sistema ante escalón Simulación del sistema 30 El modelo utilizado es el que se muestra en la Figura 3.22. Para ver el funcionamiento del control se utilizarán diferentes valores de 𝐾𝑐 y se analizará la respuesta del sistema: • Para un valor de 𝐾𝑐= 0.5, en la Figura 2.5, como era de esperar, se observa que la respuesta tiene error en régimen permanente. • Para un valor de 𝐾𝑐=12, en la Figura 3.24, mejora la velocidad de respuesta pero se sigue observando un pequeño error en régimen permanente. Figura 3.22: Modelo del control de temperatura Figura 3.23: Respuesta del sistema en bucle cerrado 31 Modelado, simulación y control de un tanque con control de temperatura • Para un valor de 𝐾𝑐=15, en la Figura 3.25, se sigue observando un pequeño error en régimen permanente pero además, la señal de control satura debido a las limitaciones de tensión aplicada a la entrada. • Para eliminar este error en régimen permanente se añade una acción integral del orden de la constante de tiempo (𝑇𝑖). Para un valor de 𝐾𝑐=12 y 𝑇𝑖=5000. En la Figura 3.26, se comprueba que se ha eliminado el error. Figura 3.24: Respuesta del sistema en bucle cerrado Figura 3.25: Respuesta del sistema en bucle cerrado Simulación del sistema 32 Este control se implementará luego en CoDeSys en punto 4.3. En la Figura 3.27 se tiene el sistema final utilizado, incluyendo sensores y actuadores. Dentro del subsistema tanque se encuentra el modelo desarrollado en este apartado. Por otro lado, dentro del subsistema resistencia (Figura 3.28) se ha añadido el modelo desarrollado al que se la ha añadido un término que modela las pérdidas que sufrirá el sistema cuando se caliente el líquido del interior del tanque a la vez que se llena de líquido a una temperatura de entrada 𝑇𝑒𝑛𝑡. Además, se añade una pequeña constante que se suma al volumen del líquido para evitar indeterminaciones. Figura 3.26: Respuesta del sistema en bucle cerrado Figura 3.27: Simulación final del sistema 33 Modelado, simulación y control de un tanque con control de temperatura Figura 3.28: Simulación del subsistema resistencia Control PLC 40 A este bloque se le añadirán las variables del control y el punto de operación calculados previamente. Además, se puede controlar la referencia buscada y encender o apagar el control utilizando el reset incluido. Esto se hará desde el SCADA como se verá en el punto 5.3. Este bloque se utilizará de forma similar en el sistema tanque con control de temperatura. 4.2.3 Resultados obtenidos Se ha hecho la simulación para dos valores distintos de Kc. Por un lado, se ha utilizado un valor de 0.027 al principio de la simulación, como se observa en la Figura 4.10, el resultado lento pero no sobreoscila. Después, para un valor de 0.054, la respuesta del Sistema es más rápida pero sobreoscila un poco. Estos resultados concuerdan con el estudio hecho previamente. Además, se puede observar tanto el retraso en la medida de la temperatura de salida como la temperatura de referencia y la temperature minima que se puede obtener. Figura 4.10: Comportamiento del sistema de control de temperatura Figura 4.9: Documentación bloque PID 41 Modelado, simulación y control de un tanque con control de temperatura 4.3 Tanque con control de temperatura Como se ha explicado en el punto 3.3.2, este sistema consta de dos subsistemas. Por un lado, el control del nivel de líquido se hará de controlando las valvulas de llenado y vaciado como se ha visto en el punto 3.3.2.3. El control de la temperatura del líquido se hará con un controlador PI como se ha estudiado en el punto 3.3.2.4. Se ha añadido una máquina de estados que permitirá trabajar en 3 modos distintos. • En modo automático se tiene un control secuencial que consiste en que se abre la valvula de llenado hasta alcanzar el nivel buscado. Una vez alcanzado, se active el pid que calienta el líquido. Cuando se alcanza la temperatura buscada, se espera unos Segundos y se deja enfriar unos grados. Después, se abre la valvula de vaciado hasta que se vacía el tanque. • En modo manual, como se verá en el apartado tal, el operario podrá enviar desde el SCADA señales para activar y desactivar los distintos actuadores. • En modo reinicio, el tanque se vaciará, se llenará hasta un nivel fijado y se volverá a vaciar. Esto modo se utilizará para pasar del modo manual al automático. 4.3.1 Módulos utilizados Para este programa se han utilizado los siguientes módulos: • GVL: Lista de variables globales utilizadas. • Programa principal (PLC_PRG): Programado en LD, será el que incorpora la máquina de estados descrita llamando a los módulos necesarios. • Automático: Programado en SFC, controla el funcionamiento del modo automático descrito anteriormente. • Reiniciar: Programado en SFC, controla el reinicio del Sistema descrito anteriormente. • PID: Bloque funcional programado en LD, Implementa el control de temperatura del líquido desarrollado previamente con el bloque pid de la biblioteca útil de CoDeSys. • Sensores: Programado en ST, indicará que el tanque está lleno cuando se alcance el nivel buscado, vacío cuando el nivel sea 0 y que el líquido está caliente cuando se alcance la temperatura buscada. • Actuadores: Programado en ST, abrirá la valvula de llenado o de vacío cuando se quiera llenar o vaciar, respectivamente, el tanque y activará el pid cuando se quiera calendar el líquido. 4.3.2 Códigos utilizados 4.3.2.1 Programa principal En este programa se integran, por un lado, las llamadas a los sensores y actuadores, y por otro lado la máquina de estados. El sistema trabajará en modo automático cuando las variables auto y reinicio sean verdaderas. El valor de auto se escribe desde el SCADA y el valor de reinicio se hace falso cuando se entra en modo manual y verdadero cuando se termina el modo reiniciar. De esta forma, cuando se esté trabajando en modo manual y se quiera pasar a automático, habrá que pasar por el estado reiniciar para activar la variable reinicio. Control PLC 42 4.3.2.2 Automático En este modo se programa la secuencia explicada previamente en lenguaje SFC para hacerlo más visual. Se ha incorporado una salida en todos los pasos para, en caso de pasar a modo manual en medio del programa, se vuelva a comenzar por el principio cuando se vuelva a activar este modo. Para ello se ha utilizado una variable “GVL.cambioestado_auto” que se hará falsa en el modo reinicio previo a este modo. Se puede observar que en este modo se hace falsa al inicio la variable “GVL.cambioestadio_rein” que tiene un funcionamiento análogo, pero para el modo reinicio. Figura 4.11: Programa principal 43 Modelado, simulación y control de un tanque con control de temperatura Figura 4.12: Programa automático Control PLC 44 Figura 4.13: Programa automático 45 Modelado, simulación y control de un tanque con control de temperatura 4.3.2.3 Reiniciar En este modo se programa la secuencia explicada previamente en lenguaje SFC. En la ¡Error! No se e ncuentra el origen de la referencia. se puede observar la salida en todos los pasos con el mismo fin que el explicado en el modo automático. Figura 4.14: Programa reiniciar Control PLC 46 4.3.2.4 Actuadores La particularidad de este modo es la llamada que hace al PID. Al tratarse de un bloque funcional, hay que incluir en la llamada las variables de entrada que este necesita. En este caso, como se observa en la Figura 4.155, se incluyen la temperatura de referencia, la temperatura actual y el reset. Además, la variable de salida del bloque funcional será la señal de control. 4.3.3 Resultados obtenidos Los resultados obtenidos al simular el sistema en modo automático son los mostrados en la Figura 4.16, en la que se puede observar que funciona según las especificaciones descritas. Figura 4.15: Módulo actuadores 47 Modelado, simulación y control de un tanque con control de temperatura En la ¡Error! No se encuentra el origen de la referencia.7 tal el Sistema se trabaja en modo manual durante l os primeros 100 segundos. Luego, antes de pasar a modo manual, pasa por el modo reinicio durante los siguientes 110 segundos aproximadamente. Se observa que en modo manual no importa el nivel de referencia ya que el control se hace desde el SCADA. Figura 4.16: Comportamiento del sistema en modo automático Figura 4.17: Comportamiento del sistema Control PLC 48 49 5 SCADA n este capítulo se describirá el SCADA diseñado con Vijeo Citect para los distintos sistemas estudiados anteriormente. Se mostrarán las distintas pantallas con las que se controlarán y supervisarán los procesos y los informes generados. 5.1 Guía SCADA Vijeo Citect es una solución HMI/SCADA para la supervisión y el control de aplicaciones industriales. El objetivo de esta guía es adquirir un buen conocimiento y capaz de utilizar este programa. Se hará especial hincapié en la creación de objetos dentro del editor gráfico y la generación de informes. Todo esto se combinará con la comunicación por OPC vista previamente. El programa se puede descargar desde la web de software informer (Citect, s.f.). Una vez hecha la instalación se ejecutará “Vijeo CitectScada Explorer”. Esto abrirá los tres programas con los que se trabajará. • Explorador de Citect: Para crear y gestionar los proyectos. Los otros dos programas se abren y cierran a partir de este. • Editor de proyectos de Citect: Para crear y manejar la base de datos de Vijeo Citect que contiene las informaciones de configuración del Proyecto. • Editor gráfico de Citect: Para crear y editar las páginas. • Además, incluye un Editor Cicode para crear y editar funciones Cicode. En el punto 5.1.1.4 se verá un ejemplo. Para desarrollar esta guía, se han utilizado las guías de uso de Schneider Electric (Schneider Electric, 2017) (Schneider Electric). 5.1.1 Editor gráfico En este apartado se hará una guía de cómo se crean todos los elementos que se utilizarán posteriormente para la pantalla de los distintos sistemas. 5.1.1.1 Luces Para la creación de luces que indiquen que una variable booleana está activa se utilizará el objeto “grupo de símbolos” que se configurará como se muestra en la Figura 5.1. E SCADA 56 56 diseñados como se ha indicado previamente. Figura 5.18: Informe periódico Figura 5.19: Registro de botones 57 REFERENCIAS Ávila Gutiérrez, M. (2020). Modelado y optimización de un sistema de captación. Citect. (s.f.). Obtenido de https://citectscada.software.informer.com/7.4/ Contaval. (24 de Mayo de 2017). Obtenido de https://www.contaval.es/regulacion-onoff/ FESTO. (s.f.). Obtenido de https://www.festo.com/net/esmx_mx/SupportPortal/default.aspx?q=codesys&tab=4&type=75#result Gil Ortega Linares, M. (s.f.). Apuntes de Fundamentos de Control. MATLAB. (s.f.). Obtenido de https://es.mathworks.com/products/opc.html Schneider Electric. (Febrero de 2017). Vijeo Citect User Guide. Obtenido de https://www.se.com/ww/resources/sites/SCHNEIDER_ELECTRIC/content/live/FAQS/235000/FA23 5001/en_US/PSE%207.4%20User%20Guide.pdf Schneider Electric. (s.f.). Vijeo Citect curso. Universitat de València. (s.f.). Obtenido de https://www.uv.es/idiqlab/labquimicos/documentos/balance%20energia.pdf Vijeo Citect. (s.f.). Curso Vijeo Citect para clientes.