Problema set_param
Publicado por Esteban (17 intervenciones) el 11/06/2013 16:56:15
Muy buenas a todos!
Tengo una GUI, que se comunica con un modelo en Simulink, quiero modificar el parámetro de un bloque setp, a través de un silider el usuario seleccióna el valor del step, luego presiona OK, se compila el programa se conecta y se simula, pero no logro que me reconosca la variable.
El problema es la línea (callback_OK)
set_param('lazo_abierto/Step','After',set_point);
Undefined function or variable 'set_point'.
Error in ==> contro_deposito_a>ok_Callback at 92
set_param('lazo_abierto/Step','After',set_point);
He probado a convertirlo a str2double, declararlo como global... no se...
Gracias!
Tengo una GUI, que se comunica con un modelo en Simulink, quiero modificar el parámetro de un bloque setp, a través de un silider el usuario seleccióna el valor del step, luego presiona OK, se compila el programa se conecta y se simula, pero no logro que me reconosca la variable.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
function varargout = contro_deposito_a(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @contro_deposito_a_OpeningFcn, ...
'gui_OutputFcn', @contro_deposito_a_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 contro_deposito_a_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = contro_deposito_a_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function salir_Callback(hObject, eventdata, handles)
opc=questdlg('¿Desea salir del programa?','SALIR','Si','No','No');
if strcmp(opc,'No')
return;
end
clear,clc,close all
function atras_Callback(hObject, eventdata, handles)
opc=questdlg('¿Desea regresar a la pantalla de inicio?','ATRÁS','Si','No','No');
if strcmp(opc,'No')
return;
else
clear,clc,close all
presentacion
end
function alarma_Callback(hObject, eventdata, handles)
% hObject handle to alarma (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
function graficar_Callback(hObject, eventdata, handles)
axes(handles.axes1);
clc
temps = (0:0.1:200);
x=evalin('base', 'entrada');
y=evalin('base', 'nivel');
title ('respuesta temporal del proceso');
xlabel ('Tiempo[seg]');
ylabel ('[V]');
plot(temps,x.signals.values,'r',temps,y.signals.values,'b');
function consigna_Callback(hObject, eventdata, handles)
set_point = get(handles.consigna,'value');
set (handles.consigna_ver,'string',set_point);
handles.output = hObject;
guidata(hObject, handles);
function consigna_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)
find_system('Name','lazo_abierto'); % Comprueva que el programa existe
open_system('lazo_abierto'); % abre el programa
%SP = str2double (handles.set_point);
set_param('lazo_abierto/Step','After',set_point);
set_param(gcs,'SimulationMode','external') % incremental build
set_param(gcs,'SimulationCommand','connect') % connect to targect
set_param(gcs,'SimulationCommand','Start'); %simular
El problema es la línea (callback_OK)
set_param('lazo_abierto/Step','After',set_point);
Undefined function or variable 'set_point'.
Error in ==> contro_deposito_a>ok_Callback at 92
set_param('lazo_abierto/Step','After',set_point);
He probado a convertirlo a str2double, declararlo como global... no se...
Gracias!
Valora esta pregunta


0