Stateflow while-logic dead loop

16 次查看(过去 30 天)
I'am using stateflow to model a system.
With this logic i am expecting if the input is 1, the output should be 1. If the input is not 1, do nothing (it'a one-time logic, if the input is once not 1, the output will be none from then).
I used a step signal from 1 to 2 as an input. But the simulation can't proceed since its a dead loop at first time step. Why is that and how to solve this?
  2 个评论
VBBV
VBBV 2024-3-28
Try using a continuous signal instead of step signal
Dingxin Wang
Dingxin Wang 2024-3-28
yes i tried to use a signal builder to build a continuous signal but it still didnt work

请先登录,再进行评论。

采纳的回答

Fangjun Jiang
Fangjun Jiang 2024-3-28
When input==1, you do have an infinite loop, right?
Connecting the feedback transition to the bottom junction would resolve it.
  2 个评论
Dingxin Wang
Dingxin Wang 2024-3-29,2:09
hi, i dont really understand the infinite loop here. In the loop there is a precondition (input == 1), when the input changes to 2, it should jump out of the loop. How can i understand this?
Fangjun Jiang
Fangjun Jiang 2024-3-29,19:12
编辑:Fangjun Jiang 2024-3-29,19:13
See this for Stateflow while-loop. You don't have anything to change the condition. Any time when input==1, it will fall to the infinite loop trap.

请先登录,再进行评论。

更多回答(0 个)

类别

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

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by