主要内容

创建管理系统复杂性的层次结构

通过创建一个层次结构嵌套的状态。然后,您可以在statflow中控制多个复杂度级别®图表。有关更多信息,请参见模型有限状态机

国家层次

要创建州的层次结构,将一个或多个州置于另一个州的边界内。内部状态是外部状态的子状态(或子状态)。外部状态是内部状态的父状态(或超状态)。

状态层次结构的状态流程图。外部状态称为Parent。它包含两个内部状态Child1和Child2。

父状态的内容就像一个更小的图表。当一个父状态变为活动状态时,它的一个子状态也变为活动状态。当父状态变为非活动状态时,它的所有子状态都变为非活动状态。

层次结构的例子

此示例模拟由AM收音机,FM收音机和CD播放器组成的立体声系统。在仿真过程中,您可以通过单击媒体播放器辅助用户界面上的按钮来控制立体声系统。

立体声最初处于待机模式(OFF)。当您选择Radio Request按钮之一时,立体声将打开相应的子组件。如果您选择了CD播放器,您可以单击CD请求按钮中的一个来选择播放、倒带、快进或停止。在模拟过程中,您可以在任何点插入或弹出磁盘。

使用状态层次结构实现行为

最初,此立体声系统的完整实现显示相当复杂。但是,通过一次关注单一级别的活动,您可以逐步设计整个系统设计。例如,CD播放器进入快速前进播放模式所需的这些条件是必要的:

  1. 你打开音响。

  2. 你打开CD播放器。

  3. 你在播放唱片。

  4. 点击UI中的FF按钮。

您可以构建一个分层模型,一次只考虑其中的一个条件。例如,最外层可以定义立体声打开和关闭之间的过渡。中间层定义了不同的立体声子组件之间的过渡,以及CD播放机的停止和播放模式之间的过渡。最下面的一层定义了当您满足播放光盘的所有其他条件时,对CD请求按钮的响应。

实现立体声系统的行为,sf_mediaplayer.属性下的模型资源管理器列出的嵌套状态层次结构模式管理器图表。要打开模型资源管理器,在建模选项卡上,选择模型浏览器

嵌套状态的层次结构,如模型资源管理器所列。

该表列出了层次结构中每个状态的角色。

层次结构级别 状态 描述
顶层 (模式管理器图表) 喷射 光盘弹出模式(中断所有其他立体声功能)
NormalOperation 立体声系统的正常操作模式

立体声系统活动(儿童国家NormalOperation

备用 立体声系统处于待机模式(关闭)
立体声系统激活(ON)

立体声子组件(的子状态

CDMode. CD播放机子组件是活跃的
AMMode 调幅无线电子组件是有效的
FMMode 调频无线电子组件已激活

CD播放器活动(儿童国家CDMode.

停止 CD播放器停止了
CD播放机正在播放光盘

光盘播放模式(儿童状态

正常的 正常的播放模式
倒带 反向播放模式
快速 快进播放模式

该图显示了图表中各州的完整布局。

模式管理器图表中的状态安排。

历史上连接NormalOperation在弹出光盘或关闭系统之前,将操作模式(待机或待机或开机)和媒体播放器(CD播放器,AM收音机或FM收音机)的活动子组件记录。

探索的例子

这个例子sf_mediaplayer.包含两个其他州流图:

  • 应用程序接口使用UI管理接口,并将输入传递给模式管理器CD播放器图表。

  • CD播放器从中接收输出应用程序接口模式管理器图表和模仿CD播放器的机械行为。

金宝app模拟媒体播放器的Simulink模型。该模型包含图表媒体播放器模式管理器和两个额外的图表,用户请求和CD播放器行为模型。

在模拟过程中,您可以研究每个图表如何响应与Media Player Helper应用程序的交互。要在图表之间快速切换,请使用statflow Editor顶部的选项卡。

相关话题