Stateflow while-logic dead loop

12 visualizzazioni (ultimi 30 giorni)
Dingxin Wang
Dingxin Wang il 28 Mar 2024
Modificato: Fangjun Jiang il 29 Mar 2024
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 Commenti
VBBV
VBBV il 28 Mar 2024
Try using a continuous signal instead of step signal
Dingxin Wang
Dingxin Wang il 28 Mar 2024
yes i tried to use a signal builder to build a continuous signal but it still didnt work

Accedi per commentare.

Risposta accettata

Fangjun Jiang
Fangjun Jiang il 28 Mar 2024
When input==1, you do have an infinite loop, right?
Connecting the feedback transition to the bottom junction would resolve it.
  2 Commenti
Dingxin Wang
Dingxin Wang il 29 Mar 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 il 29 Mar 2024
Modificato: Fangjun Jiang il 29 Mar 2024
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.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Complex Logic in Help Center e File Exchange

Tag

Prodotti


Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by