Clear Filters
Clear Filters

Returning output signals from a Simulink block to Matlab

8 views (last 30 days)
I have a Simulink Block with 9 output signals which can either be 0 or 1 (true or false). Each output signal is connected to an OutBus. I want to be able to get the values for each of the signals in Matlab so I can assign them to variables and use them elsewhere. I need to be able to do this while the simulation is running, which is where I am having trouble. Any help would be appreciated.
  3 Comments
Fangjun Jiang
Fangjun Jiang on 6 Mar 2023
Usually, it is difficult to access Simulink signals when the simulation is running. That is why @Paul asks for further clarification. You could do that processing using a MATLAB Function block and add it to the Simulink model.
Luke Chapman
Luke Chapman on 6 Mar 2023
The matlab simulation is being run from Enterprise architect, the inputs to the system are set using constant blocks and the set_param function is used to set the constant values. I need to get the outputs of the system which are in the form of logical signals. I was looking to be able to run a piece of code which would capture the current value of the signals (0 or 1) and set them to a variable stored in the workspace. I can do this currently using to workspace blocks or by logging the signals but it only works when the simulation is paused or stopped (i.e the variable does not update while the simulation is running) this unfortunately is not good enough for what I need to do.

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 6 Mar 2023
  5 Comments
Fangjun Jiang
Fangjun Jiang on 10 Mar 2023
The doc says "Your callback function can be specific to a single signal, or you can use the same callback to process and visualize multiple signals. The callback function only has access to data for a single signal at a time. "

Sign in to comment.

More Answers (0)

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!