MATLAB Answers

Calling a cyclic function in App Designer

54 views (last 30 days)
Doug Rilee
Doug Rilee on 5 Dec 2018
Answered: Greg on 6 Dec 2018
How can I have a function called cyclically in App Designer?
I am creating a project that uses set_param to send a value to Similink from and get_param to get a value from Simulink back into App Designer.
For set_param the triggered events with a switch, knob or slider work great. I would like to diaplay model results real-time to the App Designer UI. Is it possible to have a function called cyclically within App Designer?

  2 Comments

Doug Rilee
Doug Rilee on 5 Dec 2018
Solutuon as provided by a collegue
I will post my project with this code soon.
Create a timer object as follows:
properties (Access = private)
timerObj % timer
end
% startUpFcn
app.timerObj = timer('TimerFcn'), @(~,~)getModelValues(app), 'Period', 0.5, 'ExecutionMode', 'fixedSpacing', 'BusyMode', 'drop');
start(app.timerObj);
Create a function like getModelValues(app) with the get_param code and it will be called cyclically as you specifiy with the period.
Kevin Chng
Kevin Chng on 6 Dec 2018
great to know this solution. Your colleague is awesome. In the past, i might create a while loop for it.

Sign in to comment.

Answers (1)

Greg
Greg on 6 Dec 2018
I can't give you actual code examples (every situation is different). But, a probable better approach than the timer in AppDesigner would be pass the appropriate handle into the Simulink model. Then, have the model update whatever graphics object you want in each iteration of the simulation.

  0 Comments

Sign in to comment.

Sign in to answer this question.


Translated by