Hi,
I created a GUI in which I insert a progress bar which starts when the output of my simulink subsystem goes to 1. The code is as follows:
I added the following lines to the OpeningFcn function:
% --- Executes just before MAJ is made visible.
function MAJ_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to GUI_MAJ_Distance_OTA (see VARARGIN)
axes(handles.axes1); set(handles.axes1,'Xtick',[],'Ytick',[],'Xlim',[0 1000]); rectangle('Position',[0,0,(round(0))+1,20],'FaceColor','green', 'visible', 'off'); text(480,10,[num2str(0),'%']);
The code:
function Output_GUI(obj, event, handles) rto1 = get_param('MAJ/X','RuntimeObject');if((rto1.OutputPort(15).Data == 1) & (rto1.OutputPort(16).Data == 0)) set(handles.axes1, 'visible', 'on'); Max=1000; % Maximum value
set(handles.axes1,'Xtick',[],'Ytick',[],'Xlim',[0 1000]); for Index = 0 : Max axes(handles.axes1); cla(handles.axes1); rectangle('Position',[0,0,(round(1000*Index/Max))+1,20],'FaceColor','green'); text(480,10,[num2str(round(100*Index/Max)),'%']); endend
Once the output 16 is set to 1, the progression must reach 100%
I insert an axis on my HMI as shown here:
The problem is that the progress bar is displayed on a separate GUI and the progress is very slow.
I don't know what exactly the problem.
Best Answer