在符号窗格中管理数据、事件和消息
在“符号”窗格中,您可以在“状态流”中工作时查看和管理数据、事件和消息®编辑器。在建模选项卡上,选择符号面板.
在符号窗格中,您可以:
添加和删除数据、事件和消息。
设置对象类型和范围。
修改端口号。
编辑对象的名称并更新图表中该对象名称的所有实例。
撤消和重做类型、名称和端口号的更改。
检测未使用的对象。
检测和修复未解决的对象。
跟踪窗口中的对象和在图表中使用对象的位置。
在属性检查器中查看和编辑对象属性。
“符号”窗格中的行显示对象层次结构。展开窗口中的对象以查看该对象的父级数据、事件和消息。默认情况下,图表中的所有非图形对象都列在窗口中。若要仅查看在当前层次结构级别及以下级别使用的对象,请选择图标。若要搜索特定符号,请在“筛选器”搜索框中键入
.
添加和修改数据、事件和消息
要将非图形对象添加到statflow块,请在“符号”窗格中:
选择其中一个图标。
对象 图标 数据 事件 消息 在新对象的行中,在类型,选择对象类型。
编辑对象的名称。
对于输入和输出对象,在港口,选择端口号。
要在属性检查器中查看对象,右键单击对象并选择
检查
.在属性检查器中,修改对象属性。
在通过“符号”窗格添加对象后,对象将显示为未使用状态,直到在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且数据符号在“符号”窗格中显示为未定义。