このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Simulink.VariantConfigurationData クラス
パッケージ: Simulink
プログラムによるバリアント コンフィギュレーションの作成
説明
メモ
このクラスには Variant Manager for Simulink® が必要です。
Simulink.VariantConfigurationData
クラスは、バリアント コンフィギュレーション、制約、およびモデルに対する推奨されるバリアント コンフィギュレーションの名前の集合を格納するバリアント コンフィギュレーション データ オブジェクトを作成するために使用します。このクラスには、次のことを実行できるメソッドがあります。
新しいバリアント コンフィギュレーションを定義する。
バリアント コンフィギュレーションにバリアント制御変数を追加する。
バリアント コンフィギュレーションのコピーを作成する。
無効なバリアント コンフィギュレーションをチェックするための制約を定義する。
既存のバリアント コンフィギュレーション、制約、制御変数を削除する。
特定のコンフィギュレーションを推奨されるバリアント コンフィギュレーションとして設定する。
作成
プロパティ
Configurations
— バリアント コンフィギュレーションのセット
構造体 | 構造体の配列
バリアント コンフィギュレーション データ オブジェクト内のバリアント コンフィギュレーションのセット。次のフィールドをもつ構造体の配列として指定します。
フィールド | 型 | 説明 |
---|---|---|
Name | 文字ベクトル | コンフィギュレーションの名前。この値は、一意の有効な MATLAB® 変数名でなければなりません。 |
Description | 文字ベクトル | コンフィギュレーションの説明 |
ControlVariables | 構造体 | バリアント制御変数の名前とその値。次のフィールドをもつ構造体または構造体の配列として指定します。
例: 各種のバリアント制御変数の使用方法を示す例については、Use Variant Control Variables in Variant Blocksを参照してください。 |
属性:
GetAccess | public |
SetAccess | private |
データ型: struct
Constraints
— バリアント コンフィギュレーションの制約
構造体 | 構造体の配列
バリアント コンフィギュレーション データ オブジェクト内のすべてのバリアント コンフィギュレーションが満たさなければならない制約。次のフィールドをもつ構造体配列として指定します。
Name
— 制約の名前。文字ベクトルとして指定します。この値は、一意の有効な MATLAB 変数名でなければなりません。Condition
— 制約を満たすために true に評価されなければならない boolean 式。これはバリアント制御変数を使用して定義されます。文字ベクトルとして指定します。Description
— 制約の説明。文字ベクトルとして指定します。
属性:
GetAccess | public |
SetAccess | private |
データ型: struct
PreferredConfiguration
— 推奨されるバリアント コンフィギュレーションの名前
文字ベクトル
推奨されるバリアント コンフィギュレーションの名前。文字ベクトルとして指定します。このプロパティは、一般的なワークフロー向けのモデルに適したコンフィギュレーションを示すために使用します。この値は、バリアント コンフィギュレーション データ オブジェクトにあるバリアント コンフィギュレーションの名前でなければなりません。
属性:
GetAccess | public |
SetAccess | public |
データ型: char
メソッド
パブリック メソッド
addConfiguration | バリアント コンフィギュレーション データ オブジェクトに新しいバリアント コンフィギュレーションを追加 |
addComponentConfiguration | Associate top-model variant configuration with variant configuration of referenced model |
addConstraint | Add constraint to variant configuration data object |
addControlVariables | Add variant control variables to named variant configuration in variant configuration data object |
addCopyOfConfiguration | Add copy of existing variant configuration to variant configuration data object |
convertDefaultToPreferred | Convert default variant configuration to preferred variant configuration |
getConfiguration | Get specific variant configuration from variant configuration data object |
getPreferredConfiguration | Get name of preferred variant configuration for variant configuration data object |
setPreferredConfiguration | Set name of preferred variant configuration for variant configuration data object |
removeConfiguration | Remove variant configuration from variant configuration data object |
removeComponentConfiguration | Remove association between variant configurations of top-level model and referenced model |
removeConstraint | Remove constraint from variant configuration data object |
removeControlVariable | Remove variant control variable from variant configuration |
特殊な演算子と関数
次のメソッドは、MATLAB の標準の演算子および関数を、このクラスのオブジェクト用に特殊化したものです。
intersect |
バリアント コンフィギュレーション データ オブジェクト
この場合、
論理演算
|
setdiff |
バリアント コンフィギュレーション データ オブジェクト
この場合、
論理演算
|
union |
バリアント コンフィギュレーション データ オブジェクト
この場合、
論理演算
|
unique |
バリアント コンフィギュレーション データ オブジェクト
|
例
バリアント コンフィギュレーション データ オブジェクトの作成
この例では、Simulink.VariantConfigurationData
クラスのインスタンスを作成し、次のクラス プロパティを設定する方法を示します。
Configurations
(struct
)Constraints
(struct
)PreferredConfiguration
(char
)
新しいバリアント コンフィギュレーションの定義
バリアント コンフィギュレーション データ オブジェクトに追加する新しいバリアント コンフィギュレーションを定義します。
Simulink.VariantConfigurationData
クラスの VariantConfigurations
プロパティには次のフィールドがあります。
Name (char)
ControlVariables (struct)
Description (char)
新しいコンフィギュレーションのバリアント制御変数と値を格納する
ControlVariables
フィールド用のstruct
を作成します。
ctrlVarStruct = struct(Name='ControllerType.Linear',Value='NoiseType.NoNoise',Source='plant.sldd');
新しいバリアント コンフィギュレーション用の
struct
を作成します。
configStruct = struct(Name='LinInterExpNoNoise',ControlVariables=ctrlVarStruct, ... Description='Linear Internal Experimental Plant Controller');
制約の定義
バリアント コンフィギュレーション データ オブジェクト内のすべてのバリアント コンフィギュレーションに適用される制約を定義します。
constrStruct = struct(Name='PlantLocation',Condition= ... '(PlantLoc==PlantLocation.Internal) || (PlantLoc==PlantLocation.External)', ... Description='Plant location constraint');
バリアント コンフィギュレーション データ オブジェクトの作成
バリアント コンフィギュレーション、グローバル制約、および推奨されるコンフィギュレーションの名前を追加してオブジェクトを作成します。
vcdo = Simulink.VariantConfigurationData(Configurations=configStruct,Constraints=constrStruct, ... PreferredConfiguration='LinInterExpNoNoise')
vcdo = VariantConfigurationData with properties: Configurations: [1x1 struct] Constraints: [1x1 struct] PreferredConfiguration: 'LinInterExpNoNoise'
モデルへのバリアント コンフィギュレーション データ オブジェクトの関連付け
次のように、VariantConfigurationObject
モデル パラメーターを使用して vcdo
を Simulink® モデルに関連付けることができます。
set_param("<model_name>",VariantConfigurationObject="vcdo");
ヒント
バリアント構成オブジェクトは、バリアント マネージャーを起動せずにベース ワークスペースまたはデータ ディクショナリから編集できます。モデル エクスプローラーで、ベース ワークスペースまたはデータ ディクショナリの [コンフィギュレーション] セクションにあるオブジェクトをダブルクリックします。この操作により、Simulink.VariantConfigurationData
のプロパティ ダイアログ ボックスが起動します。スタンドアロンのバリアント マネージャーとして機能するこのダイアログ ボックスで、バリアント構成オブジェクトのバリアント コンフィギュレーション、制御変数、制約を変更できます。
バージョン履歴
R2013b で導入R2022b: 新しいアドオンが必要
このクラスとそのメソッドを使用するには、Variant Manager for Simulink ソフトウェア サポート パッケージをインストールする必要があります。
R2022b: 新しい機能
集合演算のサポート:
Simulink.VariantConfigurationData
クラスのintersect
、setdiff
、union
、およびunique
の各メソッドを使用して、バリアント コンフィギュレーション データ オブジェクトに対する集合演算を実行できます。特殊な演算子と関数を参照してください。新しい
PreferredConfiguration
プロパティ:モデルに対して定義されたいずれかの名前付きコンフィギュレーションを
PreferredConfiguration
として設定して、一般的なワークフロー向けのモデルに適したコンフィギュレーションを示すことができます。モデルのコンパイルやシミュレーションの実行時に、このコンフィギュレーションが自動的に適用されるわけではありません。推奨されるコンフィギュレーションは、必要に応じてモデルで明示的に適用する必要があります。モデルのバリアント コンフィギュレーション データ オブジェクト (
vcd
) に既存のDefaultConfiguration
がある場合、次のコマンドを使用してPreferredConfiguration
に変換できます。vcd.convertDefaultToPreferred(model);
モデルのコンパイルやシミュレーションの実行前にモデルで
PreferredConfiguration
を適用するには、次のコマンドを使用します。Simulink.VariantManager.applyConfiguration(model,... vcd.getPreferredConfigurationName());
R2022b: DefaultConfigurationName
プロパティと SubModelConfiguration
プロパティは削除予定
DefaultConfigurationName
プロパティは削除される予定です。代わりにPreferredConfiguration
プロパティを使用してください。バリアント コンフィギュレーション データ オブジェクトに対する既定のバリアント コンフィギュレーションを設定することは推奨されません。以前は、既定のコンフィギュレーションを設定すると、モデルのコンパイルやシミュレーションの実行時に、モデルで使用されているベース ワークスペースやデータ ディクショナリのバリアント制御変数の値に関係なく既定のコンフィギュレーションが自動的に有効になっていました。この動作は現在は適用されなくなり、DefaultConfigurationName
プロパティを設定しても効果はありません。モデルのバリアント コンフィギュレーション データ オブジェクト (
vcd
) に既存のDefaultConfiguration
がある場合、convertDefaultToPreferred
メソッドを使用してPreferredConfiguration
に変換できます。SubModelConfiguration
プロパティは削除される予定です。モデルの階層構造に含まれる参照モデルなどの参照コンポーネントで使用されているバリアント制御変数についても、最上位モデルのバリアント コンフィギュレーションで定義する必要があります。このアプローチは、バリアント制御に対する単一で整合性のある定義を階層で維持するのに役立ちます。参照コンポーネントに独自の名前付きバリアント コンフィギュレーションがある場合は、それらを使用して最上位モデルのコンフィギュレーションで対応するバリアント制御変数を設定できます。詳細については、Compose Variant Configurations for Top Model Using Referenced Model Configurationsを参照してください。
バリアント構成オブジェクトが関連付けられた既存のモデルについては、参照モデルのコンフィギュレーションにあるバリアント制御変数が最上位モデルのコンフィギュレーションに自動的に移行されます。関連する警告を修正するには、バリアント マネージャーを使用してバリアント構成オブジェクトを保存する必要があります。
これらのプロパティを使用するスクリプトは実行されますが、警告が出ます。
R2022b: 削除予定のメソッド
次のメソッドは将来のリリースで削除されます。これらのメソッドを使用するスクリプトは実行されますが、警告が出ます。
削除予定 | 推奨される置き換え |
---|---|
validateModel | Simulink.VariantManager.activateModel |
getFor | Simulink.VariantManager.getConfigurationData |
addSubModelConfigurations | Simulink.VariantConfigurationData.addComponentConfiguration |
removeSubModelConfiguration | Simulink.VariantConfigurationData.removeComponentConfiguration |
getDefaultConfiguration | Simulink.VariantConfigurationData.getPreferredConfiguration |
setDefaultConfigurationName | Simulink.VariantConfigurationData.setPreferredConfiguration |
R2022b: validateModel
メソッドの errors 出力引数の形式の変更
2 番目の出力引数 errors
内の Errors
という名前の構造体から、Type
、Source
、PathInModel
、および PathInHierarchy
の各フィールドが削除されました。例については、Compatibility Considerations When Using Variant Manager for Simulink Support Packageを参照してください。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)