Simulink.Variant クラス
パッケージ: Simulink
バリアント選択を制御する条件を指定
説明
バリアント制御と呼ばれる条件式を表す Simulink.Variant
クラスのオブジェクト。true
に評価されたときに特定のバリアント選択を有効にする論理式を、このオブジェクトによって指定できます。
バリアント制御は、MATLAB® 変数または Simulink.Parameter
オブジェクトを使用して指定される 1 つ以上のバリアント制御変数で構成されます。
Variant Subsystem ブロックまたは Model Variant ブロックで表現されるバリアント選択ごとにバリアント制御を指定します。特定の Variant Subsystem ブロックまたは Model Variant ブロックについて、同時に 1 つのバリアント制御のみが true
に評価されます。バリアント制御が true
に評価された場合、Simulink® はそのバリアント制御に対応するバリアント選択を有効にします。
構築
によってバリアント制御を作成します。variantControl
= Simulink.Variant(conditionExpression
)
プロパティ
例
MATLAB 変数を使用したバリアント制御の作成
モデルのシミュレーションは行うが、コード生成は行わない場合は、MATLAB 変数を使用します。
スカラー リテラル値をもつ MATLAB 変数を作成します。
Fuel = 3; Emission = 1; Ratio = 3;
変数を使用して条件式を構築します。
Variant1 = Simulink.Variant('Fuel==1 && Emission==2'); Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2'); Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');
Simulink.Parameter
オブジェクトを使用したバリアント制御の作成
コード生成用のプリプロセッサ条件を生成する場合は、Simulink.Parameter
オブジェクトを使用します。
スカラー リテラル値をもつバリアント Simulink.Parameter
オブジェクトを作成します。
Fuel = Simulink.Parameter(3); Emission = Simulink.Parameter(1); Ratio = Simulink.Parameter(3);
値が外部ヘッダー ファイルで指定されるように、これらのオブジェクトのカスタム ストレージ クラスを ImportedDefine
に指定します。
カスタム ストレージ クラスのその他の有効な値は Define
と CompilerFlag
です。
メモ
アクティベーションのタイミングが startup
のコードを生成する場合は、オブジェクトのサポートされるカスタム ストレージ クラスを指定します。startup
のアクティベーションのタイミングをサポートする組み込みおよびカスタムのストレージ クラスの詳細については、Storage Classes for Different Variant Activation Timesを参照してください。
Fuel.CoderInfo.StorageClass = 'Custom'; Fuel.CoderInfo.CustomStorageClass = 'ImportedDefine'; Emission.CoderInfo.StorageClass = 'Custom'; Emission.CoderInfo.CustomStorageClass = 'ImportedDefine'; Ratio.CoderInfo.StorageClass = 'Custom'; Ratio.CoderInfo.CustomStorageClass = 'ImportedDefine';
変数を使用して条件式を構築し、バリアント制御を作成します。
Variant1 = Simulink.Variant('Fuel==1 && Emission==2'); Variant2 = Simulink.Variant('(Fuel==2 || Emission==1) && Ratio==2'); Variant3 = Simulink.Variant('Fuel==3 || Ratio==4');