How to trigger function call at a user defined periodic rate when using the "Show enable port" option in a Function-Call Generator
2 次查看(过去 30 天)
显示 更早的评论
Attached is a simulink model that represents the functionality that I am trying to end up with. At this point I can get everthing to work as intended except for having my functionA and functionB run at different periodic rates when using the "Show enable port" option in the Function-Call Generators.
How can I get these two subsystems to run at different user defined periodic rates using function calls? Specifically, I want to be able to run FunctionA at 0.2 sec timesteps, and Function B at 0.5 sec timesteps. Currently both systems are running at the base simulation rate of 0.1 seconds.
I tried creating a stateflow graph (commented out) with output events that would trigger the functions at different rates, however each function ends up getting reset inbetween function calls. I only want them to be reset when the resettable subsystem is triggered by the enable logic at the root level.
Another solution I had tried instead of function calls was using enabled & triggered subsystems with a square wave generator, but this introduces other issues that would also need to be resolved.
0 个评论
采纳的回答
Adit Kirtani
2023-7-3
Hi Andrew,
From what I understand, you wish to modify the sample rate at which the function call subsystem “checks” if there is a function call or not.
In that case, I would recommend the rate transition block. Simply connect it between your enable signal and the function call generator as such:
The rate transition block can be set to operate at a multiple of the input signal’s sample rate. In your case, you can set it to multiples of 2 and 5 respectively. Here’s a link to the documentation of the rate transition block, it should help your model operate as intended:
I hope this helps,
Adit Kirtani.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Schedule Model Components 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!