Se han desarrollado cuatro simulaciones. La versi´on local es la que se utiliza cuando se est´a trabajando directamente con EJS y se ejecutan desde all´ı. El Matlab que utilizan puede ser local o remoto.
La primera simulaci´on (Fig.3) ha sido desarrollada por completo con EJS. En ´el se introducen las ecuaciones del modelo por lo que EJS se encarga tanto de la parte de simulaci´on como de la interfaz. En ning´un momento se utiliza Matlab ni Simulink. En esta simulaci´on se pretende probar distintos tipos de control (lazo abierto, On/Off, P, PI y PID) para controlar la temperatura de una sala de la
140 Raquel S´anchez D´ıaz, Eladio Sanz, and Bel´en P´erez-Lancho
Biblioteca de abraham Zacut. La variable controlada es la temperatura interior del recinto (el usuario puede fijar su valor de deseado), y la variable de control es el porcentaje de apertura de la v´alvula que deja entrar el aire caliente.
El usuario puede cambiar los valores de muchos par´ametros del modelo: tem- peratura y caudal del aire que entra, ocupaci´on, altura y acristalamiento de la sala, temperatura exterior (fijada manualmente o le´ıda de un fichero), y ver c´omo afectan a la temperatura de la sala, cuyo color variar´a en funci´on de su valor. adem´as puede variar tipo de control empleado y ajustar los par´ametros de los controladores. Todas estas caracter´ısticas hace de esta simulaci´on un buen ejemplo para la did´actica del control o la experimentaci´on durante la elecci´on y sintonizaci´on de un buen controlador para el sistema real.
Fig. 3. Primera simulaci´on.
En la segunda simulaci´on que construimos pretend´ıamos aprender a co- nectar EJS con Simulink, de manera que el modelo del proceso fuera un modelo Simulink y que EJS simplemente se encargara de mostrar la interfaz gr´afica y permitiera al usuario modificar algunos de los par´ametros. Se dispon´ıa ya del modelo Simulink, en lazo abierto, que se encarga de simular la temperatura de la misma sala. En este caso todos los par´ametros eran fijos (la temperatura exterior tambi´en se generaba en el propio diagrama de bloques como una onda sinusoidal modificada mediante un factor aleatorio). Para a˜nadir esa interacci´on del usuario con el modelo Simulink decidimos que ´este pudiera fijar desde la interfaz de EJS los valores de la temperatura y el caudal de aire impulsado.
Para el funcionamiento de esta simulaci´on es necesario conectar las variables que se utilizan en la interfaz de EJS con sus respectivas del modelo Simulink. En la Fig.4 se muestra c´omo se realiza esta conexi´on. al trabajar en local, con un Matlab instalado en el mismo ordenador, que es el que va a buscar EJS por defecto, s´olo es necesario especificar la ruta en la que se encuentra nuestro
Simulaciones con EJS y Matlab/Simulink 141 modelo Simulink. M´as adelante, cuando se utilice un Matlab remoto, veremos que esto cambia.
Fig. 4. Conexi´on de variables entre EJS y Simulink.
Una vez que conseguimos realizar correctamente las conexiones y que todo funcionara como deb´ıa, nuestro objetivo principal estaba cumplido, as´ı que deci- dimos dar el siguiente paso. No nos gustaban los valores que se iban obteniendo para la temperatura exterior porque se generaban de manera aleatoria y eso no nos serv´ıa para nada. as´ı que decidimos tomarlos de un fichero .mat con datos reales que previamente EJS manda cargar en el workspace de Matlab. De esta manera llegamos a la tercera simulaci´on.
Una vez solventados todos los problemas que se presentaban en las comuni- caciones entre EJS y Matlab decidimos crear una cuarta simulaci´on que nos permitiera validar el modelo Simulink. Es decir, ahora utilizamos los datos reales recogidos durante cuatro d´ıas para los par´ametros del modelo que var´ıan en la realidad, y mientras realizamos la simulaci´on vemos la diferencia entre la tem- peratura interior real que hay en la sala y la simulada. De esta manera podemos comprobar si nuestro modelo es adecuado y m´as o menos se ajusta a la realidad. El control, en la zona que nos interesa que es la de la habitaci´on, es en lazo abierto. No se realiza un control sobre la temperatura del aire impulsado, aunque previamente s´ı que se ha realizado control sobre la temperatura del agua que calienta ese aire.
En este desarrollo la unidad de tiempo es el minuto. Un paso de la simulaci´on de Matlab se corresponde con un minuto de tiempo transcurrido en la realidad. Es importante tener esto en cuenta a la hora de introducir los datos reales para que la validaci´on sea correcta. Todos los datos son muestreados cada treinta minutos.
142 Raquel S´anchez D´ıaz, Eladio Sanz, and Bel´en P´erez-Lancho
Trabajamos con cuatro variables de entrada. Es decir, nuestro fichero de da- tos .mat estar´a compuesto por cuatro variables que se cargar´an en el espacio de trabajo. Las cuatro son datos reales tomados cada media hora del sistema de climatizaci´on de la biblioteca: On/Off (encendido y apagado de la calde- ra/enfriadora), temperatura del aire impulsado por la UTA4 (temperatura del aire que entra en la sala), temperatura exterior y temperatura interior real (los valores se toman de un termopar colocado en la sala de la biblioteca que ha sido modelada). Esta ´ultima variable es la que se va a comparar con la simulada para validar el modelo.
La otra variable importante que representamos en esta simulaci´on es la tem- peratura interior simulada, que es la temperatura de la sala que se va obteniendo seg´un avanza la simulaci´on. Si el modelo es adecuado deber´ıa de ser muy pareci- da a la real. aqu´ı el usuario no puede interactuar con la simulaci´on. S´olo puede observar c´omo va evolucionando y con los resultados obtenidos determinar la validez del modelo. Si observamos las gr´aficas obtenidas (Fig.5) vemos c´omo la temperatura simulada se ajusta bastante bien a la real, por lo que podemos concluir que el modelo es suficientemente bueno.