Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Simulink.Variant クラス

パッケージ:金宝app

バリアント選択を制御する条件を指定

説明

バリアント制御と呼ばれる条件式を表すSimulink.Variantクラスのオブジェクト。trueに評価されたときに特定のバリアント選択を有効にする論理式を、このオブジェクトによって指定できます。

バリアント制御は、MATLAB®変数またはSimulink.Parameterオブジェクトを使用して指定される 1 つ以上のバリアント制御変数で構成されます。

Variant SubsystemブロックまたはModel Variantブロックで表現されるバリアント選択ごとにバリアント制御を指定します。特定のVariant SubsystemブロックまたはModel Variantブロックについて、同時に 1 つのバリアント制御のみがtrueに評価されます。バリアント制御がtrueに評価された場合、Simulink®はそのバリアント制御に対応するバリアント選択を有効にします。

構築

variantControl= Simulink.Variant(conditionExpression)によってバリアント制御を作成します。

プロパティ

すべて展開する

バリアント条件式。以下のオペランドと演算子を 1 つ以上含む文字ベクトルとして指定します。

オペランド

  • 整数データ型または列挙データ型とスカラー リテラル値をもつ MATLAB 変数またはSimulink.Parameterオブジェクトに解決される変数名

  • Simulink.Variantオブジェクトに解決される変数名

  • 整数または列挙値を表すスカラーのリテラル値

演算子

  • グループ化に使用される小かっこ

  • 算術演算子、関係演算子、論理演算子、またはビット単位演算子

バリアント条件式はブール値に評価されます。このプロパティは読み取りアクセスおよび書き込みアクセスが可能です。

例:'(Fuel==2 || Emission==1) && Ratio==2'

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に指定します。

カスタム ストレージ クラスのその他の有効な値は定义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');