How to plot a Simulink Desktop Real-Time model output in an App Designer app?
9 次查看(过去 30 天)
显示 更早的评论
I need to create an app that runs a Simulink Desktop Real-Time model and plots the output in the app. The model has a Analog Input block connected to a scope. For having the signal output to the workspace, I configured the scope properties --> logging and checked 'log data to workspace'.
In the app, I am having an UIAxes for plotting the simulation output.
Eventhough I am capable of running the model using 'set_param' command, I am unable to plot the output in the UIAxes.
Any information will be helpful and thanks in advance.
0 个评论
采纳的回答
Ankit
2021-6-14
Hi Nagendra,
There are different ways to acheive and one solution you can find in the below link:
let me know if you are looking for this
4 个评论
Ankit
2021-6-30
function varargout = plotApp(varargin)
persistent plotting
hf = findall(0, '-property','tag' );
ht = get(hf, 'tag');
[a,b] = ismember('plotAxes',ht);
if a
plotting = hf(b);
end
rto1 = get_param( 'AppDesignSetup/Scope','RuntimeObject');
Y1 = rto1.InputPort(1).Data;
X1 = get_param('AppDesignSetup','SimulationTime');
plot(plotting, X1,Y1,'.');
hold(plotting, 'on');
%guidata(hf)
drawnow
App Code View:
function StartButtonPushed(app, event)
app.UIAxes.Tag = 'plotAxes';
cla(app.UIAxes);
load_system("AppDesignSetup.slx")
set_param('AppDesignSetup/Sine', 'Amplitude', ...
num2str(app.AmplitudeEditField.Value));
set_param('AppDesignSetup', 'StopTime',num2str(app.DurationEditField.Value));
set_param('AppDesignSetup', 'SimulationMode', 'normal');
set_param('AppDesignSetup', 'SimulationCommand','start');
end
I already shared you the documentation for this. Hence I would request you next time please follows the steps provided in the answer and documentation.
Wish you all the best.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Target Computer Setup 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!