Stataflow error - does not have continuous states

I am doing a stateflow using MATLAB simulink and the attached errors are showing. Can someone please help me solve this? Attached please also find the stateflow that I am using. Thnaks in advance.

9 件のコメント

Walter Roberson
Walter Roberson 2015 年 5 月 30 日
Does [PROX == 0] indicate a conditional flow or does it indicate an assignment of 0 to PROX ?
John Smith
John Smith 2015 年 5 月 30 日
Thanks for the reply. I didn't really understand what you mean, but PROX is an event set by a manual switch (either 1 or 0 - constant box)
Walter Roberson
Walter Roberson 2015 年 5 月 31 日
Your chart looks like when you are IDLE and PROX tests as 0, to go to Counter, with no behavior defined at IDLE for the case where PROX is non-zero. Then once you are at Counter (implying that PROX is 0), then it appears that if PROX tests to be 1 then Calculation is gone to, with no behavior defined from Counter if PROX is not 0. But since PROX cannot be both 0 and 1, if you get to Counter because PROX is 0, you can't get to Calculation because PROX is not 1; you also cannot get to Calculation any other way.
That's how I would read the state diagram.
John Smith
John Smith 2015 年 5 月 31 日
I removed the NORMAL_MODE and EMERGENCY_MODE parent states and the same thing is showing. I am attaching the schematic. Any kind of help would be highly appreciated.
Walter Roberson
Walter Roberson 2015 年 5 月 31 日
What is the current set of messages?
Walter Roberson
Walter Roberson 2015 年 5 月 31 日
Also the current Chart
John Smith
John Smith 2015 年 5 月 31 日
The screenshots I posted before are of the original schematic. Below are the schematic, states and Stateflow debugging I am having when I remove some on the states for testing. (p.s. sorry for my poor English)
John Smith
John Smith 2015 年 5 月 31 日
Hi again, I realized that the pulse generator was causing the problem. When I replaced the generator with a manual switch, everything worked well. What am I doing wrong please? I connected the generator to a mux since it is a shared event. I set the period to 2sec with 50% cycle. What is causing this please?
Walter Roberson
Walter Roberson 2015 年 5 月 31 日
The bit about Continuous States was never a problem. It was a note telling you that you were working with a discrete time system instead of a continuous time system. ode solvers are only useful for continuous time systems. I imagine that continuous time could have been forced by selecting a different kind of signal, but I am not familiar with how those operate.
The only bit I was concerned about was the part about some of the states being only conditionally reachable, leading to potential instability. And that appears to have been solved.

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

回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeDecision Logic についてさらに検索

質問済み:

2015 年 5 月 30 日

コメント済み:

2015 年 5 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by