Execute subsystem in Simulink if condition is met for 5 seconds?

13 ビュー (過去 30 日間)
Andrew Poissant
Andrew Poissant 2019 年 11 月 26 日
コメント済み: Fangjun Jiang 2024 年 1 月 29 日
I have a subsystem that I want executed in Simulink when a variable, RC_flag, is equal to 0 for 5 seconds. I have RC_flag updating at each Simulink time step, and I have Elapsed Real Time block to output the elapsed real time since the start of the simulation (different than the Simulink time step). How do I combine these two variables to execute my subsystem when RC_flag = 0 for 5 seconds?

採用された回答

Fangjun Jiang
Fangjun Jiang 2019 年 11 月 26 日
Do an equal comparison (==) between RC_flag and zero, generate this int_flag. Feed int_flag to an Integrator. If the output of the Integrator is greater than 5, then execute the subsystem.
Enable the external reset of the Integrator block. Use the int_flag and specify "falling" edge to reset the Integrator. Any change of the int_flag during the 5 seconds will reset the Integrator block.
  6 件のコメント
Sharanya
Sharanya 2024 年 1 月 28 日
Hello
Could you please explain what you mean by generating int_flag?
Fangjun Jiang
Fangjun Jiang 2024 年 1 月 29 日
int_flag=(RC_flag ==0)

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSchedule Model Components についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by