主要内容

将变异条件从变异源块传播到子系统块

子系统块可以表示虚拟子系统或非虚拟子系统。虚拟子系统在模型中提供图形层次结构,并且不影响模型的执行。非虚拟子系统作为模型中的单个单元执行。万博1manbetxSimulink以不同的方式向这些子系统传播不同的条件。这个示例展示了变体条件从变体源块到子系统块的传播。

探索模型

打开模型,slexVariantCondPropToSubsystems

点击模拟>运行来模拟此模型,并查看从variant Source块传播到连接到它的块的变体条件。

变量条件注释帮助您可视化传播的条件。要查看变量条件注释,请单击显示>>变异条件传奇

该模型包含三个Variant Source块:变体Source1变体Source2,变体Source3,分别。

变体Source1包含条件V = 1V = 2在轮廓尺寸。不同条件下V = 1传播到GainA1V = 2传播到Sine2.的Sine1块不会得到任何传播的变量条件,因为它连接到块,无论变量条件如何,块总是被使用。如果对工作区block1在模拟模型前不存在或被注释掉,情况不同V = 1传播到Sine1

变体Source2是否连接到虚拟子系统Subsystem1Subsystem2它们的内容相同,a正弦波块连接到到工作空间和一个输出块。Subsystem1是分组虚拟子系统(在传播可变条件时,按分组处理选择),而Subsystem2 (在传播可变条件时,按分组处理是一个未分组的虚拟子系统。

选择时,子系统块将成为分组的虚拟子系统在传播可变条件时,按分组处理复选框。当在传播可变条件时,按分组处理复选框,则子系统是未分组的虚拟子系统。

一个分组的子系统代表一个方程系统,因此传播的条件也适用于这个系统中的块。一个分组的子系统有一个连续的边界。一个未分组的子系统并不代表一个方程系统,并且其中的块具有未分组的语义。未分组的子系统具有虚线边界,并且条件被传播到子系统中。

不同条件下V = 1传播到Subsystem1再往里面的街区走Subsystem1是一个分组的虚拟子系统(表示一个方程系统)。因为Subsystem1是一个系统,所以条件也适用于系统中的块。

Subsystem2这是一个未分组的虚拟子系统(不代表一个方程系统)也接收V = 1作为传播条件,以及传播的变量条件V = 1传播到子系统2就好像子系统被展开了一样。子系统2图标上的虚线表示在Simulink编译期间它是扁平的,因此您可以在其中看到那些块的变体条件。万博1manbetx

变体Source3用?连接到非虚拟(原子)子系统V = 1作为传播的变项条件。非虚(原子)子系统总是表示一个方程组。原子子系统有一条连续的实心边界。变量条件不会在非虚拟子系统内部传播。相反,它停留在边界上。但是,该子系统中的所有块都得到与子系统相同的变条件。非虚拟子系统的行为如同一个实体。

默认情况下,虚拟子系统的工作方式类似于一个分组的块集合,其中子系统中包含的所有块都具有相同的变体条件。这是真的在传播可变条件时,按分组处理参数被选中。虚拟子系统的行为类似于未分组的块集合在传播可变条件时,按分组处理参数是清除。在本例中,Subsystem2 (Ungrouped)的行为可能不像预期的那样,因为块永远不会变成有条件的。非虚拟子系统的行为总是像一个实体,并且内容只在满足分配给子系统的条件时执行。非虚拟子系统、模型块和分组虚拟子系统的行为是相同的。

虚拟子系统在传播变条件时按组处理

在传播可变条件时,按分组处理选项是On:考虑一个Variant Source块的例子:变体Source5一个虚拟子系统Subsystem4.的变体Source5有一个条件V = 1Subsystem4正弦波是否与a相连对Workspace1外港块。

Subsystem4得到条件V = 1作为V = 1从传播变体Source5.里面的块Subsystem4间接地从Subsystem4Subsystem4是有条件的,因为它的导入/输出端口是有条件的。为了使Subsystem4作为无条件的,添加一个新的输出或清除在传播可变条件时,按分组处理选择。

在传播可变条件时,按分组处理选项是Off:考虑一个Variant Source块的例子:变体Source4一个虚拟子系统Subsystem3.的变体Source4有条件V = 1Subsystem3正弦波是否与a相连到工作空间外港块。

Subsystem3得到了条件V = 1作为V = 1传播的变体Source4.但是由于无条件阻塞对Workspace1,传播停止和条件V = 1设置为着干活端口。现在,Subsystem3也是无条件的,因为其中存在无条件块。

更多关于