Matlab - Datos desde Simulink a Guide y Viceversa

 
Vista:
sin imagen de perfil

Datos desde Simulink a Guide y Viceversa

Publicado por Daniel Jose (5 intervenciones) el 12/05/2015 17:32:27
Buenos dias a todos. Primero que nada mucho gusto. Soy Daniel Vasquez. Acabo de registrarme en esta comunidad. Por mucho tiempo he encontrado soluciones aquí que no encuentro en otro lado, hasta que decidí unirme también a colaborar con el conocimiento, específicamente en el área de Matlab.

Ahora si voy con la pregunta.

Actualmente me encuentro realizando una interfaz gráfica en el GUIDE de MATLAB.

Tengo unos datos de entrada, unos datos de salida y unas graficas.

Yo necesito que el usuario coloque unos valores (datos de entrada), que estos datos vayan a Simulink, hagan lo que tengan que hacer y después mandar los datos generados hacia el GUIDE de nuevo para mostrarlos.

Ahorita ando trabajando en Simulink con algo sencillo para probar la comunicación y/o transferencia de datos.

Quiero que en la interfaz del GUIDE se coloquen los parametros de un Step (Step time, initial value y final value) y en Simulink aplicar ese escalon a una Función de Transferencia cualquiera de primer Orden. Al hacer esto voy a obtener una respuesta. Lo que quiero es graficar los valores del Step en el GUIDE (tengo que pasar un vector con los datos de Salida del Step hacia el GUIDE), los valores de la salida de a función de transferencia (tengo que pasar un vector con los datos de salida de la función de transferencia hacia el GUIDE) y mostrar por ejemplo el valor final de la respuesta de la función de transferencia.

Esto es solamente con fines de ver la transferencia de datos entre Simulink y GUIDE porque mi objetivo es otro, que es el modelado de unos equipos, y despues tengo que generar un .exe

Yo me se algunos comandos de SIMULINK en GUIDE para por ejemplo correr la simulacion, establecer parametros y obtener parametros (simulationcommand, set_param, get_param) pero ninguno de estos me da el valor o vector de un bloque de Simulink para poder usarlo en el GUIDE.

Espero haberme explicado lo suficientemente bien. De verdad muchas gracias por tomarse la molestia de leer esto. Bienvenida cualquier respuesta.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Royeth
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Datos desde Simulink a Guide y Viceversa

Publicado por Royeth (1818 intervenciones) el 13/05/2015 05:47:21
Hola Bienvenido al foro , bueno aquí te pongo el ejemplo :

lo puse con una función , así como lo es el guide , solo debes escribir en donde va el '0' get(handles.edit1,'String') o como sea el tag de el edit text de tu guide y así para los otros 2 parámetros

1
2
3
4
5
6
7
8
9
10
function []=rks4
find_system('Name','qwert');
open_system('qwert');
set_param('qwert/Step','Time','0')
set_param('qwert/Step','Before','0')
set_param('qwert/Step','After','5')
set_param(gcs,'SimulationCommand','Start')
simout=evalin('base','simout');
plot(simout(:,1),simout(:,2))
end

alguna otra duda me consultas debe quedarte algo más o menos así en el callback de un pushbutton por ejemplo :

1
2
3
4
5
6
7
8
find_system('Name','qwert');
open_system('qwert');
set_param('qwert/Step','Time',get(handles.edit1,'String'))
set_param('qwert/Step','Before',get(handles.edit2,'String'))
set_param('qwert/Step','After',get(handles.edit3,'String'))
set_param(gcs,'SimulationCommand','Start')
simout=evalin('base','simout');
plot(simout(:,1),simout(:,2))


de todas maneras aquí te adjunto unl ejemplo de simulink versión 2013a


Saludos , https://www.facebook.com/royethmatlab
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Datos desde Simulink a Guide y Viceversa

Publicado por Daniel Jose (5 intervenciones) el 11/06/2015 20:49:05
Hola Royeth. Muchas gracias. Tu respuesta me sirvió para mi trabajo. Un abrazo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar