主要内容

的状态转换表Stateflow

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

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

创建一个状态转换表

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

  • 创建一个状态转换表在一个新的Simulink中®模型中,输入:

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

    add_block (“sflib /状态转换表”...“myModel /状态转换表”

从Simulink库浏览器:

  1. 选择Stateflow库。

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

    状态转换表的块图标。

状态转换表的解剖

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

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

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

  • 条件

  • 条件作用

  • 目的地国家

使用状态转换表对锅炉建模

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

状态转换表,包含两个顶级状态Normal和Alarm。Normal有三个子状态,分别为Off、Warmup和On。

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

具有两个顶级状态(正常和告警)的状态流图。Normal有三个子状态,分别为Off、Warmup和On。

状态转换表和图表的区别

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

  • Supertransitions

  • 并行(和)分解

  • 当地的活动

  • 流程图

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

使用状态转换表的指南

  • 如果您在转换单元格中指定一个操作,那么它必须是一个条件操作。

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

为状态转换表指定属性

状态转换表属性指定状态转换表与Simulink模型的接口方式。中修改这些属性属性检查器、模型资源管理器或状态转换表属性对话框。

使用属性检查器

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

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

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

要使用模型资源管理器:

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

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

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

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

  1. 打开状态流编辑器。

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

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

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

提示

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

从状态转换表生成图

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

另请参阅

对象

相关的话题

Baidu
map