Variants de composants hiérarchiques
Les blocs de type variant hiérarchique permettent de représenter toutes les alternatives de design d'un système dans un même modèle. Chaque option de design est incorporée dans le modèle en tant que choix de variant dans une hiérarchie distincte. De tels modèles disposent d'une structure commune fixe et d'un ensemble limité de composants variables qui sont activés ou désactivés en fonction des contrôles de variants.
Supposons par exemple que vous souhaitiez simuler un modèle représentant un véhicule avec trois configurations de moteur possibles : essence quatre cylindres, essence six cylindres et essence huit cylindres. Vous pouvez implémenter chaque modèle de moteur sous forme de sous-système distinct dans le bloc Variant Subsystem, Variant Model, Variant Assembly Subsystem puis passer d'un sous-système à un autre en fonction des contrôles de variants que vous sélectionnez. Pour plus d’informations, consultez Introduction to Variant Controls.
Le code que vous générez pour les blocs de type variant hiérarchique peut contenir tous les choix de variants d'un système. Vous pouvez passer d'un choix à un autre avant la compilation du code ou au démarrage du modèle comme indiqué dans la rubrique Activate Variant During Different Stages of Simulation and Code Generation Workflow. Pour plus d'informations sur la génération de code avec des blocs de type variant hiérarchique, consultez la rubrique .
Blocs
Variant Subsystem, Variant Model, Variant Assembly Subsystem | Template subsystem containing Subsystem, Model, or Subsystem Reference blocks as variant choices |
Classes
Simulink.VariantControl | Create a variant control variable object (depuis R2021a) |
Simulink.Parameter | Store, share, and configure parameter values |
Simulink.Variant | Specify conditions that control variant selection |
Simulink.VariantUtils | Utility methods to work with variant elements (depuis R2023b) |
Fonctions
enumeration | Class enumeration members and names |
Objets
struct | Structure array |
Rubriques
- Implement Variations in Separate Hierarchy Using Variant Subsystems
Learn basic functionality of variant subsystems.
- Variant Control Modes in Variant Blocks
Learn how to control variant blocks.
- Propagate Variant Conditions to Define Variant Regions with Variant Blocks
Determine active model components by propagating variant conditions using variant blocks.
- Propagate Variant Conditions to Define Variant Regions Outside Variant Subsystems
Propagate variant conditions outside a Variant Subsystem block to adapt its interface according to the state of underlying blocks.
- Model Reference Variants
This example shows how to use model reference variants.
- Control Active Choice of Locked Custom Library Variant Subsystem Using Mask Parameter
Control active choice of Variant Subsystem that belongs to a locked custom library.
- Add or Remove Variant Choices of Variant Assembly Subsystem Blocks Using External Files
Understand how to add or remove variant choices of the Variant Assembly Subsystem block using external files without modifying model.
- Control Variant Choices in Masked Variant Assembly Subsystem Block Using Mask Parameter Object
Specify variant choices and set an active choice in a masked Variant Assembly Subsystem block.
Résolution des problèmes
Convert Configurable Subsystem to Variant Subsystem
Learn how to convert configurable subsystems to variant subsystems and their behavior on loading.
Convert Variant Subsystem to Variant Assembly Subsystem
Steps to convert Variant Subsystem block to Variant Assembly Subsystem block.
Transform Model to Variant System (Simulink Check)
Use the Model Transformer tool to transform a model into a variant system.