In Simulink®, you can create models that are based on a modular design platform that comprises a fixed common structure with a finite set of variable components. The variability helps you develop a single, fixed master design with variable components.
The approach helps you meet diverse customer requirements that are governed by application, cost, or operational considerations.
Variants are the variable components of modular design platforms. They help you specify multiple implementations of a model in a single, unified block diagram. For more information, see What Are Variants and When to Use Them.
For new models, use a Model block for model variants only if you need to use variants that are conditionally executed models (models with control ports). Model variants are supported for backward compatibility. However, support for model variants will be removed in a future release. Use of a Variant Subsystem block provides these advantages:
Allows you to mix Model and Subsystem blocks as variant systems
Supports flexible I/O, so that all variants do not need to have the same number of input and output ports
To convert a Model block that contains variant models to a Variant Subsystem block that contains Model blocks that reference the variant models, right-click the Model block and select Subsystems & Model Reference > Convert to > Variant Subsystem. The converted model produces the same results as the original model.
|Variant Subsystem||Template subsystem containing Subsystem blocks as variant choices|
|Variant Model||Template subsystem containing Subsystem blocks as variant choices|
|Variant Source||Route amongst multiple inputs using variants|
|Variant Sink||Route amongst multiple outputs using variants|
|Manual Variant Source||Switch amongst multiple variant choices at input|
|Manual Variant Sink||Switch amongst multiple variant choices at output|
|Model Variants||Include multiple model implementations as block in another model|
Single system that caters to multiple variant requirements.
Lean how to create a model using Variant blocks.
Learn how to control variant blocks.
Activate, inactivate, or create default variant choices.
Use MATLAB® code to define variant controls.
Represent variant choices using Inline Variants.
View the variant choices in a model containing Inline Variants.
Define variant choice in Variant Source and Sink.
Propagate variant conditions from the Inline Variants block.
Understand variant condition propagation to virtual and non-virtual subsystems.
Learn about variant condition propagation with conditional subsystem.
Control propagation of variant conditions upstream and downstream.
Configure and generate code for a variant model.
Use a central tool to manage variation points of a variants model.
Create variant configuration for a model and validate their accuracy.
Import control variables associated with a model.
Define constraints across models.
Generate models with a subset of variant configurations.
A set of concept examples that illustrate some of the Simulink variants capabilities.