Stateflow调试器是非常重要的Stateflow图形工具之一。
如果需要启动调试器,则需要单击Stateflow图形编辑器工具栏上的调试器(Debug)按钮,弹出的Stateflow调试器菜单栏如下图所示:
在右边的控制仿真运行的菜单上,有用来完全进行仿真调试运行状态(Run)、单步执行(Step Forward)、单步退回(step Back)、以及停止仿真等功能按钮。
1.设置断点
在进行调试之前要设置相应的断点,除了全局断点(全局断点可以在调试的过程中设置或者取消),还可以针对状态、转移、事件以及函数等对象设置断点。
对象的断点设置可以选择要添加断点的对象,点击add breakpoint即可添加相应的断点,其中事件的断点可以在模型查看器中添加。
状态的断点有三种,分别为:
State During:在执行状态的During动作之前进入调试模式
State Entry:在执行状态的Entry动作之前进入调试模式。
State Exit:在执行状态的Exit动作之前进入调试模式。
断点的设置可以选择状态,点击鼠标右键选择set breakpoint,就是在状态的左下角出现一个小红点,点击小红点可以选择状态断点的类型。同样选择状态,鼠标点击右键选择clear breakpoint即可清除断点。
对状态设置断点也可以利用上方的Debug菜单快捷按钮,选中要添加断点的状态,点击Add Breakpoint,即可为状态添加断点。同时也可以点击清除断点的按钮。
转移的断点有两种,分别为:
When Tested:在转移被检测之前进入调试模式。
When Valid:转移经过检测是有效的,在执行前进入调试模式。
与状态添加断点类似,转移添加断点也可以通过选择相应的转移,点击右键即可,也可以通过菜单栏的方式添加断点。
事件的断点有两种,分别为:
Start of Broadcast:在事件被广播之前进入调试模式。
End of Broadcast:在事件广播结束后进入调试模式。
事件的断点设置可以在其属性对话框中完成或者在模型查看器中完成。
图形函数的断点只有一个:
Function Call:在函数被调用之前进入调试模式。
可以选择图形函数,点击鼠标右键,选择set Breakpoint During Function Call。
真值表的断点设置方法和图形函数类似。
2.调试过程
在下图所示的Stateflow模型中包含了图形函数factorial,这个函数得到功能是求阶乘。
模型仿真运行时,会报错,图形函数中的本地数据对象n和result的类型不能inherit继承的类型,可以改成double。
修改完成后,模型能够运行,结果如下:
我们对模型的状态A添加状态断点,运行模型后,当事件E第一次发生并且激活状态图时进入调试模型,此时的模型如下图所示:
选中状态,点击上方的Add to Watch ,可以将数据对象添加到可视窗口。
点击上方的Breakpoint list即可查看所有的断点和数据对象设置为可视的值。
错误检测的选项:
参考内容
[1] 张威.Stateflow逻辑系统建模[M].西安:西安电子科技大学出版社,2007.
本文内容来源于网络,仅供参考学习,如内容、图片有任何版权问题,请联系处理,24小时内删除。
作 者 | 郭志龙
编 辑 | 郭志龙
校 对 | 郭志龙
页面更新:2024-04-18
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号