为什么我不可以使用隐式改变事件数据送入Stateflow图仿真软件?万博1manbetx

2视图(30天)
我已经创建了一个Stateflow图表模型块内。万博1manbetx我给一个脉冲信号到图表从仿真软件,我试图通过使用一个两种状态之间切换万博1manbetx
隐式更改事件。我使用一个在声明中定义一个局部变量,“在”,等于输入信号。我将在每个状态转换事件使用语法chg(在)。
这将返回一个错误消息:
运行时错误:无限循环检测。
请参阅附上的“recursion.mdl”模型。

接受的答案

MathWorks支万博1manbetx持团队
无限递归发生的原因是,当一个图表广播当地事件的当前状态图放在堆栈和图表是首先用新的事件。
在这个模型中,这意味着:
1。图表中醒来。
2。在“图表设置变量”。
3所示。本地事件的图问题。
4所示。图表将堆栈,并调用自身当前状态并返回步骤1。
因此,一个无限递归。
所需的行为,该函数CHG(中)将不工作,是“在”是重新分配在每一个调用,导致CHG发出本地事件。此外,CHG()是目前设计只对本地数据和在此用扩展到输入数据。然而,由于当前CHG()语义和当地的语义事件不能工作。
因此,CHG()不应该被用于输入数据。相反,请参阅附加no_recursion模型”。mdl”为例,完成所需的行为。

更多的答案(0)

类别

找到更多的在Stateflow帮助中心文件交换

s manbetx 845


释放

R14SP1

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的