Assemble Variant Conditions Propagated from Variant Blocks
During simulation, Simulink® propagates the variant conditions specified on the variant blocks to the
connecting blocks. The variant conditions propagated from multiple variant blocks are
combined using the AND
(&&
) and
OR
(||
) operators.
Cross-Coupling of Inputs and Outputs
In this model, the Variant Source block has two inputs with variant
conditions Var == 1
and Var == 2
,
respectively. The first input to the Variant Source block branches into its second
input before connecting to the block and are active when Var == 1
or Var == 2
evaluates to true
.
During simulation, this model exhibits three modes of operation:
Variant Condition | Active Choice |
---|---|
Var == 1 | First input of Variant Source |
Var == 1 || Var == 2 | Second input of Variant Source and the branch of the first input |
Var == 2 | Second input of Variant Source |
Cascading Blocks and Compounding Conditions
In this model, Variant Source A
and Variant Source
B
are two Variant Source blocks, each fed by two input
ports and connected in a cascading manner. The inputs to Variant Source
A
are active when VarA == 1
or VarA ==
2
. The output of Variant Source A
branches into one
of the inputs of Variant Source B
. The inputs to Variant
Source B
are active when VarB == 1
or VarB
== 2
evaluates to true
.
During simulation, this model exhibits eight modes of operation:
Variant Condition | Active Choice |
---|---|
VarA == 1 && VarB == 1 | First inputs of |
VarA == 1 && VarB == 2 | First input of Variant Source A and the
second input of Variant Source B |
VarA == 2 && VarB == 1 | Second input of Variant Source A and the
first input of Variant Source B |
VarA == 2 && VarB == 2 | Second inputs of Variant Source A and
Variant Source B |
VarA == 1 && VarB != (1,2) | First input of Variant Source A |
VarA == 2 && VarB != (1,2) | Second input of Variant Source B |
VarA != (1,2) && VarB == 1 | None |
VarA != (1,2) && VarB == 2 | Second input of Variant Source B |
VarA != (1,2) && VarB !=
(1,2) | None |
Hierarchical Nesting of Blocks
In this model, multiple Variant Source blocks are used to create
hierarchical nesting of variant choices and provide variations on sensor inputs.
Multiple choices for sensors are first grouped by series: A
Series
, B Series
, and C Series
.
The Variant Source block, Device Model
, selects a
sensor from one of the series. The Vendor
block then chooses from
the sensor choices provided by Device Model
and X
Sensor
.
Simulink propagates complex variant control conditions to determine which model components are active during compilation.