在一个图表调试运行时错误
创建模型和Stateflow图表
在这一主题,您创建一个模型金宝app®模型与Stateflow®图表来调试。遵循以下步骤:
创建以下仿真软件模型:金宝app
添加以下状态和转换到你的图表:
在你的图表中,添加一个事件
开关
的范围输入模型金宝app和一个不断上升的边缘触发。添加一个数据
转变
的范围输入模型金宝app。
图表有两个州在最高层次的,Power_off
和Power_on
。默认情况下,Power_off
是活跃的。事件开关
系统之间的切换Power_off
和Power_on
州。Power_on
有三个亚态:第一个
,第二个
,第三
。默认情况下,当Power_on
变得活跃,第一个
也变得活跃。当转变
= 1,系统转换第一个
来第二个
,第二个
来第三
,第三
来第一个
,对于每一个事件的发生开关
,然后重复的模式。
在模型中,有一个事件输入和数据输入。一个正弦波块生成一个重复输入事件与Stateflow对应的事件开关
。步块生成一个重复的模式1和0与Stateflow对应的数据对象转变
。理想情况下,开关
事件发生在一个频率,允许至少一个循环第一个
,第二个
,第三
。
调试Stateflow图表
调试中的图表创建模型和Stateflow图表遵循以下步骤:
图表中右键单击,并选择设置断点表条目。
开始仿真。
因为你指定断点表条目,停止执行。
点击步骤按钮,。
一步按钮执行下一步和停止。
继续单击一步按钮,观看动画图表。
每一步后,观察图表动画看到的顺序执行。
单步表明图表并不表现出期望的行为。的转换第一个
来第二个
来第三
在国家Power_on
没有发生,因为过渡的Power_on
来Power_off
需要优先考虑的事情。输出显示的代码覆盖率也证实了这一观点。
正确的运行时错误
在调试Stateflow图表,你一步通过仿真图和找到一个错误:该事件开关
驱动仿真的仿真时间的流逝太快输入数据对象转变
有一个效果。
纠正这种错误如下:
停止仿真,这样您就可以编辑的图表。
添加条件
(t > 20.0)
的过渡Power_on
来Power_off
。现在的过渡
Power_on
来Power_off
才会发生模拟时间大于20.0。再次模拟。
单击一步按钮多次观察新的行为。