Main Content

Stateflow 对象概述

Stateflow® 对象基于包容关系按层次结构排列。也就是说,一个 Stateflow 对象可以包含其他 Stateflow 对象。

Diagram showing the three levels of the hierarchy of Stateflow objects.

Stateflow 层次结构中处于最高层级的对象是 Stateflow 状态机。Stateflow 状态机包含 Simulink® 模型中的所有 Stateflow 图。

Stateflow 图可以包含状态、函数、框、数据、事件、消息、转移、结点、entry 和 exit 端口以及注释。状态、函数和框可以包含其他状态、函数、框、数据、事件、消息、转移、结点、entry 和 exit 端口以及注释。嵌套层次数可以无限多。

图形对象

要管理图形对象,请使用 Stateflow 编辑器。下表列出了每种图形对象类型和用于添加对象的选项板图标。有关详细信息,请参阅Stateflow 编辑器操作

非图形对象

您可以定义在 Stateflow 编辑器中不以图形方式显示的数据、事件和消息对象。要管理非图形对象,请使用符号窗格或模型资源管理器。有关详细信息,请参阅:

数据对象

Stateflow 图存储并检索用于控制其执行的数据。Stateflow 数据位于它自己的工作区中,但您也可以访问存储在外部、位于嵌入了 Stateflow 状态机的 Simulink 模型或应用程序中的数据。您必须定义在 Stateflow 图中使用的任何内部或外部数据。

事件对象

事件是一种 Stateflow 对象,它可以触发整个 Stateflow 图或图中的单个动作。由于 Stateflow 图通过对事件作出响应来执行,因此您可以在图中指定事件并对事件编程以控制其执行。您可以将事件广播到发送事件的对象的作用域内的每个对象,也可以将事件发送到特定对象。您可以定义直接指定的显式事件,也可以定义在执行某些动作(例如进入状态)时发生的隐式事件。有关详细信息,请参阅通过广播事件同步模型组件

消息对象

Stateflow 消息对象是可以载送数据的排队对象。您可以从一个 Stateflow 图向另一个图发送消息,以便在各图之间进行通信。您也可以在图中发送局部消息。您可以定义消息数据的类型。您可以在 Sequence Viewer 模块中查看消息的生命线。有关详细信息,请参阅通过发送消息与 Stateflow 图通信