バリアントの階層的コンポーネント
階層的バリアント ブロックを使用して、システムのすべての代替設計を単一のモデルで表現できます。設計の選択肢は、それぞれバリアントの選択として個別の階層でモデルに組み込まれます。このようなモデルには、共通の固定構造と、バリアント制御に応じてアクティブまたは非アクティブになる可変コンポーネントの有限セットがあります。
たとえば、次の 3 つのエンジンの構成を取りうる車両を表すモデルのシミュレーションを行うとします。4 気筒ガソリン、6 気筒ガソリン、8 気筒ガソリン。各エンジン モデルを Variant Subsystem, Variant Model, Variant Assembly Subsystem ブロック内で別個のサブシステムとして実装し、それらのサブシステムをバリアント制御の選択に基づいて切り替えることができます。詳細については、バリアント制御の紹介を参照してください。
階層的バリアント ブロックの生成コードには、システムのすべてのバリアントの選択を含めることができます。Activate Variant During Different Stages of Simulation and Code Generation Workflowで説明されているように、コードのコンパイル前やモデルの起動時に選択を切り替えることができます。階層的バリアント ブロックのコード生成の詳細については、バリアントの構造 (Simulink Coder)を参照してください。
ブロック
Variant Subsystem, Variant Model, Variant Assembly Subsystem | Template subsystem containing Subsystem blocks as variant choices |
クラス
Simulink.VariantControl | Create a variant control variable object (R2021a 以降) |
Simulink.Parameter | パラメーター値の保存、共有、構成 |
Simulink.Variant | バリアント選択を制御する条件を指定 |
Simulink.VariantUtils | Utility methods to work with variant elements (R2023b 以降) |
関数
enumeration | クラスの列挙型メンバーと名前 |
オブジェクト
struct | 構造体配列 |
トピック
- 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 to Promote Consistency and Reduce Errors
Propagate variant conditions outside a Variant Subsystem block to adapt its interface according to the state of underlying blocks.
- Propagate Variant Conditions to Control Execution of Conditional Subsystems
Understand how to use Variant Subsystem blocks with conditionally executed systems as variant choices.
- モデル参照のバリアント
この例では、モデル参照バリアントの使用方法を示します。
- 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.
- マスク パラメーターを使用してロックされたカスタム ライブラリのバリアント サブシステムのアクティブな選択肢を制御
ロックされているカスタム ライブラリに属する Variant Subsystem のアクティブな選択肢を制御する。
- Control Structural Variations Using Mask Parameters and Model Arguments
This example shows you how to control structural variations using mask parameters and model arguments in a model. You can use mask and model workspace to simulate and generate code for variant blocks with startup activation time.
- Control Active Choice of Variant Subsystem During Simulation or Execution of Generated Code
Switch the active variant of a Variant Subsystem block during simulation or execution of generated code by using a Parameter Writer block.
トラブルシューティング
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.
モデルをバリアント システムに変換 (Simulink Check)
モデル トランスフォーマー ツールを使用した、モデルのバリアント システムへの変換。