Main Content

getActiveBlocks

クラス: Simulink.VariantConfigurationAnalysis
名前空間: Simulink

名前付きバリアント コンフィギュレーションのアクティブなブロックのリスト

説明

このメソッドは、Simulink.VariantConfigurationAnalysis クラスを使用して名前付きバリアント コンフィギュレーションを解析した後に、そのコンフィギュレーションのアクティブなブロックを調べるために使用します。getActiveBlocks メソッドを呼び出す前に、モデルの Simulink.VariantConfigurationAnalysis タイプのバリアント コンフィギュレーション解析オブジェクトを作成し、それを使用してモデルに必要な名前付きバリアント コンフィギュレーションを解析しておく必要があります。

メモ

このメソッドには Variant Manager for Simulink® が必要です。

activeBlocks = varConfigObj.getActiveBlocks(configName) は、configName で指定された名前付きバリアント コンフィギュレーションのアクティブなブロックのリストを返します。varConfigObj はモデルの VariantConfigurationAnalysis オブジェクトです。

入力引数

すべて展開する

アクティブなブロックを調べるバリアント コンフィギュレーションの名前。文字ベクトルとして指定します。このコンフィギュレーションについては、Simulink.VariantConfigurationAnalysis クラスを使用して事前に解析しておく必要があります。

出力引数

すべて展開する

入力バリアント コンフィギュレーションのアクティブなブロックのリスト。cell 配列として返されます。

すべて展開する

この例では、Simulink.VariantConfigurationAnalysis クラスを使用してバリアント コンフィギュレーションをプログラムで解析する方法を示します。

バリアント マネージャーを使用してバリアント コンフィギュレーションを解析するには、Analyze Variant Configurations in Models Containing Variant Blocksを参照してください。

モデル slexVariantConfigurationAnalysis を開きます。

open_system('slexVariantConfigurationAnalysis'); 

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

varConfigObjNamedConfig = Simulink.VariantConfigurationAnalysis('slexVariantConfigurationAnalysis', ...
                           'NamedConfigurations', {'VendorACtrlLinear', ...
                           'VendorACtrlNonLinear', 'VendorACtrlFuzzy'})
varConfigObjNamedConfig = 
  VariantConfigurationAnalysis with properties:

         ModelName: 'slexVariantConfigurationAnalysis'
    Configurations: {'VendorACtrlFuzzy'  'VendorACtrlLinear'  'VendorACtrlNonLinear'}

varConfigObjVarGroup = Simulink.VariantConfigurationAnalysis('slexVariantConfigurationAnalysis',...
                          'VariableGroups', [struct('Name', 'VendorANonLinear',...
                          'VariantControls', {{'CONTROLLER', 1, 'EXTERNAL_SENSOR', 1, 'ORDER', 1, 'SATURATE', 1, 'VENDOR', 1}}),...
                           struct('Name', 'VendorALinear',...
                          'VariantControls', {{'CONTROLLER', 0, 'EXTERNAL_SENSOR', 1, 'ORDER', 1, 'SATURATE', 1, 'VENDOR', 1}})]);

このバリアント コンフィギュレーション解析オブジェクトを使用してバリアント コンフィギュレーションを解析できます。次の手順でそれぞれ指定しているように、さまざまなメソッドを使用できます。

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

activeblocks = varConfigObjNamedConfig.getActiveBlocks('VendorACtrlLinear');

解析されたすべての名前付きバリアント コンフィギュレーションにわたって常にアクティブなブロックのリストを取得する。

alwaysActiveBlocks = varConfigObjNamedConfig.getAlwaysActiveBlocks();

解析された一部のバリアント コンフィギュレーションではアクティブで、別のコンフィギュレーションでは非アクティブなブロックのリストを取得する。

getBlockDifferences = varConfigObjNamedConfig.getBlockDifferences();

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

dependentLibraries = varConfigObjNamedConfig.getDependentLibraries('VendorACtrlNonLinear');

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

dependentModels = varConfigObjNamedConfig.getDependentModels('VendorACtrlFuzzy');

解析されたすべての名前付きバリアント コンフィギュレーションで非アクティブなブロックのリストを取得する。

neverActiveBlocks = varConfigObjNamedConfig.getNeverActiveBlocks();

名前付きバリアント コンフィギュレーションにおけるブロックのバリアント条件を取得する。

variantCondition = varConfigObjNamedConfig.getVariantCondition('VendorACtrlNonLinear',...
'slexVariantConfigurationAnalysis/Controller/NonLinear');

モデル解析後のバリアント コンフィギュレーション解析レポートを表示する。

varConfigObjNamedConfig.showUI();

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

varConfigObjNamedConfig.hideUI();

バージョン履歴

R2019a で導入