Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

23
 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: . Se abrirá la ventana de restauración de proyectos de Vijeo: Fig. A.1: Ventana de restauración del proyecto. Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseña dos en MATLAB Pag.163

Transcript of Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

Page 1: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 1/23

 

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 “ç”). Enadelante 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: . Se abrirá la ventana derestauración de proyectos de Vijeo:

Fig. A.1: Ventana de restauración del proyecto.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.163

Page 2: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 2/23

 

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_ .

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).

Fig. A.2: Menú para abrir página.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.164

Page 3: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 3/23

 

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 trabajoseguido 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 salgade 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.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.165

Page 4: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 4/23

 

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.

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.

Fig. A.5: Menú (arriba) y ventana (abajo) para establecer la dirección IP del PLC.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.166

Page 5: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 5/23

 

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 deoperador. Primero vaya a la de variables.

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.

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

Fig. A.8: Pantalla de variables.

Fig. A.7: Explorador de proyectos.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.167

Page 6: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 6/23

 

“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” ( ) para poder marcar las

casillas.

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,

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 pantallade 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.9: Paneles de modos y alarmas.

Fig. A.10: Controles analógicos.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.168

Page 7: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 7/23

 

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 y revise las protecciones.

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.

Si la dirección es incorrecta cámbiela (pulsando en el botón ), guarde los

cambios ( ) y salga de la aplicación.

Abra el programa Vijeo Citect. En el explorador de citect compruebe que está

seleccionado el proyecto “Planta_”. En el menú Herramientas selecciones Importar 

Tags.

Fig. A.11: Configuración de OPC.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.169

Page 8: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 8/23

 

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.

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

Fig. A.13 y A.14: Selección de tipo de base de datos (izquierda) y progreso de la importación

Fig. A.12: Importación de variables.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.170

Page 9: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 9/23

 

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.

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.

Fig. A.15: Guía Gemma de la aplicación.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.171

Page 10: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 10/23

 

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.

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 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 laque se le pedirá un nombre para el archivo. Escriba el nombre y pulse aceptar. Se abrirá

Fig. A.16: Configuración de PIDs.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.172

Page 11: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 11/23

 

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.

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.

Cuando los controladores hayan sido configurados, pase a la página Mímico 2D.

Fig. A.19: Ventana de confirmación.

Fig. A.17 y A.18: Ventanas para guardar (arriba) y cargar (abajo) archivo.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.173

Page 12: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 12/23

 

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 semostrará.

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

Fig. A.20: Mímico 2D de la planta.

Fig. A.21: Paneles de selección de salida

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.174

Page 13: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 13/23

 

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 losindicadores 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 escribiendoun 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.

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 decaudal o de apertura de válvula. Todos estos indicadores amarillos están marcados como

Fig. A.22: Indicadores de válvulas, caudales y temperaturas.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.175

Page 14: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 14/23

 

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 deagua 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.

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 enla 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.

Fig. A.23: Panel de puesta en marcha.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.176

Page 15: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 15/23

 

La barra de herramientas superior cuenta con los siguientes botones:

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:

Tiempo total mostrado, desde 1 minuto hasta 13 semanas.

Bloquear eje de tiempo.

Moverse por el eje de tiempos y sincronizar.

Fig. A.25: Barra de herramientas inferior.

Fig. A.24: Barra de herramientas superior.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.177

Page 16: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 16/23

 

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 salidasdel 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 Descripción

BombaAlim Orden de marcha de la bomba de alimentación

BombaAlimConf Señal de confirmación de la bomba de alimentación

BombaRecir Orden de marcha de la bomba de recirculación

BombaRecirConf Señal de confirmación de la bomba de recirculación

CaudalCaliente Caudal del circuito de entrada de agua caliente

CaudalFrio Caudal del circuito de entrada de agua fría

CaudalSalida Caudal del circuito de salida de agua

CaudalRecir Caudal del circuito recirculación

  NivelDeposito Nivel de agua del interior del depósito de trabajo

PresionDeposito Presión del interior del depósito de trabajoResistencia Orden de marcha de la resistencia del depósito de trabajo

ResistenciaPWM Porcentaje de tiempo de encendido de la modulación PWM

ResTermo Orden de marcha de la resistencia del grupo caliente

ValvulaCaliente Apertura de la válvula del circuito de entrada de agua caliente

ValvulaFria Apertura de la válvula del circuito de entrada de agua fría

ValvulaRecir Apertura de la válvula del circuito de recirculación

TempCaliente Temperatura del circuito de entrada de agua caliente

TempFria Temperatura del circuito de entrada de agua fría

TempSalida Temperatura del circuito de salida de agua

TempRecir Temperatura del circuito de recirculaciónTempDeposito Temperatura del agua del interior del depósito

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.178

Page 17: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 17/23

 

AuxMat1

AuxMat2

AuxMat3

AuxMat4

AuxMat5

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.

RefCaudalCaliente Referencia de caudal de agua calienteRefCaudalFrio Referencia de caudal de agua fría

RefCaudalRecir Referencia de caudal de agua de recirculación

RefNivel Referencia de nivel de agua del depósito

RefRatio Porcentaje de agua caliente de entrada para el algoritmo de nivel

RefTemp 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 queremosdarle 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

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.179

Page 18: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 18/23

 

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.

Variable Tipo Significado

FT1 Sólo lectura Caudal de entrada de agua caliente

FT2 Sólo lectura Caudal de entrada de agua fría

FT3 Sólo lectura Caudal de agua de salida

FT4 Sólo lectura Caudal de agua de recirculación

LT1 Sólo lectura Nivel de agua del depósito

TT1 Sólo lectura Temperatura de agua caliente

TT2 Sólo lectura Temperatura de agua fría

TT3 Sólo lectura Temperatura de agua de salida

TT4 Sólo lectura Temperatura de agua de recirculación

TT5 Sólo lectura Temperatura de agua del depósito

V4 Lectura y escritura Válvula del circuito de agua caliente

V5 Lectura y escritura Válvula del circuito de agua fríaV8 Lectura y escritura Válvula del circuito de recirculación

PWM Lectura y escritura Porcentaje de tiempo de encendido de la PWM

PT1 Sólo lectura Presión del depósito

B1 Lectura y escritura Bomba de alimentación

B2 Lectura y escritura Bomba de recirculación

RES Lectura y escritura Resistencia del depósito

TERMO Lectura y escritura Resistencia del grupo caliente

AUX_A Lectura y escritura

AUX_B Lectura y escritura

AUX_C Lectura y escrituraAUX_D Lectura y escritura

AUX_E Lectura y escritura

Variables definidas por el usuario para comunicaciones

con Vijeo. Se corresponden con A, B, C, D y E en elmímico en 2D.

Fig. A.26: Esquema de la planta con las variables de MATLAB.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.180

Page 19: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 19/23

 

FC1 Lectura y escritura Referencia de caudal de agua caliente

FC2 Lectura y escritura Referencia de caudal de agua fría

FC4 Lectura y escritura Referencia de caudal de recirculación

LC1 Lectura y escritura Referencia de nivel

TC5 Lectura y escritura Referencia de temperatura del depósito

Ratio Lectura y escritura 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 puedeobservar 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

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.181

Page 20: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 20/23

 

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 deaproximadamente 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

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 seencuentra 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.

Fig. A.27: Interfaz gráfica de MATLAB.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.182

Page 21: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 21/23

 

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.

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. ParaPidCalientea. pv_inf : CCMIN

 b. pv_sup: CCMAX

Fig. A.28: Pantalla de variables derivadas de Unity Pro.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.183

Page 22: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 22/23

 

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 vanen 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 : CSMINd. 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)

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.184

Page 23: Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador

5/12/2018 Anejo+3%2FA3 Guia+Para+El+Usuario+Investigador - slidepdf.com

http://slidepdf.com/reader/full/anejo32fa3-guiaparaelusuarioinvestigador 23/23

 

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 valoresoriginales 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.

Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.185