创建跨州边界的入口和出口连接
进入和退出端口表示进入和退出状态和子图的连接。与超转换一样,入口和出口端口在状态流中创建跨边界的转换路径®层次结构。但是,由于进入和退出端口隔离了进入和退出状态的转换逻辑,因此可以在原子子图中使用它们。MATLAB中独立的状态流程图不支持入口和出口端口®.
在“状态流编辑器”中,进入和退出端口显示为状态或子图边界上的箭头。每个端口都有一个匹配的结,标记状态或子图中的入口或出口点。入口连接图标还有出口结图标指示交叉点。导致入口端口的转换路径沿着连接到匹配入口结的转换继续。类似地,导致出口结的转换路径沿着连接到匹配出口端口的转换继续。例如,在这个图表中,出口端口标记为落荒而逃
表示子图外的退出连接在
.
在子图中,通往出口结的转换路径定义了退出子图的逻辑。在这个例子中,函数温暖的
必须评估到真正的
在两个连续的时间步之前,图表使过渡出在
状态。
有关此示例的详细信息,请参见型号Bang-Bang温度控制系统.有关使用入口和出口端口的其他示例,请参见进入和退出原子子图的隔离转换逻辑而且发射中止系统.
添加入口和出口端口
若要创建入口或出口端口,请在状态图或子图中添加入口或出口连接。
在对象面板中,单击Entry图标或者退出图标.
在图表画布上,单击新入口或出口连接点的位置。匹配的入口或出口端口出现在包含新的入口或出口连接的状态或子图的边界上。
输入连接和匹配端口的标签。看到添加标签以识别匹配的连接和端口.
使用入口和出口端口的指南
仅向排他性(OR)状态和原子子图添加入口和出口连接
入口和出口连接仅在排他(OR)状态和原子子图中受支持。不要向顶级图表、并行(AND)状态或方框添加入口或出口连接。
添加标签以识别匹配的连接和端口
入口和出口端口上的标签表明哪个结连接到哪个端口。当状态只包含一个入口或出口结时,添加标签是可选的。当一个状态包含多个入口结或多个出口结时,需要唯一标签。
防止通过入口和出口端口回溯
为了确保图表成功地进入或退出状态而不回溯,每个入口连接和出口端口必须具有不受条件保护或由事件触发的路径。从入口连接和出口端口的转换路径必须通向状态,并且不能包含终端连接。
隔离入口和出口连接的转换逻辑
从入口连接开始或结束于出口连接的转换路径必须包含在父状态中。
不进入和退出状态在同一时间步骤
默认路径和内部转换路径不能连接到出口结。
在超转换和入口和出口端口之间做出决定
超转换和进入和退出端口都允许您在图表层次结构中的不同级别之间移动。选择哪种方法取决于您的设计需求。
场景 | 建议 |
---|---|
两个兄弟状态的子状态之间的转换,这两个状态都不是子图 | 使用超跃迁。只需单击源状态的边界并将指针拖到目标状态,就可以创建不跨越任何子图边界的超转换。 |
转换到或从正常子图的子状态 | 使用超转换或入口或出口端口。
|
转换到或从原子子图的子状态 | 使用入口或出口端口。超跃迁不能跨越原子子图的边界。 |
指定入口和出口端口的属性
属性中列出的属性属性检查器、“模型资源管理器”或“入口端口”、“出口端口”、“入口连接”或“出口连接”属性对话框。
使用属性检查器:
在建模选项卡,在设计数据中,选择属性检查器.
在状态流编辑器中,选择端口或连接。
在属性检查器,编辑端口或结的属性。
使用模型资源管理器:
在建模选项卡,在设计数据中,选择模型浏览器.
在模型层次结构窗格中,选择端口或连接的父状态或图表。
在内容窗格中,选择端口或结。
在对话框窗格中,编辑端口或连接的属性。
使用“入口端口”、“出口端口”、“入口连接”或“出口连接”属性对话框:
在“状态流编辑器”中,右键单击端口或连接。
选择属性.
在属性对话框中,编辑端口或结的属性。
还可以通过使用编程方式修改端口或连接属性Stateflow。港口
对象。有关statflow编程接口的详细信息,请参见statflow API概述.
父
端口或连接的父端口。属性中不可用的只读属性属性检查器.单击父超链接时,状态流编辑器将父超链接显示到前台。
首页
入口或出口端口的主状态或子图。入口或出口端口的归属是其边界包含该端口的状态或子图。属性中不可用的只读属性属性检查器.单击主超链接时,“状态流编辑器”将主状态或子图显示到前台。
标签
端口或结的标签。此属性对于入口或出口端口是只读的。有关更多信息,请参见定义转换中的动作.
描述
端口或结的描述。
文档链接
链接到端口或连接的在线文档。您可以在“MATLAB命令窗口”中输入web URL地址或MATLAB命令,以HTML文件或文本的形式显示文档。当你点击文档链接, Stateflow计算链接并显示文档。
另请参阅
对象
工具
- 模型浏览器(模型)