Can I decouple a time-consuming Simulink function block or Function-call subsystem from Simulink fundamental sample time?
Show older comments
I have a Simulink model performing fixed-step control algorithm in 0.1 second fundamental sample time. However when the control logic enters a certain mode, I want to carry out a time consuming calculation that will run in 100% cpu time for approximately 2 seconds. If I place this computation under any Simulink time step, it will definitely make the model overrun at that certain time step. But the result from this time consuming computation will first be needed when the normal 0.1 second fixed-step control algorithm executes for 1 minute. Can I place this time consuming computation in a Simulink function block or Function-call subsystem and decouple it from the Simulink solver? Such that the result from this time consuming computation will be placed in a data store whenever it finishes, but reading of that data store by the main algorithm will first occur after one minute? The main algorithm execution of once every 0.1 second will thus not be clogged by this time consuming computation module.
2 Comments
Jonas
on 18 May 2021
There is no such thing as model overrun in simulation mode. Your computer just calculates what it needs to calculate, if it is computationally heavy it just takes longer.
Or are you talking about code generation? I would think not since you say 'Simulink solver'.
Yingao Zhang
on 18 May 2021
Accepted Answer
More Answers (0)
Categories
Find more on Multicore Processor Targets 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!