Problema Step y set_param
Publicado por Esteban (17 intervenciones) el 10/04/2013 13:19:14
Buenas a todos,
quiero realizar una interface que mande un consigna a un step, osea desde una GUI modificar el parámetro final value del step.
Al compilar el modelo de simulink . mdl me da un error, aunque si que me deja simular, el modelo es un step y un scope para mirar la señal
ERROR
Error building Real-Time Workshop target for block diagram 'step_prueva'. MATLAB error message: The specified Real-Time Workshop target for model 'step_prueva' cannot be used with a variable-step solver. You must configure the solver options for a fixed-step solver with an appropriate integration algorithm. Press the Open button to launch the solver configuration dialog.
He cambiado unos parámetros a Type: fixed-step y Solder: ode5(dormand-prince) y fixed step sice: 1e-6.
Pero sigue dando error.
El codigo .m de la GUI.
function varargout = prueva_step1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @prueva_step1_OpeningFcn, ...
'gui_OutputFcn', @prueva_step1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function prueva_step1_OpeningFcn(hObject, eventdata, handles, varargin)
open_system('step_prueva');
set_param(gcs,'SimulationCommand','Start');
find_system('Name','step_prueva');
set(handles.slider1,'value',0);
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = prueva_step1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
sp = get (handles.slider1,'value');
set (handles.consigna,'string',sp);
function slider1_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function ok_Callback(hObject, eventdata, handles)
set_param('step_prueva/Step','Final Value',8);
set_param(gcs,'SimulationCommand','Start');
la idea es que se asigne el valor através del slider1 pero he puesto directamente '8' y tampoco, no se si el código es correcto.
Desde ya gracias.
Un saludo
quiero realizar una interface que mande un consigna a un step, osea desde una GUI modificar el parámetro final value del step.
Al compilar el modelo de simulink . mdl me da un error, aunque si que me deja simular, el modelo es un step y un scope para mirar la señal
ERROR
Error building Real-Time Workshop target for block diagram 'step_prueva'. MATLAB error message: The specified Real-Time Workshop target for model 'step_prueva' cannot be used with a variable-step solver. You must configure the solver options for a fixed-step solver with an appropriate integration algorithm. Press the Open button to launch the solver configuration dialog.
He cambiado unos parámetros a Type: fixed-step y Solder: ode5(dormand-prince) y fixed step sice: 1e-6.
Pero sigue dando error.
El codigo .m de la GUI.
function varargout = prueva_step1(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @prueva_step1_OpeningFcn, ...
'gui_OutputFcn', @prueva_step1_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function prueva_step1_OpeningFcn(hObject, eventdata, handles, varargin)
open_system('step_prueva');
set_param(gcs,'SimulationCommand','Start');
find_system('Name','step_prueva');
set(handles.slider1,'value',0);
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = prueva_step1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on slider movement.
function slider1_Callback(hObject, eventdata, handles)
sp = get (handles.slider1,'value');
set (handles.consigna,'string',sp);
function slider1_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function ok_Callback(hObject, eventdata, handles)
set_param('step_prueva/Step','Final Value',8);
set_param(gcs,'SimulationCommand','Start');
la idea es que se asigne el valor através del slider1 pero he puesto directamente '8' y tampoco, no se si el código es correcto.
Desde ya gracias.
Un saludo
Valora esta pregunta


0