传播条件变体从变异源块有条件地执行子系统
一个有条件地执行子系统是nonvirtual子系统,它允许您控制其执行与外部信号。启用、触发和函数调用子系统是条件子系统的例子。外部信号控制条件子系统称为控制信号和端口信号进入块叫做控制端口。有关条件子系统的更多信息,请参阅有条件地执行子系统概述。
您可以使用一个单输入对于单或多输入变异来源块控制的执行条件子系统基于积极的变异条件的港口变异来源块。
使用变异源块来控制执行条件子系统模块
这个例子展示了如何使用一个单输入/对于变异源块控制块的执行条件子系统。
探索模型
打开模型slexVariantControlPorts
。
对于模型包含一个单输入/变异源块,变体Source1
,变量设置为条件V = = 1
。的输出变体Source1
块连接到端口启用子系统的控制子系统
。
的允许控制零活跃的变体的参数变体Source1
块设置为在
。当这个选项被选中,没有活跃的变体的选择,模型®禁用所有的块连接到源数据块的输入和输出流变体。金宝app
当你设置后模拟模型V = 1
,条件V = = 1
传播的外港变体Source1
然后控制端口子系统
。分配给子系统的条件块然后传播到街区命名Sine2
和着干活
连接到它的输入和输出端口。如果你设置V
以外的一个值1
仿真金宝app软件禁用所有块连接到的轮廓尺寸和输出港变体Source1
。
传播变异条件函数调用子系统
一个函数调用子系统块是一个子系统,在模拟另一个块可以直接调用。函数调用子系统块类似于一个函数在程序的编程语言。有关更多信息,请参见使用函数调用子系统。
您可以使用一个变异源块使函数调用子系统块条件。
变异源块条件V = = 1
,在那里V
是一个金宝appSimulink.Parameter
。
的输出函数调用源块设置为参数的变体在
。这使得块输出函数调用信号。
的允许控制零活跃的变体源块设置为参数的变体在
。
这个模型模拟时,变异来源的变异条件阻止传播的控制端口SubA
子系统块和进一步传播块连接到它的港口和外港。
当
V = 1
,SubA
块是活跃和变异条件将向后和向前传播到块连接到输入(三机一体
)和输出(着干活
)端口。
当
V ~ = 1
(例如,V = 0
),SubA
变得不活跃,这使得着干活
不活跃的。In2
因为它是连接仍然活跃SubB
,这是活跃的。
如果
In2
没有连接到SubB
,In2
变得不活跃的时候V ~ = 1
。
请注意:如果函数调用子系统是放置在一个虚拟的分组子系统,变异条件触发的函数调用子系统必须匹配相应的条件更高水平子系统的输入块。