Documentos de Académico
Documentos de Profesional
Documentos de Cultura
5-Interfaz Grafica de MATLAB PDF
5-Interfaz Grafica de MATLAB PDF
78
5.4 Programación............................................................................Pag. 84
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.79
Si bien las pantallas de Vijeo Citect son una herramienta adecuada para el
manejo de la planta por parte del usuario, no es por ello menos cierto que la
programación en Vijeo de un algoritmo de control es difícil y problemática. Por ello, se
ha añadido a la aplicación la posibilidad de programar los algoritmos de control en
MATLAB para su posterior ensayo en la planta.
C:\Archivos de programa\MATLAB\R2007a\toolbox\opc\opc7
C:\Archivos de programa\MATLAB\R2007a\toolbox\matlab\guide
C:\Archivos de programa\MATLAB\R2007a\toolbox\matlab\iofun
Para la conexión de MATLAB con OPC, deben haberse seguido los primeros 5
pasos indicados en la sección 4.1 (conexión con OPC). Por comodidad, también se
resumen aquí.
3º Abrir la aplicación OFS Configuration Tool y crear un nuevo alias (si es que no está
creado ya). En este proyecto el alias debe llamarse “Planta_”.
4º Comprobar (y en su caso rectificar) que las siguientes propiedades del alias Planta_:
¾ Device address: 84.3.54.82 (para el autómata) ó 127.0.0.1 (para el simulador)
7
Sustituir “C:\Archivos de programa\MATLAB\R2007a” por el directorio de instalación. Para la versión
7.4.0 de MATLAB, éste es el directorio de instalación por defecto.
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.80
¾ Symbol table file: El nombre del archivo al que se exportaron las variables en el
segundo paso.
¾ Preload settings: Device
¾ Consistency level: Debug
Guardar la configuración y salir.
No es necesario seguir con los otros pasos, ya que el acceso de MATLAB a las
variables del autómata no depende de la conexión entre OPC y Vijeo.
Una vez que las variables de Unity están exportadas a OPC, se deben importar
desde MATLAB. La aplicación creada en este proyecto puede hacer esto, pero se
detallan aquí los pasos a seguir para futuros proyectos.
1º Declarar una variable global por cada variable que se vaya a importar. Por ejemplo,
para importar la variable asociada a la válvula de recirculación creamos una variable
global llamada “ValvulaRecir”:
global ValvulaRecir;
Se deben declarar también como globales las variables de la conexión y del grupo de
trabajo que se vayan a usar:
global da grupo;
2º Definir una conexión con OPC y conectar. En general el identificador del servidor
de OPC es para Unity es “Schneider-Aut.OFS.2”. La conexión se hace así:
Si el identificador del servidor fuera otro, se podría conocer el nombre de éste así:
3º Crear un grupo de trabajo y definir las variables del mismo. Las variables del grupo
son estructuras en las que se guardan los valores de las variables importadas.
asociar a MATLAB las variables de entrada o salida del autómata, sino solamente
las marcas internas.
Para leer y escribir en estas variables, se usan las funciones read y write. Por
ejemplo, si se desea leer el valor de la válvula de recirculación, se ejecuta lo siguiente:
ValorLeido=read(ValvulaRecir);
ValorLeido será una estructura con los campos ItemID, Value, Quality,
TimeStamp y Error. El valor se almacena en Value. El instante de lectura se almacena
en TimeStamp (lo cual es útil si se desea historiar el tiempo de ejecución de un
algoritmo). Quality y Error indican la calidad de lectura y los errores producidos.
ItemID contiene el nombre de la variable original (con el prefijo de OPC y un signo de
exclamación). Así pues, en este ejemplo la apertura de la válvula de recirculación es:
V8=ValorLeido.Value;
write(ValvulaRecir, 30);
disconnect(da);
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 trabajo
Resistencia 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
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.82
Como ya se ha mencionado, se
ha creado una interfaz gráfica en
MATLAB para hacer más intuitiva la
labor del usuario. Esta interfaz consiste
en una ventana creada con el toolbox
GUIDE (GUI Design Environment) que
consta de varios casilleros que el
operario puede rellenar.
El tiempo indicado por el usuario debe ser suficientemente largo como para
realizar todas estas tareas. Si se cumple el tiempo de ciclo antes de terminar de ejecutar
un ciclo de control, el programa terminará de ejecutar este ciclo (como normalmente) y
empezará a ejecutar el siguiente inmediatamente después. El tiempo de retraso no se
acumula. Por ejemplo: si se ha impuesto un tiempo de ciclo de 3 segundos y el 2º ciclo
tarda 4 segundos en ejecutarse, entonces se impondrá un tiempo de ciclo de 2 segundos
(en lugar de 3) para el 3er ciclo. De esta manera los retrasos no se acumularán como
consecuencia de una duración de ciclo excesiva.
La aplicación creará una nueva hoja para el archivo especificado (de modo que
se puedan hacer varios ensayos consecutivos y guardar los resultados en el mismo
fichero. La cabecera de la nueva hoja tendrá el siguiente aspecto:
8
Si no se da la extensión del archivo, MATLAB tratará de abrir el archivo del mismo nombre sin
extensión. Si este archivo no existe, mostrará un mensaje de alerta (warning) e intentará abrir el archivo
con el mismo nombre y la extensión xls. Si por el contrario existe un archivo con el nombre
proporcionado por el usuario y sin extensión (y no es un archivo de Microsoft Excel), se abortará la
ejecución y aparecerá un mensaje de error, ya que no se puede abrir el archivo.
Programación y Supervisión de Planta Piloto Utilizada como Plataforma de Ensayo de Controladores Diseñados en MATLAB Pag.84
Puede observarse que se deja un espacio para el título del ensayo, y que se indica
la fecha y la hora a la que empezó. En esta hoja se incluirán periódicamente los valores
de las variables indicadas en las casillas de la parte inferior de la interfaz gráfica. Si el
número de muestras fuera demasiado alto como para llenar la hoja de Excel (el número
máximo de filas es 65536, que es el mayor valor alcanzable por un entero sin signo de
16 bits), se creará una hoja más, y se seguirá escribiendo en ella.
5.4 Programación
function Salida=probando(Entrada)
else
error('Entrada no válida');
end
else
end