In Simulink, is it possible to send data to workspace in real-time using the 'ToWorkspace' block?
69 views (last 30 days)
Show older comments
Hello everyone,
I have a large simulink model. In this model I calculate certain variables that are essentially [1x1] constants. For example, I analyze an electrocardiogram recording to count the number of heart cycles: num_cycles.
I would then like to use such constants like num_cycles in various other blocks like selectors and Matlab function blocks to fix the size of various variable size signals.
Now, if such constants would be defined in the workspace, I could just type num_cycles or whatever in the Simulink selector block, or in the output size of the Matlab Function's explorer. I have tried using the block "ToWorkspace" to do this. However, this block only sends data to workspace once the simulation in stopped or paused.
My question is: is there any way to send variables to the workspace immediately so that they can be accessed by future blocks as if they were workspace variables?
Thank you,
Rafael
1 Comment
Paul
on 25 Oct 2020
I don’t think you can do this. Please post here if you find a solution.
However, the answer may be in your question. Did you read the doc on “variable size signals”?
Accepted Answer
More Answers (1)
Ameer Hamza
on 25 Oct 2020
2 Comments
Ameer Hamza
on 26 Oct 2020
I think that changing the parameters of a compiled model using values from the base workspace is not possible. You can read these values using extrensic(), but using them to changing the signal dimensions might require the re-compilation of the model.
See Also
Categories
Find more on Event Functions 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!