How do I update a GUI designed in App Designer with data from a running Simulink model?
95 views (last 30 days)
Show older comments
MathWorks Support Team
on 15 Feb 2019
Edited: MathWorks Support Team
on 7 Feb 2023
I want to update a GUI that I have designed in App Designer using data that is generated during the simulation of a Simulink model. In other words, how do I access run-time parameters of a Simulink model from App Designer?
Accepted Answer
MathWorks Support Team
on 2 Feb 2023
Edited: MathWorks Support Team
on 7 Feb 2023
Let the Simulink model being used be named "Trial.slx" and the App Designer app being used be named "TrialApp.mlapp". There are three steps involved in accessing run-time parameters of a Simulink model from App Designer. They are listed below:
1. In the Simulink model callback "InitFcn" function, define:
hApp = TrialApp;
2. In the Simulink model callback "StartFcn" function, call a function named "updateGUI()" as described below. This method will be called every time the specified block's ("blk") output method executes.
blk = 'Trial/DisplayBox';
event = 'PostOutputs';
listener = @(app, event) updateGUI(hApp);
h = add_exec_event_listener(blk, event, listener);
3. Create a public method named "updateGUI()" in the app designed in App Designer. This function will get the specified block's run-time parameters and pass it to the GUI. This function is defined below.
function updateGUI(app, varargin)
% Create an object that gets the run-time value of the specified block
rto = get_param([bdroot,'/DisplayBox'],'RuntimeObject');
% Update the GUI accordingly. In this case a the value of an EditField is being updated.
app.EditField.Value = rto.InputPort(1).Data;
end
0 Comments
More Answers (0)
See Also
Categories
Find more on Develop Apps Using App Designer in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!