Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

Stateflow

为了获得使用 Stateflow® 软件的实际体验,您将遵循对 Stateflow 中的反应式系统建模中描述的基本工作流,一步步地构建一个 Stateflow 图。

您将构建一个 Stateflow 图,其中的工作流将工厂中的气温保持在 120 度。Stateflow 控制器操作了两个风扇。如果气温高于 120 度,将开启第一个风扇;如果气温高于 150 度,将开启第二个风扇提供进一步的冷却。完成之后,Stateflow 图应看上去与下面类似:

正如您可以从标题栏看到的,该图的名称为 Air Controller,是名为 sf_aircontrol 的 Simulink® 模型的一部分。当您构建该图时,将会了解如何使用状态转移图的以下元素:

互斥 (OR) 状态.  表示互斥工作模式的状态。两种互斥 (OR) 状态不能同时激活或同时执行。互斥 (OR) 状态以图形方式表示为实线矩形:

Air Controller 图包含以下六种互斥 (OR) 状态:

  • PowerOn

  • PowerOff

  • FAN1.On

  • FAN1.Off

  • FAN2.On

  • FAN2.Off

并行 (AND) 状态.  表示独立工作模式的状态。同一层级中的两种或两种以上的并行 (AND) 状态可以同时激活,但它们是以串行方式执行的。并行 (AND) 状态以图形方式表示为虚线矩形,其中编号指示执行顺序:

Air Controller 图包含以下三种并行 (AND) 状态:

  • FAN1

  • FAN2

  • SpeedValue

转移.  用于将一种状态链接到另一种状态并指定流方向的图形对象。转移用单向箭头表示:

Air Controller 图包含以下六种转移:

  • PowerOnPowerOff

  • PowerOffPowerOn

  • FAN1.OnFAN1.Off

  • FAN1.OffFAN1.On

  • FAN2.OnFAN2.Off

  • FAN2.OffFAN2.On

默认转移.  用于指定当层次结构中同一层的两种或两种以上的互斥 (OR) 状态之间存在不明确性时,哪一种互斥 (OR) 状态将被激活的图形对象。默认转移用带有闭合尾部的箭头表示:

Air Controller 图包含以下默认转移:

  • 在图级别上,默认转移指示当激活该图后将首先激活(唤醒)PowerOff 状态。

  • FAN1FAN2 状态中,默认转移指定当激活这些状态后将关闭风扇。

状态动作.  基于状态的状况执行的动作。

Air Controller 图包含以下两种类型的状态动作:

  • PowerOff 状态中的 entry (en) 动作。当进入(激活)该状态时,将会执行 entry 动作。

  • SpeedValue 状态中的 during (du) 动作。当某种状态被激活并且没有提供到其他状态的有效转移时,将会对该状态执行 during 动作。

 其他类型的状态动作

条件.  布尔表达式,当表达式为 true 时允许进行转移。条件用方括号 ([ ]) 括起来,显示为转移标签。

Air Controller 图基于工厂在每个时间步的气温对 FAN1.OnFAN1.Off 之间以及 FAN2.OnFAN2.Off 之间的转移提供了条件。

事件.  可以触发各种活动的对象,包括:

  • 唤醒 Stateflow 图

  • 引发从一种状态到另一种状态的转移(可能还要基于条件才会触发)

  • 执行动作

Air Controller 图包含以下两个边沿触发的事件:

  • CLOCK 在方波信号的每个上升沿或下降沿唤醒 Stateflow 图。

  • SWITCH 允许在脉冲信号的每个上升沿或下降沿在 PowerOffPowerOn 之间转移。