Conectividad de EJS con Matlab/Simulink y otras...

34
Conectividad de EJS con Matlab/Simulink y otras herramientas Madrid, Marzo 2010 Gonzalo Farias Departamento de Informática y Automática Universidad Nacional de Educación a Distancia (UNED) Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS

Transcript of Conectividad de EJS con Matlab/Simulink y otras...

Conectividad de EJS con Matlab/Simulinky otras herramientas

Madrid, Marzo 2010

Gonzalo Farias

Departamento de Informática y AutomáticaUniversidad Nacional de Educación a Distancia (UNED)

Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS • Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

2/33Contenidos

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS • Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

3/33Contenidos

Una típica simulacion de ingeniería

Bajo nivel de interactividad y visualización

4/33Introducción

Una simulación interactiva

Alto nivel de interactividad y visualización

5/33Introducción

Creando una GUI con Matlab

Problema: Es difícil crear y reutilizar la GUI!

6/33Introducción

Solución:

1. Usar software de ingeniería para crear la simulaciónde ingeniería.

2. Usar un lenguaje dedicado o herramientas de autorpara crear la GUI interactiva.

7/33Introducción

Interfaz HumanaSimulación de Ingeniería

Protocolo deComunicación

Enfoque de Interoperación (1/3)

El Enfoque de Interoperación es una metodología uniformey efectiva para crear simulaciones de ingenieríainteractivas manipulando el software de ingeniería desdeuna interfaz humana interactiva.

8/33Introducción

Enfoque de Interoperación (2/3)

API del Protocolo de Comunicación

9/33Introducción

Protocolo de bajo nivel

Protocolo de alto nivel ProtocoloRemoto

10/33Introducción

Enfoque de Interoperación (3/3)

La GUI puede reutilizarse para otras simulaciones

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS • Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

11/33Contenidos

• Protocolo de interoperación de bajo nivel

Salida

12/33API de interoperación ExternalApp

• Protocolo de interoperación de alto nivel

Salida

13/33API de interoperación ExternalApp

14/33API de interoperación ExternalApp

• Protocolo de interoperación remoto: servidor JIM

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS• Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

15/33Contenidos

16/33Librería ExternalApp en EJS

Demo: Usando la librería ExternalApp.jar desde EJS

• Taller 1 (1/5): Dibujando una señal – motor EJS

17/33Librería ExternalApp en EJS

Variables

Evolución

• Taller 1 (2/5): Dibujando una señal – motor EJS

18/33Librería ExternalApp en EJS

Vista

Simulación

• Taller 1 (3/5): Dibujando una señal – motor EJS

19/33Librería ExternalApp en EJS

Elementos Vista

• Taller 1 (4/5): Dibujando una señal – motor Matlab

20/33Librería ExternalApp en EJS

LibreríaVariables

Elemento Vista

• Taller 1 (5/5): Dibujando una señal – motor Matlab

21/33Librería ExternalApp en EJS

Inicialización y Evolución

Simulación

• Taller 2 (1/3): Pelota que rebota – Motor EJS

22/33Librería ExternalApp en EJS

Simulación en EJS

• Taller 2 (2/3): Pelota que rebota – Motor Simulink

23/33Librería ExternalApp en EJS

Inicialización

Evolución

• Taller 2 (3/3): Pelota que rebota – Motor Simulink

24/33Librería ExternalApp en EJS

Elemento Vista

25/33Librería ExternalApp en EJS

Demo: Utilizando el servidor JIM

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS • Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

26/33Contenidos

• Configurando el Elemento ExternalApp

27/33Elemento ExternalApp en EJS

• Taller 3 (1/3): Dibujando una señal con Elemento

28/33Elemento ExternalApp en EJS

Configurar Matlab

• Taller 3 (2/3): Dibujando una señal con Elemento

29/33Elemento ExternalApp en EJS

Configurar y Enlazar Variables Matlab

• Taller 3 (3/3): Pelota que rebota con Elemento

30/33Elemento ExternalApp en EJS

Configurar y Enlazar Variables Simulink

1. Introducción• Motivación• Enfoque de interoperación

2. API de interoperación ExternalApp• Protocolo de Interoperación de bajo nivel• Protocolo de interoperación de alto nivel• Protocolo de interoperación remoto: Servidor JIM

3. Librería ExternalApp en EJS • Usando la librería ExternalApp.jar desde EJS• Taller 1: Utilizando Matlab• Taller 2: Utilizando Simulink• Utilizando el servidor JIM

4. Elemento ExternalApp en EJS• Configurando el elemento ExternalApp• Taller 3: Utilizando el elemento ExternalApp

5. Conclusiones

31/33Contenidos

• El enfoque de interoperación divide el desarrollo de unasimulación interactiva de ingeniería en dos partes, lainterfaz interactica y la simulación de ingeniería.

• Se ha descrito un protocolo de comunicación para conectarambas partes de la simulación.

• La librería ExternalApp presenta una implementación parael protocolo de comunicación.

• El elemento ExternalApp puede ser utilizado con facilidaddesde EJS para construir simulaciones interactivas.

32/33Conclusiones

• G. Farias, S. Dormido, F. Esquembre (2011) Interactive Human Interfaces with Engineering Software , Proceedings of the 18th IFACWorld Congress 2011, accepted, Milan, Italy.

• E. Fábregas, G. Farias, S. Dormido-Canto, S. Dormido, F. Esquembre (2011) Developing a remotelaboratory for engineering education, Computer & Education, ISSN 0360-1315, (accepted).

• Farias G., De Keyser R., Dormido S., Esquembre F. (2010) Developing Networked Control Labs: AMatlab and Easy Java Simulations Approach, IEEE Transactions on Industrial Electronics, ISSN 0278-0046, Vol. 57, No. 10, pp. 3266-3275.

• G. Farias, R. De Keyser, S. Dormido, F. Esquembre (2009) Building Remote Labs Using Easy JavaSimulation and Matlab, The European Control Conference 2009, August 23-26, 2009, ISBN: 978-963-311- 369-1, Budapest, Hungary.

• Farias G., Arzen K., Cervin A., Dormido S., Esquembre F. (2010) Teaching Embedded ControlSystems The International Journal of Engineering Education, ISSN 0949-149X, Vol. 26, No. 4, pp.938-949.

• G. Farias, F. Esquembre, J. Sánchez, S. Dormido, H. Vargas, S. Dormido-Canto, R. Dormido, N. Duro(2006) Laboratorios Virtuales Remotos Usando Easy Java Simulations y Simulink, Jornadas deAutomática. Almería, España.

• G. Farias, F. Esquembre, J. Sánchez, S. Dormido, H. Vargas, S. Dormido-Canto, R. Dormido, N. Duro(2006) Desarrollo de laboratorios virtuales, interactivos y remotos utilizando Easy Java Simulations yModelos Simulink, XII Latin-American Congress on Automatic Control. Bahía, Brasil.

• S. Dormido, F. Esquembre, G. Farias, J. Sánchez (2005) Adding interactivity to existing Simulinkmodels using Easy Java Simulations, 44th IEEE Conference on Decision and Control and EuropeanControl Conference (CDC-ECC’05) Seville, Spain.

33/33Referencias

Conectividad de EJS con Matlab/Simulinky otras herramientas

Madrid, Marzo 2010

Gonzalo Farias

Departamento de Informática y AutomáticaUniversidad Nacional de Educación a Distancia (UNED)

Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS