文档

在符号窗格中管理数据、事件和消息

在“符号”窗格中,您可以在“状态流”中工作时查看和管理数据、事件和消息®编辑器。在建模选项卡上,选择符号面板

在符号窗格中,您可以:

  • 添加和删除数据、事件和消息。

  • 设置对象类型和范围。

  • 修改端口号。

  • 编辑对象的名称并更新图表中该对象名称的所有实例。

  • 撤消和重做类型、名称和端口号的更改。

  • 检测未使用的对象。

  • 检测和修复未解决的对象。

  • 跟踪窗口中的对象和在图表中使用对象的位置。

  • 在属性检查器中查看和编辑对象属性。

“符号”窗格中的行显示对象层次结构。展开窗口中的对象以查看该对象的父级数据、事件和消息。默认情况下,图表中的所有非图形对象都列在窗口中。若要仅查看在当前层次结构级别及以下级别使用的对象,请选择图标。若要搜索特定符号,请在“筛选器”搜索框中键入

添加和修改数据、事件和消息

要将非图形对象添加到statflow块,请在“符号”窗格中:

  1. 选择其中一个图标。

    对象 图标
    数据
    事件
    消息

  2. 在新对象的行中,在类型,选择对象类型。

  3. 编辑对象的名称。

  4. 对于输入和输出对象,在港口,选择端口号。

  5. 要在属性检查器中查看对象,右键单击对象并选择检查

  6. 在属性检查器中,修改对象属性。

在通过“符号”窗格添加对象后,对象将显示为未使用状态,直到在Stateflow设计中引用它们。

在“符号”窗格中,您可以修改statflow对象的名称、类型和端口号。属性中的对象名称的名字字段。重命名对象时,请选择Shift + Enter重命名整个状态机中对象的所有实例。如果需要修改对象类型或端口号,单击对应字段,在可选选项中进行选择。若要从状态机中删除对象,请右键单击该对象并选择删除.要撤消或重做这些更改,请使用编辑菜单。

在符号窗格中检测未使用的数据

“符号”窗格用黄色警告图标指示未使用的数据、消息、功能和事件。若要删除未使用的对象,请在“符号”窗格中右键单击对象并选择删除.通过删除对模拟没有影响的对象,可以减小模型的大小。在这个图表中,当你添加数据,它首先显示为未使用。在你引用之后数据在图表中,警告标志消失了。

未检测到以下类型的未使用数据:

  • Machine-parented数据

  • MATLAB的输入输出®功能

  • 包含原子子图的图表中参数范围的数据

跟踪数据、事件和消息

状态流提供状态机和非图形符号之间的可跟踪性。在“符号”窗格中选择符号时,“状态流”将突出显示访问该符号的图表部分。在图表中选择对象时,statflow将突出显示该对象使用的符号。

若要控制对象和符号何时突出显示,请选择首选项按钮.出现一个下拉菜单。

若要“状态流”突出显示对象使用的“符号”窗格中的符号,请选择突出使用过的符号.若要“状态流”突出显示图表中使用符号的对象,请选择在图表上突出显示使用.与在图表上突出显示使用你可以选择高亮显示:

  • 图表中所有符号的使用。

  • 读取符号的地方。

  • 对象到写入符号的位置。

例如,打开模型sf_tetris2双击图表TetrisLogic.在“符号”窗格中,当您选择常量时ARENA_HEIGHT即使用的状态和函数ARENA_HEIGHT突出显示。如果图表不使用对象,则该符号将显示在窗口中,并带有黄色警告图标

看看常数的用途ARENA_HEIGHT,打开函数冻结

您还可以在图表中选择图形对象,例如状态、转换或函数,并查看对象使用的符号。例如,在图表中TetrisLogic,展开符号MainArea在“符号”窗格中。如果选择状态FreezeShape在图表中,然后是本地数据形状这个函数冻结()在“符号”窗格中高亮显示。这种高亮显示表明这些对象是在状态中使用的FreezeShape

在调试模式下,每个数据的值显示在价值列的“符号”窗格。状态流在模拟运行时定期更新值。值列在发生更改时突出显示对数据值的更改。当调试器在断点处停止时,可以在命令提示符或“符号”窗格中更新符号的初始值或更改符号的值。

数据或消息 更新初始值 调试时更新
输入 没有 没有
输出 是的 是的
参数 没有 没有
常数 是的 没有
数据存储内存 没有 是的
当地的 是的 是的

对于总线元素,您可以在命令提示符或符号窗格中更改符号的值。

公共汽车元素 更新初始值 调试时更新
输入 没有 没有
输出 没有 是的
参数 没有 没有
常数 没有 没有
数据存储内存 没有 是的
当地的 没有 是的

在“符号”窗格中,多维数组显示为数组的数据类型和大小。如果数组的元素不超过100个,请将鼠标悬停在该符号上以查看元素。对于包含超过100个元素的数组,请使用命令提示符查看元素。

当模拟暂停时,将鼠标悬停在画布中的消息上以查看队列中的有效负载。这类似于画布上的悬停功能。对于其他非标量对象,则显示大小和数据类型。要查看这些值,请使用Watch窗口。看到调试时检查和修改数据和消息而且在监视列表中跟踪数据

符号及窗格限制

不能通过“符号”窗格添加表中列出的对象类型。要添加这些类型的对象,请使用Model Explorer。作为最佳实践,避免使用机器父数据。

对象 通过符号窗格 在符号窗格中可见
由状态生成的数据、事件和消息 没有 是的
函数中的数据、事件和消息 没有 是的
由状态机生成的数据和事件 没有 没有

额外的限制:

  • 修改MATLAB函数中的代码时,直到保存MATLAB函数后,更改才会在“符号”窗格中更新。

  • 不能撤消或重做对MATLAB函数输入和输出的更改。

  • 无法从状态转换表中恢复已删除的数据、事件或消息。

  • 不能撤消对图形函数、MATLAB函数和真值表作为父级的数据的作用域更改。

  • 不能为真值表撤消对象的重命名。

  • 删除包含在基于Simulink的状态中的对象的数据时,该对象将保持基于Simulink的状态,并金宝app且数据符号在“符号”窗格中显示为未定义。

相关的话题