主要内容

状态转换表Stateflow

状态转换表Block表示一个有限状态机,用于表格式的顺序模态逻辑。而不是在状态流中绘制状态和转换®图表中,您可以使用状态转换表以简洁、紧凑的格式对状态机建模,这种格式只需要对图形对象进行最少的维护。

为了实现控制逻辑,状态转换表可以使用MATLAB®或C作为动作语言。有关更多信息,请参见MATLAB和C作为动作语言语法的区别

创建状态转换表

在MATLAB命令提示符中,输入:

  • 要创建状态转换表在一个新的Simu金宝applink中®模型中,输入:

    sfnewstt
  • 要添加一个新的状态转换表对于现有模型,使用该函数add_block(金宝app模型).例如:

    add_block (sflib/状态转换表...“我的模型/状态转换表”

从Simulink金宝app Library浏览器:

  1. 选择Stateflow库。

  2. 将状态转换表拖到您的模型中。

    状态转换表的块图标。

状态转换表的解剖

状态转换表包含以下组件:

状态转换表的关系图,突出显示状态列、转换列、条件单元格、条件操作单元格和目标状态单元格。

每个转换列包含以下状态到状态的转换信息:

  • 条件

  • 条件作用

  • 目的地国家

使用状态转换表来模拟锅炉

下面的状态转换表包含了维持锅炉温度在两个设定点之间的模态逻辑:

状态转换表,其中包含两个顶级状态,称为Normal和Alarm。Normal有三个子状态,分别为关闭、热身和开启。

这个状态流图表示相同的模态逻辑:

具有两个顶级状态(正常和警报)的状态流程图。Normal有三个子状态,分别为关闭、热身和开启。

状态转换表和图表的区别

状态转换表支持状态流程图中最常用元素的一个子集。金宝app状态转换表不支持的元素包括:金宝app

  • Supertransitions

  • 并行(AND)分解

  • 当地的活动

  • 流程图

  • 使用图表级函数(图形化、真值表、MATLAB和Simulink)金宝app

使用状态转换表的指南

  • 如果在转换单元格中指定操作,则该操作必须是条件操作。

  • 状态转换表必须至少有一个状态行和一个转换列。

为状态转换表指定属性

状态转换表属性指定状态转换表如何与Simulink模型接口。金宝app属性中修改这些属性属性检查器、“模型资源管理器”或“状态转换表”属性对话框。

使用属性检查器

  1. 建模选项卡,在设计数据中,选择属性检查器

  2. 在“状态流编辑器”中,单击状态转换表。

  3. 属性检查器,编辑状态转换表属性。

使用模型资源管理器:

  1. 建模选项卡,在设计数据中,选择模型浏览器

  2. 模型层次结构窗格中,选择状态转换表。

  3. 对话框窗格中,编辑状态转换表属性。

使用“状态转换表”属性对话框:

  1. 打开状态流编辑器。

  2. 建模选项卡上,单击表属性

  3. 在属性对话框中,编辑状态转换表属性。

还可以通过使用以编程方式修改状态转换表属性Stateflow。StateTransitionTableChart对象。有关statflow编程接口的详细信息,请参见statflow API概述

提示

状态转换表属性是状态流程图属性的子集。有关每个属性的说明,请参见为状态流程图指定属性

从状态转换表生成图表

状态流软件从您创建的状态转换表自动生成只读状态转换图。当您向状态转换表输入更改时,statflow也会增量地更新图表。要查看基础关系图的最新版本,请参见调试选项卡上,单击显示自动图表

另请参阅

对象

相关的话题