メインコンテンツ

相互交換可能なモデル コンポーネントのバリエーションの作成

モデルを柔軟にしてさまざまな要件に対応できるようにするために、バリアント サブシステムやバリアント モデルを使用できます。バリアントを使用することで、1 つのモデル内でコンポーネントの複数のバリエーションから選択することができます。モデルに変更を加えることなくアクティブなバリアントを変更するには、MATLAB® コマンド ウィンドウでバリアント制御変数の値を変更します。

BasicModelingVariants という名前のモデルには、オペレーターのバリアント選択肢が 3 つ含まれています。

mdl = "BasicModelingVariants";
open_system(mdl)
set_param(mdl,SimulationCommand="Update");

Model with Variant Subsystem block named Operator

バリアント選択肢は Operator という名前の Variant Subsystem ブロックに含まれています。Variant Subsystem ブロックでは、サブシステムとモデルの両方をバリアントの選択肢として使用できます。

Variant choices

Operator1 という名前の Subsystem ブロックがアクティブなバリアントで、これは BasicModelingVariantChoice.m という名前のスクリプトで指定されています。プラントの目標位置を決定するために、このオペレーターは Stateflow® チャートを使用して手続き論理を実装します。

Active variant

非アクティブなバリアントとそのコンテンツはグレー表示されます。プラントの位置に関する目標位置を定義するために、Operator2 という名前の非アクティブな Subsystem ブロックは Waveform Generator ブロックを使用します。

Inactive subsystem variant

プラントの位置に関する目標位置を定義するために、Operator3 という名前の非アクティブな Model ブロックは Pulse Generator ブロックを使用します。

Inactive model variant

参考

トピック