主要内容

在一个图表调试运行时错误

创建模型和Stateflow图表

在这一主题,您创建一个模型金宝app®模型与Stateflow®图表来调试。遵循以下步骤:

  1. 创建以下仿真软件模型:金宝app

    金宝app仿真软件模型,该模型包含一个Stateflow图表。图表从一步阻止接收输入信号从一个正弦波块和一个触发器。

  2. 添加以下状态和转换到你的图表:

    Stateflow图包含两个超级大国称为Power_off和Power_on。输入事件开关触发这些超级大国之间的转换。Power_on包含三个亚态称为第一,第二,第三。国家在图表输入这些亚态之间的周期等于1的转变。

  3. 在你的图表中,添加一个事件开关的范围输入模型金宝app和一个不断上升的边缘触发。

  4. 添加一个数据转变的范围输入模型金宝app

图表有两个州在最高层次的,Power_offPower_on。默认情况下,Power_off是活跃的。事件开关系统之间的切换Power_offPower_on州。Power_on有三个亚态:第一个,第二个,第三。默认情况下,当Power_on变得活跃,第一个也变得活跃。当转变= 1,系统转换第一个第二个,第二个第三,第三第一个,对于每一个事件的发生开关,然后重复的模式。

在模型中,有一个事件输入和数据输入。一个正弦波块生成一个重复输入事件与Stateflow对应的事件开关。步块生成一个重复的模式1和0与Stateflow对应的数据对象转变。理想情况下,开关事件发生在一个频率,允许至少一个循环第一个,第二个,第三

调试Stateflow图表

调试中的图表创建模型和Stateflow图表遵循以下步骤:

  1. 图表中右键单击,并选择设置断点表条目

  2. 开始仿真。

    因为你指定断点表条目,停止执行。

  3. 点击步骤按钮,

    一步按钮执行下一步和停止。

  4. 继续单击一步按钮,观看动画图表。

    每一步后,观察图表动画看到的顺序执行。

单步表明图表并不表现出期望的行为。的转换第一个第二个第三在国家Power_on没有发生,因为过渡的Power_onPower_off需要优先考虑的事情。输出显示的代码覆盖率也证实了这一观点。

正确的运行时错误

调试Stateflow图表,你一步通过仿真图和找到一个错误:该事件开关驱动仿真的仿真时间的流逝太快输入数据对象转变有一个效果。

纠正这种错误如下:

  1. 停止仿真,这样您就可以编辑的图表。

  2. 添加条件(t > 20.0)的过渡Power_onPower_off

    Stateflow图包含两个超级大国称为Power_off和Power_on。一个条件Power_off警卫从Power_on过渡。

    现在的过渡Power_onPower_off才会发生模拟时间大于20.0。

  3. 再次模拟。

  4. 单击一步按钮多次观察新的行为。