Integración de Java / Matlab para el desarrollo de un Laboratorio ...

January 27, 2017 | Author: Anonymous | Category: Java
Share Embed


Short Description

El manejo de un recurso simulado junto con un formato de acceso basado en una red de comunicación, constituye un labora...

Description

Integración de Java / Matlab para el desarrollo de un Laboratorio Virtual Remoto Blas, María Julia – Loyarte, Ariel Sebastián Vega, Jorge (Director de proyecto) UTN – Fac. Regional Santa Fe [email protected][email protected]

Abstract Existen diferentes formas de clasificar los laboratorios orientados a la enseñanza. El manejo de un recurso simulado junto con un formato de acceso basado en una red de comunicación, constituye un laboratorio virtual y remoto (LVR). Este trabajo, describe la metodología de desarrollo que se llevó a cabo en la Facultad Regional Santa Fe-Universidad Tecnológica Nacional, con el objetivo de implementar un LVR cuya dinámica refleje la operación de una planta de control de niveles instalada en el Laboratorio de Sistemas de Control (LSC) de dicha institución. Expone las etapas involucradas en la construcción del modelo de simulación y explica el desarrollo de la aplicación cliente/servidor que trabaja como nexo entre el usuario y el modelo. Demuestra que es posible integrar Matlab/Simulink con Java; permitiendo que las corridas de simulación se ejecuten sobre la máquina servidora, mientras que el software que facilita la gestión de configuraciones de la simulación, lo haga sobre la máquina cliente. El acceso concurrente, la práctica a distancia de ensayos sobre la planta, y la interactividad; junto con un mecanismo de configuración simple e intuitivo, son algunas de las ventajas que tiene este LVR. Palabras Clave Laboratorio virtual y remoto. Modelado. Simulación. Desarrollo de software. Sistema de control de niveles.

1. Introducción La Ingeniería de Control desde sus orígenes se preocupó de la automatización y del control automático de sistemas complejos. Esta área, considera que un laboratorio es una herramienta indispensable dentro del proceso de aprendizaje [1]; ya que el alumno al interactuar con él, adquiere una serie de conocimientos que serían difíciles de asimilar mediante el empleo cualquier otro elemento. La

experimentación en este tipo de herramientas obliga a los alumnos a implicarse en el aprendizaje, haciendo que las mismas se conviertan en una parte esencial de la enseñanza [2, 3, 4]. No obstante, la realización de experimentos en los laboratorios de control tradicionales suele ser costosa en términos de recursos (tiempo, personal, energía, etc.); requiriendo además, la puesta a punto de las infraestructuras y la presencia física del docente junto con el alumno. Con el avance de las nuevas tecnologías de la información y la comunicación, el paradigma de la educación tradicional ha desarrollado numerosos esfuerzos por mejorar el proceso educativo. La disponibilidad y la capacidad de las nuevas facilidades en la comunicación, combinadas con el rápido desarrollo de las tecnologías Web y la implementación de modelos de simulación; permite al alumno evitar la asistencia a los laboratorios de control tradicionales, planteando como alternativa el uso de laboratorios virtuales y remotos (LVR) [5, 6]. La Reunión de Expertos en Laboratorios Virtuales (París, 2000), define al laboratorio virtual como “un espacio electrónico de trabajo concebido para la colaboración y experimentación con el objeto de investigar o realizar otras actividades creativas”. Expresa además, que un laboratorio remoto “es un sistema basado en la instrumentación de un laboratorio real o simulado, que permite realizar actividades prácticas de forma remota transfiriendo información entre el proceso y el usuario de manera bidireccional. Quien lo usa, controla los recursos disponibles en el laboratorio a través de las estaciones de trabajo de una red local o de Internet”. Puede decirse entonces que un LVR es aquél que permite, al ser accedido por medio de una red basada en el protocolo IP, manipular y observar la conducta de plantas de experimentación reales implementadas en un modelo de simulación (que es ocultado al usuario); dando como resultado el fenómeno simulado. Es por esto que al desarrollarse un laboratorio de control virtual y remoto (LCVR), surgen como

directrices dos áreas: simulación y desarrollo de software. La representación del modelo de simulación es clave, ya que refleja de forma directa la dinámica de la planta que posteriormente será utilizada por el usuario para realizar sus experimentos. Cualquier error en esta etapa, tendrá un impacto directo sobre el resultado del experimento obtenido en el LCVR. Sin embargo también es importante tener en cuenta que usuario no interactuará directamente contra el modelo; sino que deberá desarrollarse un aplicativo que funcione como nexo (modelo/usuario). Este software deberá ser intuitivo, interactivo y amigable; ya que en caso contrario puede que dificulte la manipulación de la planta dando como resultado una corrida de simulación errónea. Con objetivo de implementar diferentes tipos de laboratorios en el área de sistemas de control, la Universidad Tecnológica Nacional - Facultad Regional Santa Fe ha emprendido un Proyecto de Investigación y Desarrollo llamado “Laboratorios Virtuales y Reales con Acceso Local y Remoto Destinados a la Enseñanza y la Investigación en Automatización y Control”. En el marco de este proyecto se encuentra el presente trabajo; que detalla el desarrollo de un LCVR basado en un sistema de control de niveles disponible en el Laboratorio de Sistemas de Control (LSC) del Dpto. de Ingeniería Eléctrica de dicha regional. En las siguientes secciones, se da cuenta de la metodología de trabajo aplicada, describiéndose los aspectos básicos del modelo de simulación elaborado y las etapas del proceso de desarrollo de la aplicación que realiza el nexo del modelo con el usuario.

como al área de desarrollo de aplicaciones C/S; es importante destacar que se llevaron a cabo tareas particulares de cada una de estas áreas. La Figura N°1 esquematiza las diferentes actividades realizadas, indicando cuáles son sus dependencias y el área al cual corresponden. Cada actividad, se materializó como una etapa del proceso de desarrollo en la implementación del LCVR.

2. Elementos del Trabajo y Metodología Al desarrollar un LVR, una característica importante que debe tenerse en cuenta es la interactividad. Ésta es un aspecto fundamental al diseñar aplicaciones Cliente/Servidor (C/S), ya que junto con la calidad de respuesta del sistema, le permiten al usuario explorar diferentes configuraciones. No debe sorprender entonces, que la elección de las herramientas de trabajo fuese un punto crítico a evaluar durante el transcurso del proyecto. Este problema, se transformó en la meta de una de las etapas del proceso de desarrollo; la cual, una vez concretada, permitió avanzar con las fases de implementación. Debido a que la construcción de este tipo de laboratorios involucra tanto al área de simulación

Figura N° 1

2.1. Elección de herramientas La meta de esta etapa, consiste en lograr una elección de herramientas de trabajo acorde con las necesidades que plantea el desarrollo de un LVR. Se buscó aprovechar las capacidades innatas de los entornos de simulación y de desarrollo; sin perder de vista que la compatibilidad entre herramientas era fundamental. Esto último, se debe a que el

funcionamiento de la aplicación LVR requería que las herramientas hagan un intercambio de datos e información continuo. Las aplicaciones que componen la elección final son: Matlab/Simulink, Easy Java Simulations y Java Internet Matlab. 2.1.1. Matlab/Simulink Matlab/Simulink es una herramienta de simulación. Es un paquete de software clásico que proporciona facilidades para la construcción de modelos de forma gráfica mediante diagramas de bloques. Se eligió este software para desarrollar el modelo de simulación, debido a la facilidad con la que permite crear, modificar y configurar los diagramas. Como consecuencia, se decidió que la simulación también corra sobre esta aplicación, no sólo porque en ella se define el modelo, sino también porque se aspiró a aprovechar la ventaja que posee en cuanto a potencia de cálculo.

2.1.3. Java Internet Matlab (JIM) Java Internet Matlab (JIM), es un paquete escrito en Java orientado a extender las capacidades de EJS para manipular modelos Simulink. La extensión permite al desarrollador de EJS ejecutar la simulación sin la necesidad de contar con Matlab/Simulink en su equipo; ya que EJS establece un enlace de red con un equipo remoto, soportado por JIM, que sí posee Matlab/Simulink. Es decir, que JIM permite conectar una versión de Matlab remota con una aplicación EJS. La conexión Matlab-JIM se logra por medio de la librería JMatlink; mientras que la comunicación EJS-JIM es del tipo cliente/servidor y se resuelve por medio de sockets TCP/IP. Es importante destacar que JIM es una aplicación escrita en Java que se conecta con una versión de Matlab local, y no con la utilización de Matlab Web-Server. Este aplicativo constituye la última pieza de la construcción del LVR, ya que permite configurar el acceso por medio de una red IP al modelo de simulación.

2.1.2. Easy Java Simulations

2.2. Estudio de la planta Easy Java Simulations (EJS) es una herramienta de software gratuita diseñada para la creación de simulaciones interactivas en Java. Cada simulación se encuentra estructurada en dos partes, el modelo y la vista. En el modelo se describe el comportamiento del sistema mediante variables y código Java; mientras que la vista provee el aspecto gráfico o visual. Ambas partes se interconectan por medio de la evolución del estado del modelo. Posee un mecanismo propio para la descripción de sistemas y modelos dinámicos; pero también puede ser utilizado para manipular un modelo Simulink. En su versión 3.47 incorpora la comunicación con Matlab/Simulink mediante la librería JMatlink; lo que permite generar una aplicación Java que durante su ejecución se vincule directa o parcialmente con cómputos Matlab. Precisamente por esta última particularidad, EJS resulta altamente apropiado para la confección del LVR, puesto que permite disponer como punto de partida un modelo Simulink. Además, es una herramienta que provee una gran cantidad de elementos visuales parametrizables e interactivos, que permiten una rápida construcción de la interfaz requerida para el lado cliente del LVR.

2.2.1 Descripción de las instalaciones La planta se encuentra constituida por dos tanques interconectados desde sus partes inferiores, que cuentan además con sendos conductos de descarga individuales. Uno de ellos (TK1) presenta sección circular constante, mientras que el segundo (TK2) presenta una sección no uniforme. Esta última característica le atribuye al sistema la propiedad de variancia en el tiempo de uno de sus parámetros, incrementando el grado de complejidad. El agua de alimentación del sistema es acumulada en un tanque inferior (reservorio), donde es impulsada por una bomba centrífuga hacia uno de los tanques, a elección, según la ubicación seleccionada del conducto de carga. El caudal impulsado es regulado mediante el control sobre la frecuencia de la tensión de alimentación del motor eléctrico que acciona la bomba, a través de un equipo variador de frecuencia. La Figura Nº 2 representa un esquema simplificado de la instalación, en la que se brindan algunas de las dimensiones generales (en milímetros).

segunda señal analógica. Finalmente, es dicho equipo quien controla la velocidad, y con ello el caudal, de la bomba centrífuga conectada aguas abajo. El visor de vidrio transparente junto con una regla milimetrada LG 2 permite la observación local de la evolución del nivel en cada uno de los tanques. Un interruptor LSH 4 permite enviar una señal digital al variador de frecuencia para indicar la detención de la bomba, en el caso de rebalse, mediante un sensor final de carrera apropiado.

Figura N° 2 Se denota con qm1 y qm2 a los caudales de alimentación de los tanques TK1 y TK2, respectivamente, mientras que qs1 y qs2 son, a su vez, los caudales de descarga correspondientes. Por otro lado, qint es el caudal de interacción entre ambos. Los niveles del líquido, que constituyen las variables a determinar por el modelo (variables de salida), son h1 y h2, medidos desde las respectivas bases; mientras que x1 y x2 miden los niveles tomando como referencia los puntos de descarga a presión atmosférica de cada uno de los tanques (de relevancia puesto a su participación en la ecuación de Bernoulli utilizada para la determinación del modelo matemático). 2.2.2 Instalaciones complementarias Las mediciones y control de la planta se llevan a cabo mediante la utilización de un equipamiento complementario. La Figura Nº 3 corresponde al diagrama tipo P&ID realizado para uno de los tanques en estudio (más el correspondiente reservorio). En él se utiliza la nomenclatura y simbología estandarizada según la norma internacional ISA 5.1. El diagrama correspondiente para el otro de los tanques en estudio, es análogo. Los niveles son determinados a partir de sensores de nivel por presión, tales como el LT 5, que presenta una salida en corriente (rango 4 a 20 mA), que es tomada por una entrada analógica del PLC (Controlador Lógico Programable) YIC 1; más precisamente mediante un módulo de expansión con entradas / salidas analógicas. Este equipo puede controlar el variador de frecuencia FC 3 (en este caso, actuando como controlador de caudal), a través de una

Figura N° 3 El PLC es vinculado mediante una red ethernet a un router inalámbrico y, por medio de éste, es posible acceder al software de programación y supervisión del mismo PLC. A su vez, un programa desarrollado en LabView por el grupo de Control y Seguridad Industrial (CySE) de la facultad, permite mediante una interfaz de usuario sencilla, acceder al PLC y modificar la frecuencia pretendida para el equipo variador (regular el caudal), como así también observar las curvas de evolución de los niveles h1(t) y h2(t), y exportarlas para poder ser tratadas luego en cualquier otro software de cálculo.

Los ensayos con fines de la obtención del modelo matemático del sistema y validación del mismo, se realizan en el entorno de trabajo descrito. La información registrada es tratada convenientemente utilizando Matlab, para los cálculos pertinentes.

2.3. Modelado matemático 2.3.1 Modelo de la planta de tanques La obtención de las ecuaciones que modelan el comportamiento de la planta, se realiza mediante el planteo de un balance volumétrico en cada uno de los tanques. La Figura Nº 4 muestra el esquema básico para un tanque, donde qe es el caudal entrante de líquido; qs es el caudal saliente; h es el nivel de líquido en el tanque; y A el área de la sección transversal del mismo. El líquido acumulado en el interior resulta la diferencia entre el flujo entrante y el flujo saliente del tanque. Entonces, debe satisfacerse la Ec. (1), es decir:

A.

dh dt

 qe - qs

(1)

donde t es el tiempo. Mediante la utilización de la ecuación de continuidad y la ecuación de Bernoulli de la dinámica de fluidos, puede demostrarse que el caudal qs de salida del tanque tiene la forma:

qs  C . x

(2)

donde el parámetro C representa la resistencia hidráulica del conducto de salida del tanque, el cual contempla las pérdidas de carga. La medida x es el nivel del líquido medido respecto del punto P de descarga a presión atmosférica [ver Figura Nº 4]. Siendo href la distancia vertical entre P y la base del tanque, la Ec. (2) puede también expresarse como:

qs  C . h  href

(3)

Figura N° 4 La medición de href en la planta resulta en 18,0 [cm] y 21,3 [cm], para TK1 y TK2, respectivamente. Contemplando los vínculos entre tanques y la dirección de los flujos de líquido, a partir del uso de la función Signo, el sistema de ecuaciones diferenciales ordinarias buscado es el que se detalla en las Ecs. 4 y 5. A1 .

dx1 dt

 qm1  C1 . x1 

Cint .sgn  x1  x2  3, 3[cm]  . x10  x1 (0)

A2 i .

dx2 dt

x1  x2  3, 3[cm ] (4)

 qm2  C2 . x2 

Cint .sgn  x1  x2  3, 3[ cm]  . x2 0  x2 (0)

x1  x2  3, 3[cm] (5)

Se observa la intervención de las variables de nivel, medidos respecto de los puntos de descarga a presión atmosférica para cada uno de los tanques. El área de la sección transversal del TK2 se expresa en forma general como A2i , puesto a que representa una función definida por tramos. Los parámetros desconocidos son C1, C2 y Cint, representantes de las restricciones (oposición a la circulación del líquido) en los conductos de descarga de cada tanque y en el conducto de interacción, respectivamente.

2.3.2 Estimación de parámetros El estudio de las alternativas como metodologías de ensayo y cálculo, para estimar los parámetros desconocidos intervinientes en las Ecs. 4 y 5, fueron desarrollados en un trabajo previo (2010) en el marco del mismo proyecto de investigación inherente a laboratorios virtuales [7]. Las conclusiones se resumen en dos metodologías efectivas que logran un adecuado ajuste del modelo. En primer lugar, los parámetros C1 y C2 corresponden a los conductos de descarga individuales de cada tanque. Sin embargo, las diferencias en cuanto a los regímenes de flujo desarrollados entre los casos de tanques desacoplados y acoplados se evidencian en valores apropiados diferentes para caso. En definitiva, un valor estimado para C1 puede lograr un correcto ajuste para el modelo individual de TK1, mientras que en el caso de tanques acoplados, el uso del mismo valor para dicho parámetro introduce errores inaceptables, tal como se demuestra en [7] mediante el contraste entre mediciones sobre la planta real y simulaciones a partir de la implementación del modelo en Matlab/Simulink. Las mismas acotaciones son válidas para TK2 y el parámetro C2, representante de su descarga. Para condiciones de operación aislada de cada tanque, una metodología que resultó apropiada consistió en ensayos a caudales de alimentación constantes y medición de los niveles de estado estacionario para caso. Repitiendo el procedimiento n veces, se disponen de n puntos de una curva que sigue la ley de la Ec. 3. Luego, tomando dicha expresión como función base en un método de ajuste por mínimos cuadrados, puede hallarse el parámetro desconocido. Dicho procedimiento se realiza individualmente para cada tanque, permitiendo estimar C1 y C2 (sólo válidos para casos de tanques desacoplados). La validación de los modelos se realiza tras la implementación de los mismos en Matlab/Simulink, y el contraste de curvas obtenidas por simulación con mediciones sobre la planta real. Para la condición de tanques acoplados, las estimaciones descritas no son válidas. En este caso, una metodología que resultó efectiva corresponde a la aplicación de un algoritmo de optimización global, PSO (Optimización por Enjambre de Partículas). Para su aplicación, se implementó una serie de algoritmos y funciones en Matlab, consistentes en desarrollar un procedimiento iterativo que logra minimizar la media cuadrática de la distancia entre las alturas medidas

experimentalmente y las predicciones obtenidas mediante el modelo implementado en Simulink. 2.3.3 Modelado del sistema de alimentación Ensayos sobre el sistema demostraron que el caudal impulsado por la bomba centrífuga no es sólo dependiente de la frecuencia de la señal de alimentación eléctrica que recibe; sino que también es función del nivel de líquido en el tanque reservorio, puesto a la relación proporcional entre este último y la presión de admisión de la bomba. Como complejidad adicional, la planta no posee sensor de nivel sobre el tanque acumulador, con lo que éste debe ser determinado en forma indirecta. El procedimiento consiste en determinar curvas de nivel para el caudal Q = f(frec., Nivel Reservorio). Luego, en el modelo global del sistema, dicho caudal puede obtenerse a partir de una tabla de búsqueda de doble entrada, interpolando linealmente para puntos no coincidentes con los medidos. Para ello, se opera únicamente con TK1 (puesto a la simplicidad de una sección uniforme) con sus descargas cerradas. El tanque reservorio se carga a nivel alto (nivel que se registra) y se inyecta un caudal a frecuencia constante sobre el mismo TK1, dado por una determinada frecuencia convenida de ensayo, especificada en el variador, hasta que TK1 alcance su nivel máximo. El sensor correspondiente permite obtener la curva de evolución del nivel h1(t). En el proceso, TK1 incrementa su nivel, mientras que en el reservorio éste disminuye afectando al caudal, pese a mantener constante la frecuencia de alimentación de la bomba. Como consecuencia, h1(t) no es una recta, sino más bien una curva creciente con concavidad hacia abajo. Ésta puede aproximarse a un polinomio de segundo grado mediante la metodología de mínimos cuadrados, permitiendo eliminar el ruido propio de la medición y obtener una expresión factible de ser derivada. Siendo conocida el área de la sección transversal del tanque en ensayo, se plantea el producto entre la misma y la derivada del nivel, obteniéndose la variación temporal del volumen, es decir, el caudal. Finalmente, mediante un simple balance volumétrico, a través del volumen inicial registrado en el reservorio, es factible obtener la evolución en el tiempo del nivel en dicho tanque acumulador. Repitiendo suficientes veces dicho ensayo, para frecuencias diferentes, se puede encontrar un número apropiado de curvas de caudal en función del nivel en

el tanque reservorio; cada una de ellas para un valor constante de frecuencia. 2.3.4 Modelado de los sistemas de instrumentación Los sensores son modelados a partir de sus rangos (información brindada por el fabricante) y en consideración de su salida en corriente estandarizada (4 a 20 mA). De este modo, el usuario no sólo podrá observar las curvas de evolución de los niveles, sino también las corrientes emitidas por cada uno de los sensores, tal como lo observaría si tuviera acceso a las variables internas correspondientes del PLC (dispositivo que recibe dichas señales). Para lograr una sensación de mayor realismo, el modelo permite en forma opcional incorporar ruido a la medición, modelado a partir de una distribución normal con media y varianza configurables. Si bien el fabricante indica un tiempo de retardo máximo para sus sensores, éste, del orden de los milisegundos, es insignificante en consideración de la dinámica del sistema (constante de tiempo del orden de varios minutos). Por otro lado, con respecto al variador de frecuencia, en forma adicional al modelado descrito en el punto anterior, se agrega la posibilidad de configurar los parámetros de mínima y máxima frecuencia de trabajo permitida, expresadas en Hertz, tal como puede establecerse en el sistema real.

2.4. Implementación Matlab/Simulink

del

modelo

en

El modelo completo del sistema es implementado en Matlab/Simulink a partir de la metodología de programación por bloques característica de dicho entorno. El sistema es implementado como lazo cerrado de control, con acción P+I+D. En él es factible seleccionar cuál es el nivel a controlar y su valor deseado (Set Point), cuál es el tanque sobre el cual la bomba centrífuga inyecta el caudal impulsado, la sintonización del controlador, las restricciones en cuanto a rango de trabajo del variador de frecuencia, configuraciones de ruido de los sensores, volumen de líquido total de trabajo de la planta y condiciones de nivel iniciales. Puesto a que la finalidad última del laboratorio virtual consiste en la práctica por medio de PC en temáticas inherentes al control automático, el sistema incluye otras opciones de configuración. Entre ellas, la posibilidad de que el Set Point no permanezca

constante durante la simulación, sino que se comporte como una función escalón; incluye inclusive una opción de Set Point como doble salto escalón, pudiendo ser configuradas las amplitudes de los saltos y los tiempos de ocurrencia de los mismos. Estas opciones dan posibilidad de estudio del sistema de control en operatoria servo. Otras opciones incluyen la posibilidad de incorporar al sistema un caudal de perturbación, escogiendo el tanque sobre el cual se inyecta y tipo de función que lo representa (constante, escalón, o doble salto escalón). Estas posibilidades permiten el estudio del sistema de control en su operatoria como regulador. La aplicación combinada de un Set Point variable en el tiempo y de una perturbación, permiten el estudio de casos intermedios a los descritos. La posibilidad de utilización de un medidor ideal en contraste con un medidor que incluye ruido, permite analizar el comportamiento errático en el segundo caso, del efecto derivativo en el algoritmo de control. Por otro lado, se incluye la posibilidad de optar entre las formas posicional y de velocidad del controlador PID. La comparación entre sus formas de trabajo podrá ser evidenciada en casos de Set Points que presenten saltos (escalón), pudiendo el estudiante evaluar la conveniencia de un modo frente al otro. Por último, el modelo incluye una serie de algoritmos que permiten la identificación de fallas. Entre ellas, la incoherencia de valores cargados en los campos, previo a la simulación; rebalse de alguno de los tanques, indicándose de cuál de ellos se trata; y detección de la condición de trabajo en vació de la bomba, en función del nivel en el tanque reservorio y el punto de toma de agua de la misma. El modelo trabaja internamente con un código de fallas; de esta manera, ante la producción de alguna de ellas, detiene la simulación, arrojando el error en pantalla. Como variables de salida, el usuario podrá obtener las siguientes, tabuladas y graficadas en pantalla: niveles en cada uno de los tanques, corrientes propias de cada uno de los sensores, nivel del tanque reservorio, caudal manipulado, frecuencia manipulada, evolución temporal del Set Point, y evolución temporal del caudal de perturbación. El modelo global es implementado en un único archivo de Simulink, haciéndose uso de los callbacks, o funciones propias del modelo y ejecutadas en forma sincronizada con la simulación de éste. Estas últimas se programan en el lenguaje propio de Matlab.

2.5. Análisis de aplicación cliente

requerimientos

para

la

Luego de realizar el estudio del sistema de control de niveles del LSC, se identificaron aquellos requerimientos que deben ser configurados por el usuario en el laboratorio virtual. Por lógica, estos requisitos coinciden con las variables a setear en el modelo Simulink correspondiente a la planta. Con el objetivo de clasificar esta información, se la dividió en 5 (cinco) categorías principales; las que a su vez pueden contener subcategorías. En la Tabla N° 1 se detalla esta clasificación, indicando los datos de entrada que pertenecen a cada clase. CATEGORÍA

DATO Nivel a controlar

Tanques

Tanque a alimentar Nivel inicial tanque 1 Nivel inicial tanque 1 Tipo

Configuración Planta

Tiempo 1 Perturbación

Tiempo 2 Caudal 1 Caudal 2 Caudal 3

Extra Extra Configuración Medidor

Ruido

Volumen total agua Tipo Media Varianza

modelo Simulink correspondiente a la planta. Serán datos de salida (en función del tiempo de simulación), las siguientes variables: - Nivel del tanque a controlar. - Nivel del tanque no controlado. - Set Point. - Frecuencia del variador. - Caudal de alimentación. - Caudal de perturbación. - Nivel del reservorio.

2.6. Implementación de la aplicación Como se mencionó previamente, se utiliza EJS para desarrollar la aplicación cliente. El procedimiento para la conexión de un modelo Simulink con EJS es simple y se resume en cuatro pasos: 1234-

Seleccionar el modelo Simulink. Crear y conectar variables EJS con el modelo. Controlar la ejecución del modelo. Definir la vista y la interactividad con el usuario.

En esta etapa, por no tenerse aún el modelo de simulación verificado; sólo se llevaron a cabo los pasos 2 y 4. 2.6.1. Creación de variables EJS En la sección ‘modelo’ (dentro de EJS), se creó una ‘tabla de variables’ (Figura N° 5). En ella, se especificó el nombre, dimensión, tipo, y estado (si está o no conectada a una señal de un bloque Simulink) de cada variable de entrada requerida. Lo mismo se hizo para las variables de salida.

Tipo Configuración Controlador

Constante proporcional Tiempo derivativo Tipo Tiempo 1

Configuración Set Point

Tiempo 2 Nivel 1 Nivel 2 Nivel 3

Tabla N° 1: Clasificación de datos de entrada Por otro lado, también se identificaron aquellos requerimientos que deben ser visualizados por el usuario al finalizar la simulación. Estos requisitos, coinciden con las variables que deben ser leídas del

Figura N° 5

Vale la pena destacar que se creó una variable por cada uno de los datos de entrada y de salida identificados durante el análisis de requerimientos. 2.6.2. Definición de la vista Esta etapa consiste en la definición de la vista, y por tanto de la interactividad. Esto se debe a que los elementos visuales, están íntimamente relacionados con la capacidad interactiva de la simulación del laboratorio virtual. Utilizando los elementos gráficos proporcionados por EJS; se construyeron las diferentes interfaces de la aplicación cliente del LVR. Se optó por implementar interfaces de carga que (como en casi toda aplicación cliente) realicen verificaciones sencillas sobre los datos que ingresa el usuario antes de pasar a configurar el modelo Simulink. Esta estrategia tiene como ventaja que solo se va a establecer la conexión remota con Matlab cuando la aplicación EJS esté segura de que los datos ingresados son válidos. Se presentan a continuación 3 (tres) capturas de pantallas de la aplicación. En la Figura N° 5, se visualiza la pantalla principal del LVR, donde pueden observarse las opciones que tiene un usuario al trabajar con la aplicación. La Figura N° 6 contiene la pantalla de carga de datos para la configuración de la planta. Ésta ha sido realizada en base a la clasificación de la Tabla N° 1; pudiendo observarse que los datos que se solicitan son los correspondientes a dicha categoría y que se encuentran dispuestos en pantalla según sus subcategorías. Finalmente la Figura N° 8 presenta como ejemplo la visualización de un error.

Figura N° 6

Figura N° 7

Figura N° 8

2.7. Integración del modelo de simulación con la aplicación En esta etapa, se incorpora el modelo Simulink (ya verificado) a las interfaces realizadas en EJS. Además se configura el acceso remoto a la aplicación. 2.7.1. Conexión del modelo Simulink con la aplicación EJS Por cada variable que se requería conectada a una señal del modelo de simulación, en la ‘tabla de variables’ (creada en la etapa de implementación) se completó la celda estado. La conexión se logró simplemente por medio de un cuadro de dialogo que lista los bloques y parámetros disponibles del modelo. Existe también, otra forma de configurar las conexiones mediante el uso directo del modelo Simulink (abierto desde EJS). Para aumentar la interactividad del modelo de simulación al utilizarlo con EJS, se dejaron las variables que iban a ser controladas u observadas por el EJS como señales explícitas de entrada, valores de parámetros o salida de algún bloque del modelo.

2.7.2. Conexión Matlab-JIM-EJS Para extender las capacidades de conexión de la aplicación EJS y del modelo Simulink; y con el objetivo final de lograr el acceso remoto, se decidió utilizar el paquete JIM. Este paquete permite conectar un modelo Simulink remoto con una aplicación EJS. Como se visualiza en la Figura N° 9, el lado servidor está soportado por JIM mientras que EJS corresponde al lado cliente. De esta maneja, los cálculos se realizan en el servidor mientras que la máquina cliente solo ejecuta una aplicación EJS (Java). Una vez dado de alta el servidor JIM que funciona como nexo entre el modelo Simulink y la aplicación EJS previamente descripta, puede ser detenido en cualquier momento por el administrador del LVR. En el caso que se lo detenga, todos aquellos usuarios que estén conectados en ese momento realizando simulaciones, perderán la conexión y deberán reiniciarla.

Figura N° 9

2.8. Pruebas Actualmente se están realizando pruebas sobre el LVR para poder dar por finalizado el proceso de desarrollo.

3. Resultados Aunque aún no se han finalizado las pruebas sobre el LVR implementado, puede decirse que el resultado obtenido ha sido favorable. El LVR se desempeña correctamente en todos los casos probados hasta el momento; y no se han detectado inconvenientes en cuanto a la conexión EJS-Matlab. Al concluir este proceso de testeo local, se espera realizar una prueba de acceso concurrente de usuarios en el marco de la red interna del LSC (lugar en el que se encuentra situado el servidor JIM). Según los resultados que se obtengan, podría llegar a planificarse una prueba similar contemplando como ámbito la red interna de la FRSF-UTN.

A futuro, el LVR quedará liberado para ser accedido desde cualquier PC con conexión a Internet.

4. Conclusión Un laboratorio es un lugar de estudio y experimentación, en el cual se tiene la posibilidad de operar bajo distintas configuraciones. El concepto de laboratorio virtual y remoto indica que no sólo no es necesario estar físicamente dentro de la instalación, sino que tampoco se requiere que la misma sea tangible. En los últimos años, con el avance de las tecnologías de la información y de la comunicación, el desarrollo de este tipo de laboratorios ha tomado especial relevancia. Consecuentemente, han aparecido de una serie de herramientas que facilitan la construcción de este tipo de aplicaciones. La extensión incorporada a EJS permite desarrollar una aplicación que cuyo funcionamiento se encuentre parcial o totalmente condicionado a un modelo Simulink. Esto, junto con una conexión TCP/IP desde EJS hacia un servidor remoto JIM (que posea Matlab/Simulink); es la arquitectura propuesta en este trabajo. Mediante esta estructuración, se genera una distribución equitativa del procesamiento de la corrida de simulación teniendo en cuenta las particularidades que suelen tener las PC de los usuarios. No se requieren grandes capacidades de procesamiento en la máquina cliente (lado del usuario) ya que todos los cálculos de alta complejidad son ejecutados por Matlab/Simulink en la máquina servidora. Por otro lado, no solo se brinda la posibilidad de acceso concurrente al laboratorio; sino que además los usuarios no deben preocuparse por comprender el modelo Simulink, ya que ellos solo interactuarán contra la aplicación cliente en la cual simplemente configurarán el LVR.

5. Referencias [1] Feisel L.D., Rosa A.J. The Role of the Laboratory in Undergraduate Engineering Education. Journal of Engineering Education, 94, pp. 121-130, 2005. [2] I. Calvo, U. Gangoiti, y E. Zulueta, Laboratorios remotos y virtuales en enseñanzas técnicas y científicas, UPV - Dpto. Ingeniería de Sistemas y Automática, 2006. [3] G. Farias, F. Esquembre, y S. Dormido, Análisis, desarrollo y publicación de laboratorios virtuales y remotos

para la enseñanza de la automática, UNED - Dpto. de Informática y Automática, 2005. [4] Domínguez M., Reguera P. Fuertes J.J. Laboratorio Remoto para la Enseñanza de la Automática en la Universidad de León. Revista Iberoamericana de Automática e Informática Industrial, 2 (2), pp. 36-45, 2005. [5] M. J. Blas, y A. Loyarte, Laboratorio virtual con acceso local y remoto como simulación interactiva de un sistema real de control de niveles, VI Encuentro de jóvenes investigadores de universidades de Santa Fe, 2011. [6] G. Farias, F. Esquembre, y S. Dormido, Desarrollo de laboratorios virtuales, interactivos y remotos utilizando Easy Java Simulations y modelos Simulink, UNED - Dpto. de Informática y Automática, 2005. [7] A. Loyarte, G. Díaz, y J. Rosa, Modelado y parametrización de una planta para control de niveles, AADECA – Semana del Control Automático, 2010.

Datos de Contacto 1. María Julia Blas. Universidad Tecnológica Nacional, Facultad Regional Santa Fe. Lavaisse 610 - Santa Fe CP: 3000. [email protected]. 2. Ariel Sebastián Loyarte. Universidad Tecnológica Nacional, Facultad Regional Santa Fe. Lavaisse 610 Santa Fe - CP: 3000. [email protected].

View more...

Comments

Copyright © 2017 DATENPDF Inc.