State flow temporal logic after(x,sec) only waits until x=simulation time. I need it to be event triggered.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have used this temporal logic in the past with no problem, but for some reason it is not working for me now. I have a condition in StateFlow where I need to transition from one state to another when an input is transitioned from low to high with a timing requirement, or instantly when another condition is met.
[L_fireSwitch && after(6,sec) !L_genCont]
That's the transition statement. The logic works fine except the timing is only right if the simulation time is equal to the time specified. In this case 6 seconds. I need it to wait 6 seconds after L_fireSwitch is true before transitioning. Instead it only transitions to whenever L_fireSwitch is true and the simulation time is equal to or greater than the time I have specified.
1 Kommentar
Antworten (1)
Ravi
am 30 Apr. 2020
Hi,
If I understand your problem statement properly "First-> L_fireSwitch should come true, then -> condition 'after(6,sec)' should become true". After all transition should takes place.
But problem in this condition([L_fireSwitch && after(6,sec) !L_genCont]) is works independently. That is after(6,sec) will start independently irrespective of L_fireSwitch.
So we should go for alternate approach as shown in attached image.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/288849/image.jpeg)
0 Kommentare
Siehe auch
Kategorien
Mehr zu Complex Logic finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!