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