Main Content

Simulink.VariantConfigurationAnalysis クラス

名前空間: Simulink

プログラムによるバリアント コンフィギュレーションの解析

説明

メモ

このクラスには Variant Manager for Simulink® が必要です。

Simulink.VariantConfigurationAnalysis クラスは、名前付きバリアント コンフィギュレーションまたは変数グループのいずれかを指定してモデルのバリアント コンフィギュレーションを解析するために使用します。このクラスはバリアント コンフィギュレーション解析オブジェクトを返し、以下に使用できるメソッドがあります。

  • バリアント コンフィギュレーションのアクティブなブロックのリストを取得する。

  • すべてのバリアント コンフィギュレーションにわたってアクティブなブロックを検索する。

  • すべてのバリアント コンフィギュレーションで非アクティブなブロックを検索する。

  • バリアント コンフィギュレーション間でアクティブな選択肢が相違するブロックのリストを取得する。

  • バリアント コンフィギュレーションの依存モデルのリストを取得する。

  • バリアント コンフィギュレーションで使用される依存ライブラリのリストを取得する。

  • バリアント コンフィギュレーション解析レポートを表示する。

  • バリアント コンフィギュレーション解析レポートを非表示にする。

  • 特定のバリアント コンフィギュレーションのブロックに対するバリアント条件を表示する。

作成

varConfigObj = Simulink.VariantConfigurationAnalysis(mdl,Name,Value) は、model で指定されたモデルのバリアント コンフィギュレーション解析オブジェクトを返し、ModelName プロパティと Configurations プロパティを設定します。

入力引数

すべて展開する

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。Name は引数名、Value は対応する値です。名前と値の引数は他の引数の後に表示されなければなりませんが、ペアの順序は重要ではありません。

R2021a より前は、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: 'NamedConfigurations', {'config1', 'config2'}

バリアント コンフィギュレーションの名前。string または string の cell 配列として指定します。この引数は、モデル用に定義された名前付きバリアント コンフィギュレーションを指定して解析を実行する場合に使用します。

バリアント マネージャーを使用して、モデル用の名前付きバリアント コンフィギュレーションを作成し、それらを Simulink.VariantConfigurationData 型のバリアント構成オブジェクトに保存して、そのオブジェクトをモデルに関連付けることができます。このバリアント構成オブジェクトで定義された 1 つ以上のコンフィギュレーションの名前を解析対象に指定できます。

メモ

モデルがバリアント構成オブジェクトに関連付けられている場合、対応するバリアント構成オブジェクトの名前が VariantConfigurationObject モデル パラメーターに格納されます。

例: NamedConfigurations={'config1', 'config2'}

バリアント制御変数の名前と値。構造体の配列として指定します。この引数は、モデルで使用されているバリアント制御変数の値を指定して解析を実行する場合に使用します。

解析するそれぞれのバリアント コンフィギュレーションを表す複数の変数グループを指定できます。それぞれの変数グループで、バリアント制御変数と解析に使用する必要がある値を指定しなければなりません。

変数グループを定義するには、次のフィールドをもつ構造体の配列を提供します。

  • Name — 変数グループの名前

  • VariantControls — バリアント制御変数の名前とその値の cell 配列

例: 'VariableGroups',[struct('Name', 'V1W1',... 'VariantControls', {{'V',1,'W',1}}),struct('Name', 'V1W2',... 'VariantControls', {{'V',1,'W',2}})]

メモ

NamedConfigurationsVariableGroups の両方を指定することはサポートされていません。

プロパティ

すべて展開する

解析するモデルの名前。文字ベクトルとして指定します。

例: 'slexVariantReducer'

属性:

GetAccess
public
SetAccess
private

データ型: character vector

解析するバリアント コンフィギュレーションまたは変数グループの名前。string の cell 配列として指定します。

例: {'config1', 'config2'}

属性:

GetAccess
public
SetAccess
private

データ型: character vector

メソッド

すべて展開する

すべて折りたたむ

名前付きバリアント コンフィギュレーションまたは変数グループのいずれかを指定してバリアント コンフィギュレーション解析オブジェクトを作成します。

モデル slexVariantReducer を開きます。

open_system('slexVariantReducer');

モデルには config1config2 の 2 つの名前付きバリアント コンフィギュレーションがあります。名前付きコンフィギュレーションは、モデルに関連付けられたバリアント構成オブジェクト slexVariantReducer_config に保存されています。

名前付きコンフィギュレーションを使用してモデルを解析します。

VarConfigObjnc = Simulink.VariantConfigurationAnalysis('slexVariantReducer', ...
                                            'NamedConfigurations',{'config1', 'config2'})
VarConfigObjnc = 
  VariantConfigurationAnalysis with properties:

         ModelName: 'slexVariantReducer'
    Configurations: {'config1'  'config2'}

次に、解析する変数グループを指定します。

slexVariantReducer モデルには VW の 2 つのバリアント制御変数が含まれています。

2 つの変数グループ V1W1V2W2 を使用してモデルを解析します。

VarConfigObjvg = Simulink.VariantConfigurationAnalysis(...
                            'slexVariantReducer',...
                            'VariableGroups',[struct('Name','V1W1','VariantControls', {{'V',1,'W',1}}),...
                            struct('Name', 'V1W2','VariantControls',{{'V',1,'W',2}})])
VarConfigObjvg = 
  VariantConfigurationAnalysis with properties:

         ModelName: 'slexVariantReducer'
    Configurations: {'V1W1'  'V1W2'}

バージョン履歴

R2019a で導入