独立调试Stateflow图表
一个独立的状态流®图表是一个MATLAB®类,它定义有限状态机的行为。独立图表使用MATLAB作为操作语言实现经典图表语义。您可以使用MATLAB的全部功能对图表进行编程,包括在Simulink中限制代码生成的那些函数万博1manbetx®.有关更多信息,请参见创建作为MATLAB对象执行的状态流程图.
若要启用调试,请在独立图表中或在执行图表的MATLAB脚本中设置断点。断点暂停图表的执行。在暂停执行时,您可以逐级遍历图表中的每个操作、查看数据值,并与MATLAB工作空间交互以检查图表的状态。
请注意
当调试从MATLAB脚本执行的独立图表时,首先打开状态流编辑器。在至少一次打开编辑器之前尝试调试独立图表可能会产生意想不到的结果。
有关在Simulink模型中调试状态流程图的信息,请参见万博1manbetx将断点设置为调试图表.
设置和清除断点
断点显示为圆形红色徽章。例如,此图表包含状态上的断点一个
在从一个
来B
.
您可以在图表、状态和转换上设置断点。
图表上的断点
若要在图表上设置断点,请在图表内右键单击并选择在图表入口上设置断点.这种类型的断点在进入图表之前暂停执行。
若要删除断点,请在图表中右键单击并清除在图表入口上设置断点选择。
状态和转换上的断点
您可以在状态和转换上设置不同类型的断点。
对象 | 断点的类型 |
---|---|
状态 |
|
|
|
|
|
过渡 |
|
|
若要在状态或转换上设置断点,请右键单击状态或转换并选择设置断点.对于状态,默认断点为关于入境
而且在国家
.对于转换,默认断点为何时转换有效
.要更改断点的类型,请单击断点标识并选择不同的断点配置。有关更多信息,请参见管理断点类型和条件.
若要删除断点,右键单击状态或转换并选择清晰的断点.若要删除图表中的所有断点,请在图表内右键单击并选择清除图表中的所有断点.
管理断点类型和条件
断点标识可以表示不止一种类型的断点。若要查看列出在状态或转换上设置的断点类型的工具提示,请指向其标记。在本例中,标识为状态一个
表示两种断点类型:关于入境
而且在国家
.
若要更改对象上的断点类型,请单击断点标记。在“断点”对话框中,您可以根据对象类型选择不同的断点配置。清除“断点”对话框中的所有复选框将删除该断点。
若要限制执行在断点处停止的次数,请向断点添加条件。默认情况下,状态流图在到达断点时暂停。向断点添加条件时,图表仅当条件为真时才会在断点处暂停。例如,在这些条件下,状态上的断点一个
的值时,才暂停图表的执行x
是负的。
要为断点指定条件,可以使用任何有效的MATLAB表达式,该表达式将数值和断点范围内的statflow数据对象组合在一起。
断点后的控制图执行
当执行在断点处停止时,statflow进入调试模式。
MATLAB命令提示符变为
K > >
.的符号窗格显示图表中每个数据对象的值。
该图表用蓝色突出显示活动元素,用绿色突出显示当前正在执行的对象。
例如,当执行在状态中的断点处停止时一个
,状态的边界和状态中的第一个语句条目
动作以绿色突出显示。
执行状态徽章出现在执行暂停的图形对象中。
徽章 | 描述 |
---|---|
|
在进入图表或处于某种状态之前暂停执行 |
|
执行处于暂停状态 |
|
执行处于暂停状态 |
|
在测试转换之前暂停执行。 |
|
在进行有效转换之前暂停执行。 |
当图表在断点处暂停时,您可以使用以下命令继续执行:
按钮。调试选项卡
MATLAB命令窗口
键盘快捷键
行动 | 调试标签按钮 | MATLAB命令 | 键盘快捷键 | 描述 |
---|---|---|---|---|
继续 |
|
dbcont |
Ctrl + T | 继续执行到下一个断点。 |
跨过 |
|
dbstep |
F10 | 进入图表执行的下一步。在图表层面,可能的步骤包括:
有关更多信息,请参见状态流程图的执行. |
一步 |
|
dbstep在 |
季 | 从调用函数的状态或转换操作,前进到函数中的第一个可执行语句。 从包含另一个函数调用的函数中的语句,前进到第二个函数中的第一个可执行语句。 否则,请执行图表执行的下一步。(请参见“跨越”选项。) |
走出 |
|
dbstep出来 |
Shift +季 | 从函数调用返回到调用该函数的语句。 否则,继续执行到下一个断点。(请参阅Continue选项。) |
停止 |
|
dbquit |
Ctrl + Shift + T | 退出调试模式并中断执行。 当您从状态流编辑器执行独立图表时,此操作将从MATLAB工作空间中删除图表对象。 |
在包含多个语句的状态或转换操作中,您可以通过选择,一次逐级遍历单个语句跨过.状态流编辑器在执行每个语句之前突出显示它。
请注意
因为独立图表根据挂钟时间定义时间逻辑,所以当图表在断点处暂停时,时间逻辑运算符可以变得有效。在这种情况下,图表退出调试模式,并继续执行到下一个断点。
检查和更改图表数据的值
状态流处于调试模式时,符号窗格显示图表中每个数据对象的值。还可以通过指向图表中的状态或转换来检查数据值。工具提示显示在所选状态或转换中使用的每个数据对象的值。
要测试图表的行为,请在符号窗格中,您可以在执行期间更改数据对象的值。或者,在调试提示符处,使用关键字输入新值这
代替图表对象名称。例如,更改本地数据的值x
,输入:
这一点。X = 7
请注意
在Simulink模型中调试图表时,不要使用关键字万博1manbetx这
.相反,您可以在调试提示符处直接访问所有Stateflow数据。有关更多信息,请参见在MATLAB命令窗口中查看和修改数据.