How exchange values between Simulink and App Designer?

I am currently using App designer for the first time to create an interface for a Simulink model. This app must be capable of both monitoring the Simulink continuously (aka: change lamp colour once value output is greater than one) and inputting information into the Simulink (aka: switches that stop/start particular Simulink functions).
Getting switches to control the Simulink was simple, but I am struggling with getting the app to constantly monitor the Simulink. The closest I have gotten is using event listeners (add_exec_event_listener). However, when they are just based in the app I seem to need to be continuously doing a triggering event in the app to run the code which is not a viable option. An alternative I found was to put the listeners inside Model Properties, Callbacks but then the other parts of the app seem to refuse to run (Switch no longer interact with Simulink).
As this is my first time using app I do not know if this is due to failings on my own part or limitations of the system. If anyone know if this is possible with event listeners, could you let me know so I can continue working on my code. Or if they know this won’t work and can offer alternative suggestions that would be incredible.

6 Comments

My understanding is that it is not typically possible to exchange data between Simulink and MATLAB except when Simulink is paused or stopped.
Hi! thank you for trying to help but my issue is not the sharing the values when simulink is running (I can do this using the model workspace and bindings). My issue is how to do this recursively throughout the run time of the simulation in app designer (so in a sense the App code is constantly monitoring the simulation outputs). Currently my soloution either only run once or prevent the use of other features in the App. Any ideas would be appreciated!
I suspect you won't be able to do this with AppDesigner which is based on the uifigure.
There are some examples at the FEX with using GUIDE-type models. That is still possible to be done programmatically although the GUIDE tool has been removed.
My understanding is that the model workspace is not available at the MATLAB level, except when the model is paused or stopped.
I dunno; don't have Simulink; just going by the FEX comments. It may not do what OP wants, but figured couldn't hurt to look...
Hi both thanks for the suggestions, I have figured out a way around my problem, it is probably not the most efficient method ever, and I won't lie I have concerns about it becoming unwieldy as the code grows but it currently works which is what I need! I'll post a comprehensive answer to this when I have the time.

Sign in to comment.

Answers (0)

Categories

Find more on Simulink in Help Center and File Exchange

Products

Release

R2025b

Asked:

on 25 Oct 2025

Commented:

on 27 Oct 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!