主要内容

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

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

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

视图中的数据Stateflow编辑器

虽然仿真是停在一个断点,您可以检查数据值指向一个状态,过渡,在表或函数。一个工具提示显示数据和消息的价值选择的对象使用。

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

例如,这个图表的断点暂停时的仿真第二个状态评估它行动。指向超级大国齿轮显示一个工具提示显示的值:

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

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

请注意

如果你选择图表属性出口表级别功能把导出的函数作为全球可见,提示不显示时序逻辑数据。

在符号窗格中查看和修改数据

图是在调试模式下,符号窗格显示的价值中的每个数据和消息对象图。例如,当这个图表在断点处暂停,你可以看到所有图表数据中列出的值价值列。高亮显示的值改变了过去时间步。

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

  • 数据存储内存、当地和输出数据。

  • 当地和输出消息。

单击价值字段的数据或消息对象输入一个新值。

你不能改变常量的值,参数,或者在模拟输入数据和消息。

有关更多信息,请参见管理Stateflow中的符号编辑器

视图中的数据断点,看着窗口

在Stateflow断点和监视窗口中,您可以查看当前数据和消息值模拟时停在一个断点。打开断点和监视窗口调试选项卡上,单击断点列表。另外,打开断点并单击对话框断点列表链接。

  • 看到所有的断点的列表和它们相关的条件下,选择断点选项卡。有关更多信息,请参见通过断点和监视窗口管理断点

  • 检查数据和消息值,选择选项卡。

跟踪观察表中的数据

您可以使用断点和监视窗口:

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

  • 跟踪的价值观改变了,自从上次的步骤。

  • 扩大消息查看消息队列和消息数据值。

例如,您可以添加速度,up_threshold,向上观察名单和跟踪他们的价值观通过模拟步骤。高亮显示的值速度up_threshold改变了过去时间步。

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

另外,在Stateflow编辑器中,右键单击一个状态或转换,使用数据或消息。选择添加到监视窗口并从下拉列表中选择的变量名称。

格式表显示

改变格式用于显示表数据,选择齿轮图标顶部的窗口。使用下拉列表选择一个MATLAB格式为每个数据类型。

从观察名单中删除数据

删除数据或消息对象的观察名单,点的路径看数据并单击把这个手表图标显示左边的变量名。

保存和恢复的表数据

看数据持续在MATLAB会话。当你关闭一个模型,观察数据仍在断点和监视窗口列表。如果你打开一个模型在同一MATLAB会话,观察数据列表,模型恢复。

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

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

虽然仿真是停在一个断点,MATLAB命令提示修改调试> >。在此提示,您可以检查和改变的值Stateflow数据,发送本地和输出消息,并与MATLAB交互工作区。

例如,假设前面的图表已经达到了一个断点。在当前视图可见的数据范围,使用命令。

类属性名称大小字节TWAIT 1 x1 uint8下来1 x1 1逻辑down_th 1 x1 8双down_threshold 1 x1 8双齿轮1 x1 4 gearType速度1 x1 8双节流1 x1 8双1 x1 1逻辑up_th 1 x1 8双up_threshold 1 x1 8双

检查的价值速度up_threshold,输入:

速度
速度= 26.3383
up_threshold
up_threshold = 41.3601

通过使用调试提示修改数据

在调试提示,您可以更改数据存储记忆的价值,当地和输出数据。例如,在前面的图中,您可以改变的价值up_threshold,向上,齿轮:

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

  • 修改向量和矩阵,使用MATLAB语法索引、不管你星盘的操作语言属性。看到索引符号

    例如,改变一个2×2矩阵的对角线的元素u,输入:

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

  • 你可以改变适应可变数据的维度,只要新尺寸在尺寸范围内指定的数据。例如,假设v是一个适应可变数组的最大大小16 (16)。改变的价值v5-by-7数组的输入:

    v = 1 (5、7);

  • 修改枚举数据,通过使用前缀标识符显式地指定枚举类型。看到符号为枚举值

    例如,假设w枚举数据类型颜色。改变的价值w枚举值红色的,输入:

    w = Colors.Red

  • 修改数值数据,铸造一个显式数据类型使用MATLAB类型转换函数。不需要显式铸造数据的类型。看到类型转换操作

    例如,假设x有类型,y有类型int32,z有类型fixdt(12) 1, 16日。改变这些数据对象的值,输入:

    x =单(98.6);y = int32 (100);z = fi(12) 0.5413、1、16日;

  • 你不能改变常量的值、参数或输入数据调试提示。

请注意

修改数据的类型int64uint64,使用函数fi(定点设计师)新值转换为定点类型。

通过使用调试提示发送消息

在调试提示,您可以发送本地和输出消息。例如,在这个图表,当地的信息确定哪些状态后变得活跃状态DecisionPoint。如果图表接收消息与一个积极的价值,收到了变得活跃和图表输出值真正的。否则,国家错过了变得活跃和图表输出值

消息的初始值是零。数据字段的值改为一个正数和本地队列发送消息,输入:

M = 5;发送(M);
当你前进到下一步的模拟,消息触发转换的状态收到了。有关更多信息,请参见控制图断点后执行

遵循这些规则从调试发送消息时提示:

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

  • 你可以从调试发送消息提示只有当图通过调用显式地发送消息发送操作符。

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

有关更多信息,请参见控制消息活动Stateflow图表

访问MATLAB工作区在调试

您可以输入其他MATLAB命令调试提示,但结果执行Stateflow工作区。例如,您可以保存所有的图表变量MAT-file使用保存功能:

保存(chartVars)

在MATLAB中输入一个命令基地工作区,使用evalin命令与第一个参数“基地”。例如,MATLAB工作区中的变量列表,使用命令:

evalin (“基地”,“谁”)

另请参阅

|||

相关的话题