检查和修改数据和消息在调试

当你的状态流®图表是在调试模式下,可以通过检查数据,消息,和时序逻辑表达式的值检查图表的状态。你还可以通过修改数据值和发送本地和输出消息测试图表的设计。此表总结了可以用于执行这些调试任务的接口。欲了解更多信息,请参阅调试Stateflow图

调试任务 Stateflow的编辑器 符号窗格 断点和监视窗口 MATLAB®命令窗口
检查数据和消息的值
检查时间逻辑表达式 没有 没有 没有
修改的数据和消息的值 没有 没有
发送信息 没有 没有 没有

查看数据在Stateflow的编辑

而模拟暂停在断点处,您可以通过指向一个状态,转换,即上图功能检查的数据值。工具提示显示数据的值和所述消息所选择的对象的用途。

对象类型 提示信息
状态和转换 数据,消息的值和时序逻辑表达式该对象使用
图形,真值表和MATLAB功能 本地数据,消息,输入的值,并输出在功能的范围

例如,此表中的断点暂停模拟当第二状态评估其动作。指着超级大国齿轮显示工具提示示出的值:

  • 时序逻辑表达式持续时间(速度> = up_threshold)持续时间(速度<= down_threshold)

  • 数据显示,包括速度up_threshold向上

注意

如果您选择图表属性出口走势级功能治疗导出函数作为全局可见,工具提示不显示时间逻辑数据。

查看和修改数据的符号窗格

虽然图是在调试模式下,符号窗格显示图表中的每个数据和消息对象的值。例如,当这张图在断点处暂停,你可以看到在列出的所有图表数据的值柱。最后的时间步中突出显示的值发生变化。

在符号窗格中,您可以更改的值:

  • 数据存储内存,地方和输出数据。

  • 本地和输出消息。

点击用于数据或消息对象字段中输入一个新的值。

模拟过程中不能改变常量,参数或输入数据和消息的值。

欲了解更多信息,请参阅管理数据,事件,并在符号窗格消息

查看数据的断点和监视窗口

在Stateflow的断点和观察窗口,可以同时模拟暂停在断点处查看当前的数据和消息的值。要打开断点和观察窗口中,调试选项卡,单击断点列表。或者,打开断点对话框,然后点击断点列表链接。

  • 要查看所有断点及其相关条件的列表中,选择断点标签。欲了解更多信息,请参阅管理断点通过断点和监视窗口

  • 检查数据和消息值,选择标签。

跟踪数据的观察名单

您可以使用断点和观察窗口:

  • 数据和消息对象添加到观察名单。

  • 跟踪价值,改变了自上次一步。

  • 扩展的消息以查看消息队列和消息的数据值。

例如,您可以添加速度up_threshold向上到监视列表中,当你通过模拟步骤跟踪它们的值。高亮表示,该值速度up_threshold最后的时间步长期间改变。

要添加一个数据或消息对象的观察名单,打开属性检查器或模型浏览器。选择您想要观看的数据或消息对象,然后单击添加到监视窗口链接。

或者,在状态流编辑器,右击使用数据或消息的状态或过渡。选择添加到监视窗口然后从下拉列表中的变量名。

格式手表展示架

要更改用于显示观察数据的格式,选择齿轮图标在窗口的顶部。使用下拉列表选择对每个数据类型的MATLAB格式。

从观察名单中删除数据

从观察名单中删除数据或消息对象,指向的路径表的数据,然后点击删除此腕表图标出现在变量名的左侧。

保存和还原的监视数据

一个MATLAB会话过程中注意保持数据。当您关闭一个模型,它的观察数据列表保留在断点和观察窗口。如果您在同一MATLAB会话期间重新打开一个模型,该模型表数据列表被恢复。

您可以保存断点和观察数据列表,并在以后的MATLAB会话重新加载它们。要保存断点和监视数据列表的快照,在断点和监视窗口的顶部,单击保存当前断点和监视图标。要恢复一个快照,单击负载断点和监视图标。

查看和修改数据的MATLAB命令窗口

而模拟暂停在断点处,MATLAB命令提示符变为调试>>。在此提示,你可以用MATLAB工作区检查和改变Stateflow的数据值,发送本地和输出消息,以及相互作用。

例如,假设先前的图表已经达到了一个断点。要查看在当前范围是可见的数据,使用谁是命令。

谁是
名称大小字节类属性TWAIT的1x1 1 UINT8向下的1x1 1逻辑down_th的1x1 8双down_threshold的1x1 8的双齿轮的1x1 4 gearType速度的1x1 8双节流的1x1 8翻倍的1x1 1逻辑up_th的1x1 8双up_threshold的1x1 8双

要检查的值速度up_threshold,请输入:

速度
速度= 26.3383
up_threshold
up_threshold = 41.3601

通过调试提示修改数据

在调试的提示,你可以改变数据存储内存,地方和输出数据的价值。例如,在前一图表中,你可以改变的价值up_threshold向上齿轮

up_threshold = 25;
向上= TRUE;
齿轮= gearType.third;
在调试提示修改数据时,遵循这些规则。

  • 要修改向量和矩阵,用于索引使用MATLAB语法,无论你的图表的动作语言属性。看到索引符号

    例如,以改变元件在一个2×2矩阵的对角ü,请输入:

    U(1,1)= 6.022e23;U(2,2)= 6.626e-34

  • 你可以改变可变大小数据的大小,只要新的大小是数据所指定的尺寸范围内。例如,假设v是可变大小的阵列的最大尺寸的[16 16]。要改变的值v到一个5×7阵列的那些,输入:

    V =酮(5,7);

  • 要修改枚举数据,明确使用前缀标识符指定枚举类型。看到符号的枚举值

    例如,假设w ^具有枚举数据类型颜色。要改变的值w ^到枚举值红色,请输入:

    W = Colors.Red

  • 通过使用MATLAB类型转换函数修改的数字数据,转换为一个显式的数据类型。显式转换不需要一个类型的数据。看到类型转换操作

    例如,假设X有型ÿ有型INT32ž有型fixdt(1,16,12)。要更改这些数据对象的值,请输入:

    X =单(98.6);Y = INT32(100);Z =科幻(0.5413,1,16,12);

  • 你不能在调试提示更改常数,参数,或输入数据的值。

注意

若要修改类型的数据Int64的要么UINT64,使用功能科幻铸造的新值,以一个固定的点型。Int64的是一个别名类型fixdt(1,64,0)UINT64是一个别名类型fixdt(0,64,0)

通过调试提示发送消息

在调试的提示,您可以发送本地和输出消息。例如,该图中,本地消息中号确定的状态之后,其状态变为活动状态DecisionPoint。如果图表接收到该消息中号具有正值,则状态收到变为有效和图表输出的值真正。否则,状态错过变为有效和图表输出的值

该消息的初始值是零。数据字段的值更改为正数,将消息发送到它的本地队列,请输入:

M = 5;发送(M);
当你进入到模拟的下一步,消息触发过渡到状态收到。欲了解更多信息,请参阅控制图的执行断点之后

从调试提示发送邮件时遵循以下规则:

  • 读取或写入到一个有效的消息的消息数据字段中,使用该消息对象的名称。不要用点号语法。

  • 您可以从调试提示发送消息只有当图表通过调用明确地发送消息发送运营商。

  • 你不能从调试提示输入发送消息。

欲了解更多信息,请参阅控制消息活性Stateflow图

访问MATLAB工作区在调试

您可以在调试提示符下输入其他MATLAB命令,但结果在Stateflow的工作空间执行。例如,你可以使用保存所有的图表变量在MAT文件的功能:

保存(chartVars)

进入在MATLAB基工作区的命令,则使用evalin与第一个参数命令'基础'。例如,要列出在MATLAB工作空间中的变量,使用命令:

evalin('基础''谁是'

也可以看看

|||

相关话题