在一个状态转换表调试运行时错误
状态转换表是另一种方式表达序列的模态逻辑。而不是绘图状态和转换Stateflow图形®图表,使用状态转换表来表达表格格式的模态逻辑。状态转换表只作为仿真软件模块支持金宝app金宝app®模型。有关更多信息,请参见在Stateflow状态转换表。
创建模型和状态转换表
创建一个新的仿真软金宝app件模型状态转换表。
sfnewstt
添加以下状态和转换表:
桌上有两个州在最高层次的,
Power_off
和Power_on
。默认情况下,Power_off
是活跃的。事件开关
系统之间的切换Power_off
和Power_on
州。Power_on
有三个亚态:第一个
,第二个
,第三
。默认情况下,当Power_on
变得活跃,第一个
也变得活跃。当转变
= 1,系统转换第一个
来第二个
,第二个
来第三
,第三
来第一个
,对于每一个事件的发生开关
。然后重复模式。添加两个输入从仿真软件金宝app:
一个事件被称为
开关
的范围输入模型金宝app和一个不断上升的边缘触发。一个数据被称为
转变
的范围输入模型金宝app。
在模型视图中,连接正弦波块的
开关
事件和一个一步块的转变
你的状态转换表的数据。在模型中,有一个事件输入和数据输入。一个正弦波块生成一个重复输入事件与Stateflow对应的事件
开关
。步块生成一个重复的模式1和0与Stateflow对应的数据对象转变
。理想情况下,开关
事件发生在一个频率,允许至少一个循环第一个
,第二个
,第三
。
调试状态转换表
调试表创建模型和状态转换表遵循以下步骤:
右键单击
Power_off
状态,并选择设置断点>在国家入境。开始仿真。
因为你指定一个断点
Power_off
、执行停止。移动到按钮,通过单击下一步一步
。
使用的数据和当前值,把鼠标移到不同的表格。
继续单击一步按钮,观看动画。每一步后,观察图表动画看到的顺序执行。使用工具提示的数据值。
单步显示的循环第一个
来第二个
来第三
在国家Power_on
不发生。的过渡Power_on
来Power_off
需要优先考虑的事情。
正确的运行时错误
在调试状态转换表通过模拟,你一步状态转换表,发现一个错误。事件开关
驱动仿真,仿真时间的流逝也很快输入数据对象转变
有一个效果。
纠正这个错误:
停止仿真,这样您就可以编辑表。
添加条件
后(20.0秒)
的过渡Power_on
来Power_off
。现在的过渡
Power_on
来Power_off
不发生直到20秒过去了。开始仿真。
单击一步按钮反复观察固定行为。