Stateflow while-logic dead loop

16 Ansichten (letzte 30 Tage)
Dingxin Wang
Dingxin Wang am 28 Mär. 2024
Bearbeitet: Fangjun Jiang am 29 Mär. 2024 um 19:13
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 Kommentare
VBBV
VBBV am 28 Mär. 2024
Try using a continuous signal instead of step signal
Dingxin Wang
Dingxin Wang am 28 Mär. 2024
yes i tried to use a signal builder to build a continuous signal but it still didnt work

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 28 Mär. 2024
When input==1, you do have an infinite loop, right?
Connecting the feedback transition to the bottom junction would resolve it.
  2 Kommentare
Dingxin Wang
Dingxin Wang am 29 Mär. 2024
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 am 29 Mär. 2024 um 19:12
Bearbeitet: Fangjun Jiang am 29 Mär. 2024 um 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Complex Logic finden Sie in Help Center und File Exchange

Tags

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by