主要内容

通过使用点符号识别数据

指定的路径从父状态数据对象,一个合格的数据名称使用点符号。点符号是一种识别Stateflow的数据在一个特定的水平®图的层次结构。一个合格的第一部分数据名称标识父对象。后续部分确定孩子们沿着层次路径。

例如,在这个图表,符号数据位于亚态aa国家的一个。状态和转换操作使用合格的数据名称来引用这个符号。

  • 在缺省转换,操作使用合格的数据名称a.aa.data指定的路径图到顶级状态一个,亚态aa,最后数据

  • 在国家一个使用合格的数据名称,进入行动aa.data指定一个路径从亚态aa数据

  • 在国家b使用合格的数据名称,进入行动a.aa.data指定一个路径图的状态一个,亚态aa,然后数据

图a和b两个国家命名。国家一个包含一个名为aa的亚态。国家aa包含一个名为data的数据对象。

合格的数据名称

在模拟,Stateflow解决了合格的数据名称进行局部搜索的图匹配的数据对象的层次结构。搜索开始在层次结构级别限定数据名称出现的地方:

  • 政府行动,出发点是包含动作的状态。

  • 过渡,过渡的出发点是父源。

决议过程搜索每个层次图层次结构的路径数据。如果一个数据对象匹配路径,流程补充说,数据对象的列表可能的匹配。然后,这个过程仍在继续寻找更高一层的层次结构。解决程序停止后,搜索图表层次。如果存在一个独特的比赛,合格的数据名称解析为匹配路径。否则,该决议过程失败。仿真停止,你会看到一条错误消息。

这个流程图说明了在这一过程中不同阶段为解决合格的数据名称。

流程图描述过程解决合格的数据名称。

使用点符号的最佳实践

解决合格资料名称:

  • 不执行一个详尽的搜索的所有数据。

  • 找到第一个匹配后不停止。

改善的机会找到一个独特的合格数据名称进行解析时搜索结果:

  • 合格的数据名称中使用特定的路径。

  • 给国家独特的名字。

  • 使用状态和盒子作为附件限制路径解决搜索的范围。

合格的数据名称解析的例子

搜索产生不匹配

在这个图表中,输入行动的状态b包含合格数据名称aa.data。如果符号数据居住在国家aa,然后Stateflow不能解决合格数据名称。

图a和b两个国家命名。国家一个包含一个名为aa的亚态。国家aa包含一个名为data的数据对象。

此表列出了不同阶段的解决过程中合格的数据名称aa.data

阶段 描述 结果
1 从国家b,搜索一个对象aa包含数据 没有发现匹配。
2 移动到下一个层次(图表)。寻找一个对象aa包含数据 没有发现匹配。

搜索结束在表级别没有发现匹配aa.data,导致一个错误。

为了避免这种错误,进入动作的状态b指定数据,更具体的限定数据名称a.aa.data

搜索产生多个匹配

在这个图表中,输入行动的状态一个包含两个合格的数据的实例名称aa.data。如果这两个州命名aa包含一个数据对象命名数据,然后Stateflow不能解决合格数据名称。

图表与三个州命名,aa, b。状态包含一个名为aa的亚态。每个州的命名aa包含一个名为data的数据对象。

此表列出了不同阶段的解决过程中合格的数据名称aa.data

阶段 描述 结果
1 从国家一个,搜索一个对象aa包含数据 发现匹配。
2 移动到下一个层次(图表)。寻找一个对象aa包含数据 发现匹配。

搜索结束两场比赛发现在表级别aa.data,导致一个错误。

为了避免这个错误:

  • 使用一个更具体的合格数据名称。例如:

    • 指定数据对象的亚态状态一个,使用合格的数据名称a.aa.data

    • 指定数据对象在顶级状态aa,使用合格的数据名称/ aa.data

  • 重命名包含的一个状态数据

  • 附上顶级状态aa在一个盒子里或在另一个状态。添加一个外壳防止搜索过程检测数据在顶级状态。

    图中,一个盒子包含顶级国家aa级。

相关的话题