A3-Guia para el usuario investigador

Anuncio
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Anejo 3: Guía para el usuario investigador
Instalación
Además del presente documento, el CD debe contener una carpeta con el
nombre “DirectorioDeTrabajo”, así como un archivo llamado “Planta_.ctz”. La carpeta
contiene los archivos de programación del autómata y las funciones de MATLAB. El
archivo Planta_.ctz es una copia comprimida de la aplicación SCADA. Para instalar la
aplicación creada en este proyecto, después de tener instalados Unity Pro, Vijeo Citect,
OPC y MATLAB, siga estos pasos.
1. Cree una nueva carpeta en la que instalar el programa. Por ejemplo “C:\Automata”.
Puede escoger cualquier ubicación para esta carpeta, pero la ruta completa no puede
contener espacios, tildes ni caracteres de ASCII extendido (como “ñ” o “ç”). En
adelante llamaremos a esta carpeta directorio de trabajo.
2. Copie el contenido de la carpeta DirectorioDeTrabajo al nuevo directorio de trabajo
que ha creado en el paso 1. Por ejemplo, si su disco está en la unidad D y su
directorio de trabajo es C:\Automata, entonces debe copiar todo el contenido de
D:\DirectorioDeTrabajo a C:\Automata. Copie el contenido de la carpeta, no la
carpeta en sí.
3. Inicie Vijeo Citect de la forma habitual. En la ventana Explorador de Citect, haga
clic en el botón restaurar, que tiene este aspecto:
restauración de proyectos de Vijeo:
. Se abrirá la ventana de
Fig. A.1: Ventana de restauración del proyecto.
Pag.163
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
En “Restaurar desde” haga clic en Examinar y seleccione el archivo Planta_ctz del
disco. Siguiendo el ejemplo anterior, puesto que el disco está en la unidad D, el
archivo de copia de seguridad es D:\Planta_.ctz. En “A” indique que se copia a un
Nuevo proyecto, y que el Nombre del mismo es Planta_. A continuación pulse
Aceptar.
4. En el Editor Gráfico de Vijeo Citect (la tercera ventana que se abre al iniciar Vijeo
Citect) abra el menú Archivo y seleccione Abrir. Utilizando el cuadro de diálogo
emergente, abra la página Configuración de PIDs del proyecto Planta_.
Fig. A.2: Menú para abrir página.
5. Haga clic con el botón derecho en cualquier parte de la página y seleccione
Propiedades de la página. En la ventana que aparecerá, pulse sobre la solapa
Eventos.
Fig. A.3: Propiedades de la página (ficha eventos).
Pag.164
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
En la parte derecha de la ventana podrá ver las siguientes dos líneas de texto:
Path_escritura="C:\";
Path_excel= "C:\Archivos de programa\Microsoft Office\Office11\EXCEL.EXE";
En la primera línea sustituya “C:\” por la ruta completa de su directorio de trabajo
seguido de \ParametrosPID\. Por ejemplo, si su directorio de trabajo era
C:\Automata, entonces la primera línea deberá quedar así:
Path_escritura="C:\Automata\ParametrosPID\";
Observe que la ruta está entre comillas, no hay espacios en blanco entre los
caracteres y la línea termina con el signo “;”.
La segunda línea deberá indicar la ubicación de Microsoft Excel. Si instaló el
paquete de Office en el directorio por defecto, entonces no debe hacer ningún
cambio en esta línea. Pulse Aceptar, guarde la página (Archivo -> Guardar) y salga
de Vijeo Citect. La instalación ha concluido.
Arranque y operación
En esta sección se explica cómo arrancar la aplicación. Se incluye la transmisión
y ejecución del programa del autómata, así como el manejo de la planta con el SCADA.
Arranque del programa y transmisión de variables
En primer lugar arranque Unity Pro, abra el menú Fichero -> Abrir y use el
cuadro de diálogo para abrir el archivo “programaautomata.stu” del directorio de
instalación. Si el programa se ha abierto recientemente, es posible que aparezca
directamente en el menú Fichero.
Fig. A.4: Apertura del programa de Unity.
Pag.165
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
A continuación, abra el menú PLC y seleccione “Establecer dirección”. La
dirección del PLC es (para la red del laboratorio) 84.3.54.82, y la del simulador,
127.0.0.1. Haga los cambios pertinentes y pulse Aceptar. Esto sólo es necesario en la
primera ejecución del programa o cuando se cambie la conexión de red.
Fig. A.5: Menú (arriba) y ventana (abajo) para establecer la dirección IP del PLC.
Debe elegir si conectará con el PLC o si solamente hará una
simulación usando los botones del menú. Entre estos dos botones, el de la
izquierda pasa al modo estándar (conectado al autómata real) y el de la derecha al modo
simulación. Compruebe que está pulsado el botón correcto y a continuación conéctese al
autómata (o al simulador). Para ello use estos otros botones: El izquierdo
conecta y el derecho desconecta. Una vez conectado, transfiera el proyecto al
autómata pulsando en el botón de transferir.
Fig. A.6: Menú de transferencia del proeycto.
Pag.166
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
En el cuadro de diálogo que aparecerá, pulse transferir. No marque la casilla
“Ejecución del PLC después de la transferencia”. Antes de ejecutar el programa, es
necesario transferir las variables y hacer algunos cambios en la pantalla de operador.
En el explorador de proyectos, haga doble clic en “Variables elementales” y en
“Entradas simulador”. Con esto se abrirán la pantalla de variables y la pantalla de
operador. Primero vaya a la de variables.
Fig. A.7: Explorador de proyectos.
Para cambiar de una pantalla a la otra, puede hacer clic en las solapas situadas en
la parte inferior de las mismas. En la ventana de variables (o editor de datos) haga clic
en “Comentario” para ordenar las variables por comentario. Seleccione todas las
variables cuyo comentario empiece por X_ o _Y_ (debe haber 129 con X_ y 2 con Y_).
Pulse con el botón derecho en esta selección y haga clic en exportación seleccionada.
Fig. A.8: Pantalla de variables.
Se le pedirá que escoja un nombre y una ubicación para el archivo al que se
exportan las variables. Guarde el archivo con formato XVM seleccionando en tipo
Pag.167
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
“Asignación de datos (*.XVM)”. Aunque no es necesario, se recomienda guardar el
archivo en el mismo directorio de trabajo en que se encuentra el programa de Unity.
Pase ahora a la pantalla de operador (“Entradas simulador”). El cuadro superior
izquierdo contiene una serie de casillas de verificación que gestionan las protecciones y
algunas opciones relativas al grupo caliente y al sensor de nivel.
Si ha seleccionado la modalidad estándar, marque la casilla “Modo estándar”,
o déjela desmarcada si ha seleccionado la modalidad simulación. Esto indica de dónde
se obtienen las entradas del autómata (de la planta o de la propia pantalla de operador).
Debe pulsar el botón “Habilitar variables de escritura” (
casillas.
) para poder marcar las
Para la ejecución del modo estándar,
debe marcar “Forzar TERMO” para indicar que
el grupo caliente es autorregulado. Si el sensor
de nivel no está conectado, marque también
“Sensor de Nivel en By Pass”. Si lo hace,
deberá seleccionar el nivel igual que se hace en
el modo simulación. Aunque no es necesario
(ya que las protecciones se gestionarán por sí
solas), se recomienda marcar también las otras
5 casillas para un arranque más seguro.
Si seleccionó la modalidad simulación,
marque todas las demás casillas. Las 5 primeras
sirven para simular el estado de las
protecciones. Mientras la casilla está marcada,
Fig. A.9: Paneles de modos y alarmas.
se ignorarán las alarmas correspondientes. La 6ª
casilla, Forzar TERMO, indica que el termostato se usa para regular el grupo caliente, y
que esta regulación ocurre de forma automática. Si no se marca se activará una alarma
cuando el termostato mande
una señal. La última casilla
(Sensor de Nivel en By Pass)
se marca para indicar al
autómata que no lea el nivel
real del autómata, sino que
tome los datos de la pantalla
de operación.
El resto de la pantalla
de operación consiste en una
serie de controles analógicos
con los que se puede simular
el
valor
de
cualquier
magnitud de la planta:
caudales, nivel, temperatura.
Si activa la casilla “Modo
estándar”, estos controles no
se podrán utilizar, pero si la
Fig. A.10: Controles analógicos.
Pag.168
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
deja desmarcada, sustituirán a los sensores.
Una vez marcadas las casillas correspondientes, pulse el botón ejecutar para que
la planta pase al estado inicial.
Si se detectara un fallo en las protecciones, la planta
pasará al estado de emergencia, y es posible que esto ponga en marcha las bombas antes
de que usted esté preparado. Si esto ocurriera, pulse el botón parar
protecciones.
y revise las
Importante: Si no marca la casilla “Modo estándar” estando la planta en modo
estándar, los sensores serán ignorados, y el programa estará “ciego” ante situaciones de
peligro. Recuerde marcar esta casilla siempre que vaya a trabajar con la planta.
Abra ahora OFS configuration tool, seleccione el alias “Planta_” y compruebe
que la dirección del dispositivo (Device address) es la correcta. La dirección debe ser
84.3.54.82 para el autómata real y 127.0.0.1 para el simulador.
Fig. A.11: Configuración de OPC.
Si la dirección es incorrecta cámbiela (pulsando en el botón
cambios ( ) y salga de la aplicación.
), guarde los
Abra el programa Vijeo Citect. En el explorador de citect compruebe que está
seleccionado el proyecto “Planta_”. En el menú Herramientas selecciones Importar
Tags.
Pag.169
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Fig. A.12: Importación de variables.
En la ventana emergente marque la casilla “Eliminar los tags de todos los
dispositivos de E/S antes de importar. En Tipo de base de datos, seleccione OPC, y haga
clic en Examinar. Seleccione el alias “Planta_”, y acepte, después haga clic en importar.
Si no hay ningún error en las comunicaciones, se importarán las 131 variables
marcadas con X_ e Y_ en el comentario de Unity.
Fig. A.13 y A.14: Selección de tipo de base de datos (izquierda) y progreso de la importación
A continuación abra el menú Archivo y seleccione “Ejecutar”.
Trabajo con la aplicación SCADA
Tras unos segundos aparecerá la pantalla de bienvenida. En el menú Pages
(páginas) que aparece en todas las páginas de la aplicación se puede seleccionar una u
otra página para pasar a ella. Abra el menú y pase a la página Guía Gemma.
Esta página contiene la Guía Gemma de la aplicación. En ella se puede escoger
el modo de funcionamiento. También deberá volver a esta página cuando se produzcan
fallos en las protecciones. Como puede observar la pantalla cuenta con 6 recuadros con
los nombres de los estados posibles. Al arrancar el programa debe estar marcado el
Pag.170
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
recuadro azul con la etiqueta “Parada en estado inicial”. Con las flechas de la página y
los botones situados en el lateral izquierdo de la misma se puede pasar a otros estados.
Fig. A.15: Guía Gemma de la aplicación.
Pasa a Parada en estado inicial.
Pasa a Modo manual
Pasa a Parada de configuración.
Las palancas cambian entre Parada de configuración y Ensayo en
marcha.
Desde cualquier ventana se puede pasar al
estado de emergencia pulsando en el botón de pánico, situado en la
esquina superior izquierda de todas las páginas. Esto detendrá la
planta incluso si está ejecutando un algoritmo de emergencia (para
enfriar el depósito o llenarlo de agua).
Por norma general, le interesará pasar al
estado “Parada de configuración” antes de hacer
nada más. En este estado se pueden configurar los
algoritmos internos del programa y configurar la
ejecución de controladores en MATLAB. Si va a
utilizar algún algoritmo propio de la aplicación,
pulse en el botón correspondiente del panel
inferior. Recuerde que si el sensor de Nivel está en
“by pass”, los algoritmos de control de nivel no
funcionarán correctamente, y su uso puede ser
peligroso.
Pag.171
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Una vez que haya pasado a Parada de configuración y seleccionado un algoritmo
(o ninguno) pase a la página Configuración de PIDs.
Fig. A.16: Configuración de PIDs.
Desde esta página puede configurar los parámetros de los controladores
utilizados en los algoritmos del programa. En el centro de la página se muestra un
esquema de la estructura de control seleccionada. Para modificar los parámetros de los
controladores debe pulsar sobre el interruptor situado en la esquina superior derecha
para ponerlo en la posición “enviar”. Después debe escoger la forma de interpretar los
controladores. Puede hacerlo como PID completo, como PID simplificado o como Red
de Avance de fase en paralelo con un integrador. Para escoger una vista u otra, haga clic
en la casilla de verificación correspondiente. Estas casillas se encuentran en el lado
izquierdo, debajo del botón de pánico. Aunque la última casilla indique que hay un PI
además de la red de avance, la realidad es que sólo se añade el término integral de ese
PI, ya que la red añade el término proporcional.
En la parte inferior de la página se encuentran los parámetros de los
controladores. Por comodidad, los parámetros se encuentran agrupados en paneles por
controlador y el color de cada panel correspondiente es el mismo que el del símbolo en
el esquema. Para cambiar el valor de un parámetro, haga clic en él, escriba el nuevo
valor y pulse ENTER. Las ganancias se encuentran en tanto por 1, mientras que los
tiempos se dan en segundos. Se admite una precisión de 0.01 para las ganancias y las
temperaturas, y de 0.001 para los tiempos y el parámetro D de la red.
Los valores aquí añadidos se pueden guardar en un fichero de Excel y cargarse
en una sesión posterior. Bajo el interruptor para enviar y recibir se encuentran dos
botones destinados a este fin. Al pulsar el botón Guardar, se abrirá una ventana en la
que se le pedirá un nombre para el archivo. Escriba el nombre y pulse aceptar. Se abrirá
Pag.172
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
el fichero en Excel, donde debe guardarlo y cerrarlo manualmente. Para cargar estos
valores en una sesión posterior, una vez que el interruptor esté en la posición “enviar”,
pulse cargar. Se abrirá una nueva ventana pidiendo el nombre del fichero. Puede
escribirlo o seleccionarlo de entre la lista de ficheros guardados. Cuando lo haya hecho
pulse Aceptar.
Fig. A.17 y A.18: Ventanas para guardar (arriba) y cargar (abajo) archivo.
Se abrirá el archivo en Microsoft Excel y se le pedirá que confirme si este
archivo es el correcto.
Pulse sí para cargar los datos.
Fig. A.19: Ventana de confirmación.
Cuando los controladores hayan sido configurados, pase a la página Mímico 2D.
Pag.173
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Fig. A.20: Mímico 2D de la planta.
Desde esta página se pueden controlar manualmente los actuadores o bien dar
permisos a MATLAB o a los algoritmos internos para controlarlos. Esta pantalla está
descrita con algo más de detalle en la sección 4.5 de la memoria (Mímico de la planta).
En la esquina inferior izquierda,
aparecerá un panel siempre que la planta se
encuentre en Parada de configuración o en
Ensayo en marcha. Las casillas de cada
línea indican qué aplicación tiene acceso a
cada controlador: El autómata con algún
algoritmo propio (AUTO), la misma página
de la aplicación SCADA (MAN) o
cualquier función de MATLAB que el
usuario programe (MAT). Si algún
actuador no puede utilizarse (por ejemplo la
resistencia del depósito porque el agua no
la cubra totalmente) su línea no se
Fig. A.21: Paneles de selección de salida
mostrará.
En el modo manual, el panel no aparece, ya que todos los actuadores se
controlan desde la página del SCADA. Tampoco se muestra durante en las paradas de
emergencia o en el estado inicial, en las que el usuario no puede influir sobre los
actuadores.
Las bombas y las resistencias se controlan con los botones situados
cerca de ellas. Los botones verdes situados bajo las bombas, las ponen en
marcha, y los botones azules las paran. La bomba aparecerá en el mismo
color que el botón pulsado. Los botones rojos ponen en marcha (o paran) las
resistencias del depósito y del grupo caliente. El botón amarillo con las letras
Pag.174
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
PWM activa o desactiva la modulación PWM de la resistencia del depósito. El tiempo
de encendido de la resistencia se puede regular desde la misma página. Hay
dos botones más en la página. Estos botones muestran u ocultan las variables
auxiliares de MATLAB y los controles analógicos.
En el lado derecho del depósito se pueden ver algunos de los
indicadores mostrados a la izquierda. Los indicadores TT5 y PT1
siempre están visibles, y muestran respectivamente la temperatura y la
presión del interior del depósito. Debajo de estos dos, siempre que la
modulación PWM de la resistencia esté activada (porque se haya
pulsado el botón amarillo antes indicado), podrá verse un tercer
indicador (TON) con el porcentaje de tiempo de encendido de la
resistencia. Dependiendo de si la resistencia está en AUTO, MAN o
MAT, y de si se ha activado la modulación PWM, puede mostrarse o no uno de los
indicadores amarillos (SP). Estos indicadores representan la referencia de temperatura
de agua o de tiempo de encendido de la resistencia. Puede modificar estas referencias en
cualquier momento (siempre que sean visibles) haciendo clic sobre ellas y escribiendo
un nuevo valor. Debe pulsar la tecla ENTER después de escribir el nuevo valor para
hacerlo efectivo. Puede modificar el valor de todos los indicadores con números en
amarillo de la misma manera: haciendo clic, escribiendo
el nuevo valor y pulsando ENTER. Al otro lado del
depósito puede ver los indicadores de nivel. El nivel del
depósito se representa numéricamente en LT1 y gráficamente
sobre el dibujo del depósito (la zona azul vista a través de la
mirilla llega más alto cuanto mayor es el nivel). Si ha
seleccionado algún algoritmo de control de nivel, podrá ver
también el “Set Point” para el nivel como un indicador
amarillo encima de LT1. Puede ajustar el valor de este indicador haciendo clic en él,
escribiendo el nuevo valor y pulsando ENTER.
También podrá encontrar varios indicadores sobre las válvulas. Los valores
marcados como TT1, TT2 y TT4, representan respectivamente las temperaturas del
agua de los circuitos de agua caliente, fría y de recirculación.
Fig. A.22: Indicadores de válvulas, caudales y temperaturas.
Los indicadores FT1, FT2 y FT4, marcan los caudales de agua de estos mismos
circuitos. La apertura de las válvulas puede verse en los indicadores V4, V5 y V8, para
las válvulas de agua caliente, fría y de recirculación respectivamente.
Dependiendo del algoritmo seleccionado y de si las válvulas están en AUTO,
MAN o MAT, aparecerá uno o ninguno de los indicadores amarillos de referencia de
caudal o de apertura de válvula. Todos estos indicadores amarillos están marcados como
Pag.175
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
SP (Set Point), y se sitúan siempre encima del indicador con el
valor real de la variable a la que hacen referencia. Por ejemplo, la
referencia de caudal de agua fría se sitúa encima del indicador de
caudal de agua fría. En el circuito de agua caliente sólo se
muestran el caudal (FF3) y la temperatura (TT3), ya que no hay
una válvula automática que pueda usarse para regular la salida de
agua del depósito. Para los algoritmos de control de
nivel del depósito, también aparecerá un indicador con la proporción de
agua caliente a la entrada del depósito. Según el algoritmo, este
indicador podrá ser modificado por el usuario (amarillo) o no (verde).
Por último, existen 5 variables más sin
ninguna utilidad determinada, pero que ofrecen la
posibilidad de comunicarse con MATLAB en
tiempo de ejecución. Estas variables pueden utilizarse, por ejemplo, como parámetros
de un controlador programado en MATLAB, o para conocer el valor de alguna variable
intermedia del mismo.
Cuando haya hecho configurado las variables pertinentes como AUTO, MAN o
MAT, puede ejecutar la interfaz gráfica de MATLAB (ver Control de la Planta
mediante MATLAB en este mismo anejo). Una vez que haya hecho los ajustes
necesarios en el bucle de control, pulse ejecutar y vuelva a esta pantalla.
Cuando todo esté listo, haga clic en la palanca para poner el ensayo en marcha.
Durante la marcha del ensayo, los indicadores amarillos siguen siendo susceptibles de
ser modificados.
Fig. A.23: Panel de puesta en marcha.
Para visualizar una gráfica de la evolución de las magnitudes más importantes de
la planta, pase a la página Gráficos de tendencias.
El lateral izquierdo del la página contiene los mismos indicadores que había en
la página anterior (el mímico en 2D). Puede hacer clic en cualquiera de ellos para ver su
descripción en el panel inferior de la página.
El centro de la página está ocupado por varios paneles con distintos gráficos.
Encima y debajo de los mismos se pueden encontrar sendas barras de herramientas con
las que cambiar la vista, la escala y las propiedades del panel.
Pag.176
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
La barra de herramientas superior cuenta con los siguientes botones:
Fig. A.24: Barra de herramientas superior.
Cargar y guardar vista. Se adjunta un archivo con la vista estándar.
Imprimir, copiar o exportar a Excel los gráficos de la vista actual.
Añadir o quitar líneas y paneles.
Cambiar ejes horizontal y vertical, o volver a la vista original.
Mostrar u ocultar el panel inferior con los nombres y escalas de las líneas.
Mostrar la ventana de propiedades del gráfico.
Sincronizar la pantalla con la recepción de datos.
Abre la ventana de ayuda sobre gráficos.
La barra de herramientas inferior por su parte cuenta con las siguientes opciones:
Fig. A.25: Barra de herramientas inferior.
Tiempo total mostrado, desde 1 minuto hasta 13 semanas.
Bloquear eje de tiempo.
Moverse por el eje de tiempos y sincronizar.
Pag.177
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Cambiar el zoom.
En el panel inferior se pueden cambiar individualmente las escalas entre las que
se representan las líneas. Haciendo clic sobre una línea se puede ver su escala en el
lateral izquierdo del panel correspondiente.
Aunque se puede exportar la gráfica a Excel, se recomienda utilizar la interfaz
gráfica de MATLAB para hacer esto, ya que con el botón de la barra de herramientas
sólo se exportan los datos de la zona visible.
Control de la Planta mediante MATLAB
Para la programación de controladores en MATLAB existen 2 posibles formas
de comunicarse con la planta: de forma manual o mediante la interfaz gráfica creada a
este efecto. La diferencia fundamental, es que en el segundo caso las entradas y salidas
del autómata se pueden interpretar como variables globales, mientras que en el primero
deben usarse las funciones read y write de MATLAB para leer y escribir en las mismas.
Método manual
Para conectar con OPC use la función conectar (sin argumentos de entrada ni de
salida). Esta función creará varias variables globales y las conectará con OPC. Las
variables creadas por esta función son:
Nombre
BombaAlim
BombaAlimConf
BombaRecir
BombaRecirConf
CaudalCaliente
CaudalFrio
CaudalSalida
CaudalRecir
NivelDeposito
PresionDeposito
Resistencia
ResistenciaPWM
ResTermo
ValvulaCaliente
ValvulaFria
ValvulaRecir
TempCaliente
TempFria
TempSalida
TempRecir
TempDeposito
Descripción
Orden de marcha de la bomba de alimentación
Señal de confirmación de la bomba de alimentación
Orden de marcha de la bomba de recirculación
Señal de confirmación de la bomba de recirculación
Caudal del circuito de entrada de agua caliente
Caudal del circuito de entrada de agua fría
Caudal del circuito de salida de agua
Caudal del circuito recirculación
Nivel de agua del interior del depósito de trabajo
Presión del interior del depósito de trabajo
Orden de marcha de la resistencia del depósito de trabajo
Porcentaje de tiempo de encendido de la modulación PWM
Orden de marcha de la resistencia del grupo caliente
Apertura de la válvula del circuito de entrada de agua caliente
Apertura de la válvula del circuito de entrada de agua fría
Apertura de la válvula del circuito de recirculación
Temperatura del circuito de entrada de agua caliente
Temperatura del circuito de entrada de agua fría
Temperatura del circuito de salida de agua
Temperatura del circuito de recirculación
Temperatura del agua del interior del depósito
Pag.178
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
AuxMat1
AuxMat2
AuxMat3
AuxMat4
AuxMat5
RefCaudalCaliente
RefCaudalFrio
RefCaudalRecir
RefNivel
RefRatio
RefTemp
Variables auxiliares de propósito general. Sus valores se muestran
en el mímico de Vijeo Citect, lo que permite al usuario cambiar
parámetros sin necesidad de reprogramar todo el algoritmo. En el
mímico de Vijeo aparecen como A, B, C, D y E.
Referencia de caudal de agua caliente
Referencia de caudal de agua fría
Referencia de caudal de agua de recirculación
Referencia de nivel de agua del depósito
Porcentaje de agua caliente de entrada para el algoritmo de nivel
Referencia de temperatura del agua del depósito
Las variables de lectura y escritura están subrayadas. Las otras, son de sólo
lectura.
Cualquier función que vaya a utilizar estas variables (aparte de read y write)
debe tener una cabecera en la que se declaren. Por ejemplo, si se llama a una función
que utiliza la válvula de recirculación y el caudal de recirculación (y ninguna más), la
función debe empezar así:
function [VariablesDeEntrada]=NombreDeLaFuncion(VariablesDeSalida)
global ValvulaRecir CaudalRecir;
Para escribir en una variable (suponiendo que no es de sólo lectura), se debe usar
la función write. La función tiene dos argumentos: el primero es la variable en la que se
va a escribir, y el segundo es el valor que se le quiere dar. Por ejemplo, si queremos
darle a la válvula de recirculación una apertura del 50%, llamamos a la función write
así:
write(ValvulaRecir, 50);
Para leer el estad de una variable, se usa la función read. Esta función sólo tiene
un parámetro de entrada, la variable que se pretende leer, y devuelve una estructura:
estructura=read(CaudalRecir);
La estructura contiene varios campos, pero en general sólo interesa el valor
devuelto:
FF4=estructura.Value; %FF4 es ahora el valor del caudal de recirculación.
Cuando haya terminado de usar las variables, llame a la función desconectar
para cerrar la conexión y eliminar todas las variables globales creadas.
Programación para la interfaz gráfica
Pag.179
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
La interfaz gráfica de MATLAB contiene un programa creado para eliminar la
necesidad de llamar a write y read. En lugar de esto, determinadas variables se asocian
directamente a los sensores y actuadores.
Fig. A.26: Esquema de la planta con las variables de MATLAB.
Variable
FT1
FT2
FT3
FT4
LT1
TT1
TT2
TT3
TT4
TT5
V4
V5
V8
PWM
PT1
B1
B2
RES
TERMO
AUX_A
AUX_B
AUX_C
AUX_D
AUX_E
Tipo
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Sólo lectura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Sólo lectura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Significado
Caudal de entrada de agua caliente
Caudal de entrada de agua fría
Caudal de agua de salida
Caudal de agua de recirculación
Nivel de agua del depósito
Temperatura de agua caliente
Temperatura de agua fría
Temperatura de agua de salida
Temperatura de agua de recirculación
Temperatura de agua del depósito
Válvula del circuito de agua caliente
Válvula del circuito de agua fría
Válvula del circuito de recirculación
Porcentaje de tiempo de encendido de la PWM
Presión del depósito
Bomba de alimentación
Bomba de recirculación
Resistencia del depósito
Resistencia del grupo caliente
Variables definidas por el usuario para comunicaciones
con Vijeo. Se corresponden con A, B, C, D y E en el
mímico en 2D.
Pag.180
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
FC1
FC2
FC4
LC1
TC5
Ratio
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Lectura y escritura
Referencia de caudal de agua caliente
Referencia de caudal de agua fría
Referencia de caudal de recirculación
Referencia de nivel
Referencia de temperatura del depósito
Referencia de proporción de agua caliente (porcentaje)
Para conocer el valor de un sensor, basta leer su variable asociada, y para dar la
orden a un actuador, sólo hay que escribir en su variable el nuevo valor. Siguiendo el
ejemplo anterior, para abrir la válvula de recirculación al 50%, basta indicar ejecutar
V8=50, y el valor del caudal de recirculación está directamente almacenado en FF4.
Además, la propia interfaz gráfica llamará periódicamente al algoritmo de
control, de modo que no es necesario incluir un bucle en el controlador. De hecho,
puesto que MATLAB es considerablemente lento, se recomienda no usar ningún ciclo
de duración indeterminada (como while o similares). Así pues para usar la interfaz
gráfica, debe crear una función de control que se ejecutará cada cierto tiempo y que
controlará la planta con las variables antes expuestas.
En la primera ejecución de la función (el ciclo de inicialización) la función
recibirá como entrada la cadena de caracteres ‘inicio’. En cada llamada a la función, a
partir de la segunda, se le dará como parámetro de entrada aquel que hubiera devuelto
como salida en la ejecución anterior. Es decir la salida del ciclo n será la entrada del
ciclo n+1. De esta manera puede almacenar valores de un ciclo al siguiente. Otra forma
de hacer esto es crear más variables globales que sólo la función de control pueda
utilizar (al ser globales, su valor permanece intacto cuando la función termina).
Por lo tanto, la función de control debe:
1. Declarar las variables globales que vaya a utilizar
2. Comprobar si la entrada es la cadena de caracteres ‘inicio’
a. Si sí lo es, llevar a cabo la inicialización oportuna
b. Si no lo es, ejecutar un paso del algoritmo
3. Devolver una variable como salida (que se recibirá como entrada en el próximo
ciclo.
Se adjunta una plantilla (arvhivo plantilla.m) en el directorio de trabajo para
facilitar la creación de funciones de control.
Interfaz gráfica
Para lanzar la interfaz gráfica, ejecute control_planta desde la pantalla de
comando. Se conectará con OPC, se crearán todas las variables globales (incluidas
también las del modo manual) y se abrirá la ventana mostrada a la derecha. Como puede
observar la ventana contiene varios campos para rellenar.
El primer campo pide el nombre de la función de control. Se llamará
periódicamente a esta función durante la ejecución del programa. La función debe
cumplir las características que se indican en Programación para la interfaz gráfica. El
segundo campo controla el periodo con el que se llama a la función. En este cuadro
Pag.181
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
debe escribir el número de segundos
que hay desde el inicio de un ciclo hasta
el inicio del siguiente. Recuerde que
debe dar tiempo suficiente a MATLAB
para ejecutar su función y comunicarse
con OPC. El tiempo debe ser de
aproximadamente 1.5 segundos más que
lo se tarda en ejecutar la función de
control
(se
permiten
tiempos
fraccionarios). En el tercer campo se
debe introducir el número de ciclos de
control que durar el experimento. Se
puede dejar en 0 para ignorar este
parámetro. En cualquier caso, la
ejecución se detiene cuando se sale del
estado de Ensayo en marcha.
Si quiere guardar los resultados
en un archivo de Excel, indique en
“Archivo de Excel” el nombre del
archivo en el que se guardarán los
resultados. El archivo debe existir con
anterioridad. MATLAB añadirá una
página y escribirá los resultados en ella.
Puede hacer varias simulaciones
consecutivas con el mismo archivo y los
resultados de cada una se guardarán en
Fig. A.27: Interfaz gráfica de MATLAB.
una página separada. MATLAB le dejará
un espacio en la celda C1 para ponerle nombre al ensayo.
En el campo inferior, debe escoger el número de ciclos que tardará el programa
en enviar datos al histórico. Por ejemplo, si este número es 1, se escribirá una nueva fila
de la hoja tras cada ejecución del programa; si es 2, cada 2 ejecuciones etc. Entre las
casillas de verificación de la zona inferior de la ventana, marque aquellas cuyas
variables quiere historiar.
Cuando todo esté listo, pulse ejecutar. Si la planta se encuentra en Parada de
configuración, MATLAB esperará a que cambie al estado Ensayo en marcha. Si ya se
encuentra en este estado, empezará a ejecutar el algoritmo. Cuando se vuelva a parada
de configuración (o a cualquier otro estado), la ejecución del programa se detiene. En
cualquier caso, si se pasa a un estado distinto de Parada de configuración y de Ensayo
en marcha, la ejecución será abortada y aparecerá un mensaje de error.
Para cerrar la interfaz gráfica, pulse el botón salir. Al hacerlo la conexión con
OPC se cerrará y las variables globales se eliminarán. Si cierra la ventana sin pulsar el
botón salir, la conexión se quedará en el modo manual, y será posible controlar la planta
desde MATLAB con el método manual. En este caso, ejecute la función desconectar
cuando termine.
Pag.182
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Calibración de sensores
En la calibración utilizada para los sensores, se ha asumido que no ha habido
cambios desde el la realización del proyecto anterior. Si se modifican los sensores,
será necesario reajustar la calibración de los mismos como se describe a
continuación.
Tras instalar físicamente los nuevos sensores abra Unity Pro y abra el archivo
“programaautomata.stu” tal como haría al arrancar la aplicación. En el explorador de
proyectos haga doble clic en Variables derivadas.
Fig. A.28: Pantalla de variables derivadas de Unity Pro.
Comprobará que en la pantalla que se abre, las variables tienen un signo +
situado a la izquierda de su nombre. Esto se debe a que son estructuras compuestas por
varias variables. Puede hacer clic en estos signos + para visualizar y modificar las
variables internas de estas estructuras. En concreto, se deben cambiar los valores de las
variables de escalado y de los parámetros de PIDs tal como se muestran a continuación.
Para cada sensor, modifique las variables que se indican escribiendo el valor
indicado en la columna Valor. Recuerde que estos valores son flotantes, y que debe
indicar al menos 1 decimal.
Después de hacer todas las modificaciones oportunas, pulse el botón regenerar
(
) de la barra de menús.
Caudalímetro del circuito de agua caliente
Llamaremos CCMIN al valor mínimo que el caudalímetro puede medir
(típicamente 0.0), y CCMAX al máximo valor que puede medir. CCMIN y CCMAX
van en litros por minuto, y sus valores originales son respectivamente 0.0 y 20.0.
1. ParaScCaudalCaliente
a. out_min: CCMIN
b. out_max: CCMAX
2. ParaPidCaliente
a. pv_inf: CCMIN
b. pv_sup: CCMAX
Pag.183
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Caudalímetro del circuito de agua fría
Llamaremos CFMIN al valor mínimo que el caudalímetro puede medir
(típicamente 0.0), y CFMAX al máximo valor que puede medir. CFMIN y CFMAX van
en litros por minuto, y sus valores originales son respectivamente 0.0 y 16.5.
1. ParaScCaudalFrio
a. out_min: CFMIN
b. out_max: CFMAX
2. ParaPidFrio
a. pv_inf: CFMIN
b. pv_sup: CFMAX
Caudalímetro del circuito de agua de salida
Llamaremos CSMIN al valor mínimo que el caudalímetro puede medir
(típicamente 0.0), y CSMAX al máximo valor que puede medir. CSMIN y CSMAX van
en litros por minuto, y sus valores originales son respectivamente 0.0 y 19.8.
1. ParaScCaudalSalida
a. out_min: CSMIN
b. out_max: CSMAX
2. ParaPidNivel
c. ff_inf: CSMIN
d. ff_sup: CSMAX
e. otff_inf: CSMIN
f. otff_sup: CSMAX
Caudalímetro del circuito de agua de recirculación
Llamaremos CRMIN al valor mínimo que el caudalímetro puede medir
(típicamente 0.0), y CRMAX al máximo valor que puede medir. CRMIN y CRMAX
van en litros por minuto, y sus valores originales son respectivamente 0.0 y 10.6.
1. ParaScCaudalRecir
a. out_min: CRMIN
b. out_max: CRMAX
2. ParaPidRecir
c. pv_inf: CRMIN
d. pv_sup: CRMAX
3. ParaPidTempRecirculacion
a. out_inf: CRMIN
b. out_sup: CRMAX
c. out_min: CRMIN
d. out_max: CRMAX
e. outrate: CRMAX – CRMIN (la diferencia entre los dos)
Pag.184
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB
Sensor de nivel
Llamaremos NMIN al valor mínimo que el caudalímetro puede medir, y NMAX
al máximo valor que puede medir. NMIN y NMAX van en centímetros, y sus valores
originales son respectivamente 10.0 y 90.0. El nuevo sensor deberá contener todo el
rango de 10 a 90 centímetros.
1. ParaScNivel
a. out_min: NMIN
b. out_max: NMAX
2. ParaPidNivel
a. pv_inf: NMIN
b. pv_sup: NMAX
Sensor de presión
Llamaremos PMIN al valor mínimo que el caudalímetro puede medir y PMAX
al máximo valor que puede medir. PMIN y PMAX van en grados Celsius, y sus valores
originales son respectivamente 0.0 y 5.0.
1. ParaScNivel
a. out_min: PMIN
b. out_max: PMAX
Sensores de temperatura
No es necesario cambiar ninguna variable al cambiar los termopares. Basta con
que sigan siendo del tipo J.
Pag.185
Descargar