How can I use sample time internally in Stateflow

28 次查看(过去 30 天)
Hello,
My fixed solver discrete type model has sample time of 20ms.
I want to use this sample time in Stateflow to start a counter and increment it in 20ms time.
How can I use this sample time in Stateflow?
Thank you.
Note: If sample time changes, the counter should take the updated sample time.

采纳的回答

GK
GK 2019-7-4
Also I found another solution on the mentioned mathworks link:
https://in.mathworks.com/matlabcentral/answers/54995-how-to-access-fundamental-sample-time-value-within-a-simulink-model
  1 个评论
Dana Schwanke
Dana Schwanke 2022-6-27
The information at that link does not seem to answer the question of determining a chart's sample time from inside the chart. Could you please elaborate or post the code you discovered?

请先登录,再进行评论。

更多回答(2 个)

Krishna Anne
Krishna Anne 2019-6-17
At the init trigger of your SF diagram start an independent counter and increment it by 1 (loop around). This way even if your solver settings change will be aligned with the counts as that many time samples.
Also, please remember that this is not the real definition of sample time, Simulink only mimics as per your solver settings. See the documentation about solver carefully.
  1 个评论
GK
GK 2019-7-4
Hi,
It is not clear how to use the counter with incremeting 1 can be used as timer.
Where should I initialize the counter? Where should I increment the counter?
Also my timer starts incrementing only when external condition become true.
Could you elaborate?

请先登录,再进行评论。


Todd
Todd 2024-10-17
Came here to look for a better solution. Here are two imperfect solutions.
1) Use temporal logic, ex. after(5,sec). This makes the chart much easier to read, but in my simple case generates way more code than necessary. Also, duration seems to always generate doubles. I would use temporal logic for anything more complicated than a debounce.
2) Input the task rate and use the Weighted Sample Time block. Look out for unintended doubles.

类别

Help CenterFile Exchange 中查找有关 Complex Logic 的更多信息

标签

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by