Simulink建模与仿真学习笔记之Stateflow子图(Subchart)

子图(Subchart)

如同simulink中有”子系统“,stateflow中也有”子图“。

先看看几种不同的子图及其外观。以下分别是:状态,子图,原子子图,链接原子子图。

其中,链接子图一定是原子子图。它指向库文件中的chart.

示例

示例简介

模型文件:

sf_atomic_sensor_pair.slx

chart内部:

文件:sf_atomic_sensor_lib.slx

chart内部:

功能说明

此例为一个冗余传感器的设计。RedundantSensors里面包含2个Sensor子图和一个Alarm状态。

在单个Sensor中,如果读取成功,则停留在OK状态,输出y等待输入u。读取失败后重新读取,0.5秒后进入Fail状态。

第一个sensor读取失败后,进入第二个sensor中读取。如果都失败,则进入Alarm状态。

关键点:

1,SliderGain模块

可以图形化的形式调节增益。是标准模块库中的一个元件,在Math Operations库里面。

2,链接子图:

创建链接子图的方法:复制库模型中的图表并将其粘贴到另一个模型中的图表中。

注:与链接子系统的操作方法不同。创建链接子系统的方法是,把模块从库模型文件中拖到目标模型文件中。

本例中,先创建库模型文件sf_atomic_sensor_lib.slx。添加chart,状态以及图形函数,并设置输入输出参数。

然后,先拷贝sf_atomic_sensor_lib/SingleSensor这个chart,再在sf_atomic_sensor_pair/RedundantSensors这个chart中粘贴,就会出现Link SingleSensor:

链接子图的右键菜单中,可以设置与库链接(Library Link)相关的功能:

3,数据映射

在库模型中的原子子图中设置的数据、参数都需要重新映射。右键点击原子子图,会多一个Subchart mappings...的菜单。

在这里,将Sensor1的输入u映射到u1,输出y映射到y。

将参数HIGH和LOW分别配置为75和-75.

同样的方法,将Sensor2的u映射到u2,y映射到y,参数配置为100和-100。

4,调用链接原子子图中的函数。

在库文件中,有图形函数inFailed

在模型文件中,需要判断该sensor是否处于Fail状态,如果是,则转到下一个状态。

5,测试验证

(1)输入1为50,输入2为80时,读取Sensor1成功。

输出y=50, Alarm = 0。

(2)输入u1为90,u2为80时,读取sensor2成功。输出y=80, Alarm = 0.

(3)输入u1为90,u2为110时,读取sensor都失败。输出y=0, Alarm = 1.

附录

使用原子子图的好处

原子子图结合了状态,普通子图和原子系统的功能。原子子图:

  • 表现为独立图表。

  • 支持用作库链接。

  • 支持生成可重用的代码。

  • 允许映射输入,输出,参数,数据存储内存和输入事件。

参考资料

使用原子子图创建可重用的子组件

https://ww2.mathworks.cn/help/stateflow/ug/what-is-an-atomic-subchart.html

 

使用原子子图减少编译时间

Reduce the Compilation Time of a Chart

https://ww2.mathworks.cn/help/stateflow/ug/tutorial-reducing-the-compilation-time-of-a-chart.html

使用链接子图,重用状态

Reuse a State Multiple Times in a Chart

https://ww2.mathworks.cn/help/stateflow/ug/tutorial-reusing-a-state-multiple-times-in-a-chart.html

Modeling a Redundant Sensor Pair Using Atomic Subcharts

https://ww2.mathworks.cn/help/stateflow/examples/modeling-a-redundant-sensor-pair-using-atomic-subcharts.html

Modeling an Elevator System Using Atomic Subcharts

https://ww2.mathworks.cn/help/stateflow/examples/modeling-an-elevator-system-using-atomic-subcharts.html

猜你喜欢

转载自blog.csdn.net/booksyhay/article/details/87709646