通过使用并行分解模型同步子系统
实现并发运行的操作模式,使用平行州Stateflow®图表。例如,作为一个复杂系统设计的一部分,您可以使用并行状态模型独立的组件或子系统,同时是活跃的。
状态分解
分解的图表类型或状态指定表或状态是否包含独家状态或平行状态:
独家州代表互斥操作模式。没有两个独家状态在同一层次级可以活跃或同时执行。Stateflow图表代表每个独家状态由一个坚实的矩形。
平行状态代表独立的操作模式。两个或两个以上的平行状态可以活跃的同时,尽管他们以串行方式执行。Stateflow图表代表每个平行状态通过一个虚线矩形数字指示的执行顺序。
你可以把独家和并行州Stateflow图通过设置各级分解你的状态的层次结构。默认状态分解类型独家(或)
。改变分解类型(平行)
,右键单击父状态和选择分解>(平行)。
一个空气温度控制器模型
这个示例使用并行分解模型一个空气调节器,保持空气温度在120度的物理装置。
在顶层,空气控制器图有两个独家,定时关机
和集成软件包
。图表使用独家(或)分解,因为控制器不能同时打开和关闭。
控制器操作两个球迷。第一个风扇打开当空气温度超过摄氏120度。第二个风扇时提供额外的冷却空气温度高于150度。图表模型这些球迷平行亚态,FAN1
和FAN2
顶级的状态集成软件包
。因为球迷作为独立的组件,打开或关闭操作取决于有多少需要冷却,集成软件包
使用平行(和)分解,确保两个亚态控制器打开时是活跃的。
除了操作阈值、球迷州一个相同的配置建模的亚态和转换,反映了两种风扇操作模式,在
和从
。因为没有风扇可以同时打开和关闭,FAN1
和FAN2
有独家(或)分解。
在集成软件包
,第三个平行状态SpeedValue
代表一个独立的子系统,计算数量的球迷骑在每个时间步。布尔表达式(FAN1.On)
的值为1时在
的状态FAN1
是活跃的。否则,(FAN1.On)
= 0。同样,的价值(FAN2.On)
代表是否FAN2
打开或关闭循环。这些表达式表明粉丝的数量的总和,在每个时间步。
指定的顺序执行并行的状态
虽然FAN1
,FAN2
,SpeedValue
是活跃的同时,这些国家在模拟以串行方式执行。在右上角的角落州的数字指定的顺序执行。此执行顺序的基本原理是:
FAN1
首先因为它周期执行在一个较低的温度比FAN2
。它可以不管FAN2
打开或关闭。FAN2
第二,因为它执行周期在温度高于FAN1
。它可以打开只有FAN1
已经在。SpeedValue
执行最后一个可以观察到的最新的状态FAN1
和FAN2
。
默认情况下,Stateflow分配平行状态的执行顺序基于顺序将它们添加到图表。改变执行顺序的平行状态,右键单击并选择一个值的状态执行顺序下拉列表。
探索的例子
这个例子包含Stateflow图表空中管制员
和仿真软件®金宝app子系统物理设施
。
基于物理装置的空气温度,打开球迷的图表和输出运行粉丝的数量,气流
子系统。这个值决定了冷却活动因素,根据这些规则:
气流
= 0,没有球迷正在运行。空气温度不下降,因为。气流
= 1 -一个粉丝正在运行。根据冷却空气温度降低活动的因素。气流
= 2 -两个球迷正在运行。根据冷却空气温度降低活动的因素。
植物的物理子系统更新空气温度,基于方程,在植物
地点:
是初始温度。默认值是70°。
环境温度。默认值是160°。
是植物的传热系数。默认值是0.01。
对应的冷却活动因素吗
气流
。
冷却的新温度决定了下一个时间步的仿真。