バリアントの階層的コンポーネント
階層的バリアント ブロックを使用して、システムのすべての代替設計を単一のモデルで表現できます。設計の選択肢は、それぞれバリアントの選択として個別の階層でモデルに組み込まれます。このようなモデルには、共通の固定構造と、バリアント制御に応じてアクティブまたは非アクティブになる可変コンポーネントの有限セットがあります。
たとえば、次の 3 つのエンジンの構成を取りうる車両を表すモデルのシミュレーションを行うとします。4 気筒ガソリン、6 気筒ガソリン、8 気筒ガソリン。各エンジン モデルを Variant Subsystem, Variant Model, Variant Assembly Subsystem ブロック内で別個のサブシステムとして実装し、それらのサブシステムをバリアント制御の選択に基づいて切り替えることができます。詳細については、バリアント制御の紹介を参照してください。
階層的バリアント ブロックの生成コードには、システムのすべてのバリアントの選択を含めることができます。Activate Variant During Different Stages of Simulation and Code Generation Workflowで説明されているように、コードのコンパイル前やモデルの起動時に選択を切り替えることができます。階層的バリアント ブロックのコード生成の詳細については、Represent Subsystem and Variant Models in Generated Code (Embedded Coder)を参照してください。
ブロック
Variant Subsystem, Variant Model, Variant Assembly Subsystem | Template subsystem containing Subsystem, Model, or Subsystem Reference blocks as variant choices |
クラス
Simulink.VariantControl | Create a variant control variable object |
Simulink.Parameter | パラメーター値の保存、共有、構成 |
Simulink.Variant | バリアント選択を制御する条件を指定 |
関数
enumeration | クラスの列挙型メンバーと名前 |
オブジェクト
struct | 構造体配列 |
トピック
- Variant Subsystem ブロックでのバリアントの選択の定義、設定、有効化
Variant Subsystem でバリアントの選択を表現します。
- Variant Control Modes in Variant Blocks
Learn how to control variant blocks.
- Variant Subsystem の外部へのバリアント条件の伝播
Variant Subsystem ブロックの外部にバリアント条件を伝播することで、そのインターフェイスを基となるブロックの状態に従って適応させる。
- Use Variant Subsystem Blocks with Conditionally Executed Subsystems
Understand how to use Variant Subsystem blocks with conditionally executed systems as variant choices.
- Variant Subsystem 出力端子でのバリアント関数呼び出し信号
この例では、Variant Subsystem ブロックの出力端子でその選択ブロックから関数呼び出し信号をマージする方法を示します。
- モデル参照のバリアント
この例では、モデル参照バリアントの使用方法を示します。
- マスク パラメーターを使用してロックされたカスタム ライブラリのバリアント サブシステムのアクティブな選択肢を制御
ロックされているカスタム ライブラリに属する Variant Subsystem のアクティブな選択肢を制御する。
- 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 the Variant choices specifier parameter.
- Control Variant Choices in Masked Variant Assembly Subsystem Block Using Mask Parameter Object
This example shows how to specify variant choices and set an active choice in a masked Variant Assembly Subsystem block using a mask parameter object.
トラブルシューティング
Configurable Subsystem の Variant Subsystem への変換
Configurable Subsystem の Variant Subsystem への変換方法と読み込みの動作について学習する。
Convert Variant Subsystem to Variant Assembly Subsystem
Steps to convert Variant Subsystem block to Variant Assembly Subsystem block.
モデルをバリアント システムに変換 (Simulink Check)
モデル トランスフォーマー ツールを使用した、モデルのバリアント システムへの変換。