主要内容

从不同的源块传播不同的条件到子系统块

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

探索模式

打开模型,slexVariantCondPropToSubsystems

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

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

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

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

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

控件时,子系统块将成为分组的虚拟子系统当传播不同的条件时,按分组处理块参数对话框中的复选框。当当传播不同的条件时,按分组处理复选框为空,则该子系统为未分组的虚拟子系统。

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

变异条件V = 1传播到Subsystem1再深入到里面的积木Subsystem1是一个分组的虚拟子系统(表示一个方程组)。因为Subsystem1是一个系统,所以条件也应用于系统内的块。

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

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

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

传播变异条件时分组处理的虚拟子系统

当传播不同的条件时,按分组处理考虑一个使用Variant Source块的例子:变体Source5还有一个虚拟子系统Subsystem4.的变体Source5有问题V = 1Subsystem4有一个正弦波连接到对Workspace1而且外港块。

Subsystem4获取条件V = 1作为V = 1变体Source5.里面的积木Subsystem4间接继承的条件Subsystem4Subsystem4是有条件的,因为它的输入/输出是有条件的。为了使Subsystem4作为无条件的,添加一个新的输出端口或清除当传播不同的条件时,按分组处理选择。

当传播不同的条件时,按分组处理考虑一个使用Variant Source块的例子:变体Source4还有一个虚拟子系统Subsystem3.的变体Source4有条件V = 1Subsystem3有一个正弦波连接到到工作空间而且外港块。

Subsystem3获取条件V = 1作为V = 1传播的变体Source4.然而,由于无条件阻塞对Workspace1,传播停止,条件V = 1仅设置为着干活端口。现在,Subsystem3也是无条件的,因为内部存在无条件块。

更多关于

Baidu
map