主要内容

使用状态转换表以表格的形式表达时序逻辑

状态转换表块代表一个有限状态机连续模态逻辑的表格格式。而不是在Stateflow绘图状态和转换®图表,您可以使用一个状态机的状态转换表模型简洁,紧凑的格式,需要最少的维护图形对象。

在一个状态转换表,行代表美国在您的系统。过渡列指定条件,条件行动,和目标为每个输出从一个状态转换状态。

状态图转换表高亮显示状态列,转换列,细胞条件,条件作用细胞,细胞和目的地国家。

例如,这个状态转换表包含了模态逻辑对于维护两个组之间的锅炉的温度点,reference_lowreference_high。在正常操作期间,锅炉循环之间的状态,热身,

状态转换表有两个顶级状态称为正常和报警。正常的有三个亚态取消、预热和。

状态转换表代表这个Stateflow图一样的模态逻辑。

Stateflow图有两个顶级状态称为正常和报警。正常的有三个亚态取消、预热和。

更多信息关于这个例子中,看到的通过使用状态转换表模型继电器式控制控制器

程序状态转换表

创建一个状态转换表:

  1. 创建一个模型万博1manbetx®模型,该模型包含一个状态转换表块通过调用函数sfnew

    sfnewstt

  2. 双击状态转换表块。

    块图标状态转换表。

  3. 对于每个工况系统中,添加一个状态行和输入状态标签,所述定义的行为状态。组织复杂系统,定义的层次结构状态通过添加以下儿童心理状态行父状态行。

    • 添加一个状态行,选择一个已存在的状态,在建模选项卡中,选择其中一个选项:

      • 插入状态行——添加一个状态相同级别的层次结构。

      • 插入儿童心理状态行——添加一个状态作为一个孩子的选择状态。

    • 移动一个状态行,单击顶部的边缘状态并拖动到一个新的位置。当你拖动状态,编辑器将显示一个图形提示,表明国家的新职位。

    • 模型操作模式,是活跃的同时,支持并行(和)分解在父状态。有关更多信息,请参见模拟平行状态与状态转换表

  4. 代表国家间的流逻辑的方向,指定条件,条件的行为,从每个州和目的地即将离任的转换。

    • 添加一个过渡列,右键单击现有列的标题,选择其中一个选项:

      • 添加过渡列——添加一个转换表的右边栏。

      • 插入列过渡——添加一个过渡列选择左边的列。

    • 条件,行动,和目标细胞过渡,单击顶部的边缘条件细胞并拖动左边或右边的过渡。条件,行动,和目标细胞作为一个单元一起移动。

    • 指定目的地的过渡,在目标细胞状态,选择一个国家的名字或其中一个选项:

      • 下一个美元——创建一个转换到下一个兄弟状态。该选项不可用过去亚态在每个国家的水平层次结构。

      • 美元:——创建一个转换到以前的兄弟姐妹状态。该选项不可用第一亚态每个级别的层次结构。

      • 美元自——创建一个自身环过渡。

    • 注释掉一个过渡,目的地国家细胞,选择%忽略%

  5. 在每一个层级的级别,标志着第一次成为活跃当父变得活跃。选择一个国家,在建模选项卡上,选择设置为默认状态

    另外,指定一个默认的转型路径与多个分支点,建模选项卡上,选择插入默认的转换行。例如,这个缺省转换行两个目的地之间选择,A1A2,这取决于的价值条件

    缺省转换行A1和A2与过渡状态。

  6. 指定一个内部从一个父状态过渡到一个或多个子状态,建模选项卡上,选择插入内过渡行。例如,在这内过渡行,输入事件E触发器内部转型两个目的地之间选择,B1B2,这取决于的值condition1condition2

    内部行转换过渡到孩子B1和B2。

    您必须指定目的地国家在一个内部过渡行顺序相同,相应的子状态出现在榜单上。例如,在前面的例子中,状态B1上面必须显示状态B2

  7. 如果您的系统已经输入或输出,或取决于状态变量,添加输入,输出和本地数据中描述添加Stateflow数据

  8. 如果您的系统反应事件触发或触发器动作必须在你的图表或其他块模型中,添加输入和输出事件,如中描述通过广播事件同步模型组件

  9. 连接状态转换表块中的其他模块仿真软件模型通过使用输入和输出端口。万博1manbetx

  10. 模拟模型,点击运行。在仿真过程中,状态转换表强调了积极的状态和转换。

模拟平行状态与状态转换表

在Stateflow亚态的状态同时使用并行分解是活跃的。例如,如果使用并行分解和有两个亚态状态,A1A2,两个A1A2是活跃在同一时间。平行状态的更多信息,请参阅定义独家使用状态分解和并行模式

使用平行的州状态转换表块,进入状态转换表。改变分解图层面,进入状态转换表,但不要选择一个国家。在建模选项卡上,选择分解>并行(和)。给一个国家并行分解,选择您想要改变状态的分解。在建模选项卡上,选择分解>并行(和)

请注意

之前更新的分解图或状态并行(和)列的状态转换,所有细胞必须是明确的。

平行状态有一个虚线轮廓,同时表明他们是活跃的。

状态转换表显示并行分解状态。

检测错误的状态转换表

诊断检查运行状态转换表,调试选项卡上,选择更新模型>更新表。诊断工具静态解析表找到错误,例如:

  • 未解决符号

  • 遥不可及的状态

  • 缺省转换行没有无条件的过渡

  • 过渡细胞条件或行为,但没有目的地

  • 在条件下细胞操作文本

  • 内部转换行指定目的地国家以不同的顺序比相应的州出现在榜单上

这些错误检查也在模拟。关于调试状态转换表的更多信息,请参阅在一个状态转换表调试运行时错误

指定的属性状态转换表

状态转换表属性指定你的状态转换表接口与仿真软件模型。万博1manbetx您可以修改这些属性属性检查器、Model Explorer或状态转换表属性对话框。

使用属性检查器:

  1. 打开状态转换表块。

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

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

使用模型资源管理器:

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

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

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

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

  1. 打开状态转换表块。

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

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

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

提示

状态转换表属性的属性的一个子集Stateflow图表。每个属性的描述,请参阅指定属性Stateflow图表

使用状态转换表的指导方针

  • 状态转换表可以使用MATLAB®或者C的动作语言。有关更多信息,请参见MATLAB和C之间的差异作为动作语言的语法

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

  • 状态转换表不支持这些元素Stateflow图表:万博1manbetx

    • Supertransitions

    • 转换操作

    • 当地的活动

    • 绘图水位图形、真值表、MATLAB和Simulink仿真功能万博1manbetx

另请参阅

对象

相关的话题