How do I update a GUI designed in App Designer with data from a running Simulink model?

Illustration
schlegel - 2021-09-17T10:13:45+00:00
Question: How do I update a GUI designed in App Designer with data from a running Simulink model?

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?  

Expert Answer

Profile picture of Prashant Kumar Prashant Kumar answered . 2025-11-20

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

 


Not satisfied with the answer ?? ASK NOW

Get a Free Consultation or a Sample Assignment Review!