340 likes | 597 Views
Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS. Conectividad de EJS con Matlab/Simulink y otras herramientas. Gonzalo Farias. Departamento de Informática y Automática Universidad Nacional de Educación a Distancia (UNED). Madrid, Marzo 2010. Contenidos. 2/33. Introducción
E N D
Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS Conectividad de EJS con Matlab/Simulinky otras herramientas Gonzalo Farias Departamento de Informática y Automática Universidad Nacional de Educación a Distancia (UNED) Madrid, Marzo 2010
Contenidos 2/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
Contenidos 3/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
Introducción 4/33 Una típica simulacion de ingeniería Bajo nivel de interactividad y visualización
Introducción 5/33 Una simulación interactiva Alto nivel de interactividad y visualización
Introducción 6/33 Creando una GUI con Matlab Problema: Es difícil crear y reutilizar la GUI!
Introducción 7/33 Solución: • Usar software de ingeniería para crear la simulación de ingeniería. • Usar un lenguaje dedicado o herramientas de autor para crear la GUI interactiva. Simulación de Ingeniería Interfaz Humana Protocolo de Comunicación
Introducción 8/33 Enfoque de Interoperación (1/3) El Enfoque de Interoperación es una metodología uniforme y efectiva para crear simulaciones de ingeniería interactivas manipulando el software de ingeniería desde una interfaz humana interactiva.
Introducción 9/33 Enfoque de Interoperación (2/3) API del Protocolo de Comunicación Protocolo de alto nivel Protocolo Remoto Protocolo de bajo nivel
Introducción 10/33 Enfoque de Interoperación (3/3) La GUI puede reutilizarse para otras simulaciones
Contenidos 11/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
API de interoperación ExternalApp 12/33 • Protocolo de interoperación de bajo nivel Salida
API de interoperación ExternalApp 13/33 • Protocolo de interoperación de alto nivel Salida
API de interoperación ExternalApp 14/33 • Protocolo de interoperación remoto: servidor JIM
Contenidos 15/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
Librería ExternalApp en EJS 16/33 Demo: Usando la librería ExternalApp.jar desde EJS
Librería ExternalApp en EJS 17/33 • Taller 1 (1/5): Dibujando una señal – motor EJS Variables Evolución
Librería ExternalApp en EJS 18/33 • Taller 1 (2/5): Dibujando una señal – motor EJS Vista Simulación
Librería ExternalApp en EJS 19/33 • Taller 1 (3/5): Dibujando una señal – motor EJS Elementos Vista
Librería ExternalApp en EJS 20/33 • Taller 1 (4/5): Dibujando una señal – motor Matlab Variables Librería Elemento Vista
Librería ExternalApp en EJS 21/33 • Taller 1 (5/5): Dibujando una señal – motor Matlab Inicialización y Evolución Simulación
Librería ExternalApp en EJS 22/33 • Taller 2 (1/3): Pelota que rebota – Motor EJS Simulación en EJS
Librería ExternalApp en EJS 23/33 • Taller 2 (2/3): Pelota que rebota – Motor Simulink Inicialización Evolución
Librería ExternalApp en EJS 24/33 • Taller 2 (3/3): Pelota que rebota – Motor Simulink Elemento Vista
Librería ExternalApp en EJS 25/33 Demo: Utilizando el servidor JIM
Contenidos 26/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
Elemento ExternalApp en EJS 27/33 • Configurando el Elemento ExternalApp
Elemento ExternalApp en EJS 28/33 • Taller 3 (1/3): Dibujando una señal con Elemento Configurar Matlab
Elemento ExternalApp en EJS 29/33 • Taller 3 (2/3): Dibujando una señal con Elemento Configurar y Enlazar Variables Matlab
Elemento ExternalApp en EJS 30/33 • Taller 3 (3/3): Pelota que rebota con Elemento Configurar y Enlazar Variables Simulink
Contenidos 31/33 • Introducción • Motivación • Enfoque de interoperación • 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 • 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 • Elemento ExternalApp en EJS • Configurando el elemento ExternalApp • Taller 3: Utilizando el elemento ExternalApp • Conclusiones
Conclusiones 32/33 • El enfoque de interoperación divide el desarrollo de una simulación interactiva de ingeniería en dos partes, la interfaz interactica y la simulación de ingeniería. • Se ha descrito un protocolo de comunicación para conectar ambas partes de la simulación. • La librería ExternalApp presenta una implementación para el protocolo de comunicación. • El elemento ExternalApp puede ser utilizado con facilidad desde EJS para construir simulaciones interactivas.
Referencias 33/33 • 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 remote laboratory for engineering education, Computer & Education, ISSN 0360-1315, (accepted). • Farias G., De Keyser R., Dormido S., Esquembre F. (2010) Developing Networked Control Labs: A Matlab 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 Java Simulation 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 Control Systems 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 de Automá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 y Modelos 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 Simulink models using Easy Java Simulations, 44th IEEE Conference on Decision and Control and European Control Conference (CDC-ECC’05) Seville, Spain.
Curso-Taller CEA: Nuevas Posibilidades de Desarrollo en EJS Conectividad de EJS con Matlab/Simulinky otras herramientas Gonzalo Farias Departamento de Informática y Automática Universidad Nacional de Educación a Distancia (UNED) Madrid, Marzo 2010