function varargout = control_wave_PID(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @control_wave_PID_OpeningFcn, ...
'gui_OutputFcn', @control_wave_PID_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 control_wave_PID_OpeningFcn(hObject, eventdata, handles, varargin)
find_system('Name','signal_generator1'); % Comprueva que el programa existe
open_system('signal_generator1'); % abre el programa
set_param('signal_generator1/Signal Generator','Wave','sine'); %iniciallización de generador de ondas
set_param('signal_generator1/Signal Generator','frequency','5');
set_param('signal_generator1/Step','After','1'); %Inicialización del STEP-consigna
set_param ('signal_generator1/Transport Delay','DelayTime','0.000001');% Incicialización del retrdo
set_param('signal_generator1/PID Controller','P','0'); %PID inicialización,Kp,Ki,Kd
set_param('signal_generator1/PID Controller','I','0');
set_param('signal_generator1/PID Controller','D','0');
%p = get_param('signal_generator1/Transfer Fcn','ObjectParameters'); %obtiene los parametros del bloque
set_param('signal_generator1/Transfer Fcn','Numerator','1');% Inicialización de función de transferencia de primer orden
set_param('signal_generator1/Transfer Fcn','Denominator','[1 1]');
set_param(gcs,'SimulationCommand','Start'); %simular
handles.output = hObject;
guidata(hObject, handles);
function varargout = control_wave_PID_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function wave_Callback(hObject, eventdata, handles)
onda = get(hObject,'Value');
if onda==1
set_param('signal_generator1/Signal Generator','Wave','sine');
set_param(gcs,'SimulationCommand','Start');
elseif onda==2
set_param('signal_generator1/Signal Generator','Wave','square');
set_param(gcs,'SimulationCommand','Start');
elseif onda==3
set_param('signal_generator1/Signal Generator','Wave','sawtooth');
set_param(gcs,'SimulationCommand','Start');
else
set_param('signal_generator1/Signal Generator','Wave','random');
set_param(gcs,'SimulationCommand','Start');
end
function wave_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit1_Callback(hObject, eventdata, handles)
fre = get(hObject,'String');
set_param('signal_generator1/Signal Generator','frequency',fre);
set_param(gcs,'SimulationCommand','Start');
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function kp_Callback(hObject, eventdata, handles)
KP = get (hObject,'string');
set_param('signal_generator1/PID Controller','P',KP);
set_param(gcs,'SimulationCommand','Start');
function kp_CreateFcn(hObject, eventdata, handles)
% hObject handle to kp (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function kd_Callback(hObject, eventdata, handles)
KD = get (hObject,'string');
set_param('signal_generator1/PID Controller','D',KD);
set_param(gcs,'SimulationCommand','Start');
function kd_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function ki_Callback(hObject, eventdata, handles)
set_param('signal_generator1/PID Controller','I',get (hObject,'string'));
set_param(gcs,'SimulationCommand','Start');
function ki_CreateFcn(hObject, eventdata, handles)
% hObject handle to ki (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function K_Callback(hObject, eventdata, handles)
ganancia_estatica = get (hObject,'string');
set_param('signal_generator1/Transfer Fcn','Numerator',ganancia_estatica);
set_param(gcs,'SimulationCommand','Start');
function K_CreateFcn(hObject, eventdata, handles)
% hObject handle to K (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function tau_Callback(hObject, eventdata, handles)
function tau_Callback(hObject, eventdata, handles)
taw =get(hObject,'string');
set_param('signal_generator1/Transfer Fcn','Denominator',['[',taw,' ','1',']']);
set_param(gcs,'SimulationCommand','Start');
function tau_CreateFcn(hObject, eventdata, handles)
% hObject handle to tau (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function ok_Callback(hObject, eventdata, handles)
open_system('signal_generator1');
set_param(gcs,'SimulationCommand','Start');
function consigna_Callback(hObject, eventdata, handles)
%sp = get (hObject,'value');
%set(handles.ver_consigna,'string',sp);
%set_param('signal_generator1/Step','After',str2double(sp));
%set_param(gcs,'SimulationCommand','Start');
function consigna_CreateFcn(hObject, eventdata, handles)
if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end
function retardo_Callback(hObject, eventdata, handles)
retard = get(hObject,'string');
set_param ('signal_generator1/Transport Delay','DelayTime',retard);
set_param(gcs,'SimulationCommand','Start');
function retardo_CreateFcn(hObject, eventdata, handles)
% hObject handle to retardo (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function consigna2_Callback(hObject, eventdata, handles)
set_param('signal_generator1/Step','After',get(hObject,'string'));
set_param(gcs,'SimulationCommand','Start');
function consigna2_CreateFcn(hObject, eventdata, handles)
% hObject handle to consigna2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end