Main Content

Advisor.getExclusion

モデルまたは対象外指定ファイルから対象外指定情報を取得する

R2021a 以降

説明

exclusionInfo = Advisor.getExclusion(modelName) は、モデルのすべての対象外指定情報を表示します。

exclusionInfo = Advisor.getExclusion(modelName,filterType,entityIdentifier) は、モデル内で、ブロック、サブシステム、Stateflow® 要素のようなエンティティの対象外指定情報を取得します。対象外指定のタイプは filterType 引数で指定します。エンティティは entityIdentifier 引数で指定します。

すべて折りたたむ

対象外指定をモデルに追加してから、対象外指定をモデルから取得します。

slexAircraftExample モデルを開きます。

openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')

Simulink® キャンバスで、モデル アドバイザー チェックの対象から除外するエンティティをクリックします。この例では、u という名前の Inport ブロックをクリックします。

Simulink canvas with "u" Inport block selected

対象外指定をブロックに追加して、選択したブロックをモデル アドバイザーの解析対象から除外します。MATLAB® コマンド ウィンドウで次を入力します。

Advisor.addExclusion('slexAircraftExample','Block',gcb);
'Block' は対象外指定によって Simulink ブロックをフィルターで除外する必要があることを指定し、関数 gcb は選択したブロックのパスを返します。詳細については、gcb を参照してください。

以下を入力してモデルから対象外指定を取得します。

exclusions = Advisor.getExclusion('slexAircraftExample');

u Inport ブロックに追加した対象外指定は、exclusions 内の最初で唯一の要素です。

exclusions(1)
ans = 

  AdvisorFilterSpecification with properties:
     filteredItem: [1×1 advisor.filter.IFilter]
         metadata: [1×1 advisor.filter.Metadata]
             mode: Exclude
    commentThread: [1×0 advisor.filter.Metadata Sequence]
             type: Block
               id: 'slexAircraftExample:1'
           checks: [1×1 String Sequence]

あるいは、Simulink キャンバスを右クリックし、[モデル アドバイザー][モデル アドバイザーの対象外指定エディターを開く] を選択することで、モデル アドバイザーの対象外指定エディターで対象外指定を表示することもできます。

モデル アドバイザーの対象外指定エディターに、u Inport ブロックの対象外指定の行を含む表が表示されます。[フィルター識別子] 列に、entityIdentifier 引数で指定されたパス名が表示されます。また、[フィルター タイプ] 列に、filterType 引数で指定された対象外指定のフィルター タイプが表示されます。[根拠] 列および [チェック ID] 列は、rationale 引数および checks 引数に関連付けられています。

Model Advisor Exclusion Editor with exclusion for "u" Inport block

関数 Advisor.addExclusion を使用して、Simulink ブロックをモデル アドバイザーの解析対象から除外します。

slexAircraftExample モデルを開きます。

openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')

Simulink キャンバスで、モデル アドバイザー チェックの対象から除外するエンティティをクリックします。この例では、u という名前の Inport ブロックをクリックします。

Simulink canvas with "u" Inport block selected

対象外指定をブロックに追加して、選択したブロックをモデル アドバイザーの解析対象から除外します。MATLAB コマンド ウィンドウで次を入力します。

Advisor.addExclusion('slexAircraftExample','Block',gcb);
'Block' は対象外指定によって Simulink ブロックをフィルターで除外する必要があることを指定し、関数 gcb は選択したブロックのパスを返します。詳細については、gcb を参照してください。

以下を入力して u Inport ブロックの対象外指定を取得します。

exclusion = Advisor.getExclusion('slexAircraftExample','Block',gcb)
exclusion = 

  AdvisorFilterSpecification with properties:
     filteredItem: [1×1 advisor.filter.IFilter]
         metadata: [1×1 advisor.filter.Metadata]
             mode: Exclude
    commentThread: [1×0 advisor.filter.Metadata Sequence]
             type: Block
               id: 'slexAircraftExample:1'
           checks: [1×1 String Sequence]

あるいは、Simulink キャンバスを右クリックし、[モデル アドバイザー][モデル アドバイザーの対象外指定エディターを開く] を選択することで、モデル アドバイザーの対象外指定エディターで対象外指定を表示することもできます。

モデル アドバイザーの対象外指定エディターに、u Inport ブロックの対象外指定の行を含む表が表示されます。[フィルター識別子] 列に、entityIdentifier 引数で指定されたパス名が表示されます。また、[フィルター タイプ] 列に、filterType 引数で指定された対象外指定のフィルター タイプが表示されます。[根拠] 列および [チェック ID] 列は、rationale 引数および checks 引数に関連付けられています。

Model Advisor Exclusion Editor with exclusion for "u" Inport block

入力引数

すべて折りたたむ

対象外指定を取得するモデル。文字ベクトルまたは string 配列として指定します。

例: Advisor.getExclusion('mymodel');

データ型: char | string

対象外指定を取得するエンティティのタイプ。次のいずれかの値として指定します。

説明
BlockSimulink ブロック
BlockType特定の BlockType プロパティ値をもつブロック
Subsystemサブシステム内のブロック
Libraryライブラリ ブロックのインスタンス
MaskType特定の MaskType プロパティ値をもつブロックまたはサブシステム
StateflowSimulink 内の Stateflow ブロック
ChartStateflow チャート内のすべてのエンティティ
StateStateflow ステート
TransitionStateflow 遷移
JunctionStateflow ジャンクション
GraphicalFunctionStateflow グラフィカル関数
MatlabFunction

Stateflow MATLAB 関数

SimulinkFunction

Stateflow Simulink 関数

TruthTableStateflow 真理値表
SimulinkBasedStateStateflow の Simulink ベースのステート

例: Advisor.getExclusion('mymodel', 'Block', 'mymodel/Constant')

データ型: char | string

対象外指定を取得するエンティティの識別子。BlockType プロパティ値、MaskType プロパティ値、またはパス名として指定します。

引数 filterType の指定値に応じて以下のようになります。

  • BlockType を指定した場合、BlockType 値を指定します。

    関数 gcb および get_param を使用して、現在選択されているブロックおよびブロック タイプを取得できます。以下に例を示します。

    myblock = gcb;
    blockType = get_param(myblock,'BlockType');
    Advisor.getExclusion('mymodel','BlockType',blockType);

  • MaskType を指定した場合、MaskType 値を指定します。

    関数 gcb および get_param を使用して、現在選択されているエンティティおよびマスク タイプを取得できます。以下に例を示します。

    blockWithMask = gcb;
    maskType = get_param(blockWithMask,'MaskType');
    Advisor.getExclusion('mymodel','MaskType',maskType);

  • 他の filterType 引数値の場合、エンティティのパス名を指定します。

    関数 gcb を使用して、エンティティのパス名を取得できます。以下に例を示します。

    myblock = gcb;
    Advisor.getExclusion('mymodel','Block',myblock)

例: Advisor.getExclusion('mymodel', 'Block', 'mymodel/Constant')

データ型: char | string

出力引数

すべて折りたたむ

対象外指定情報。AdvisorFilterSpecification オブジェクトまたは advisor.filter.FilterSpecification Sequence として返されます。advisor.filter.FilterSpecification Sequence には各対象外指定の AdvisorFilterSpecification オブジェクトが含まれています。

メモ

表示されている結果の checks プロパティが ".*" の場合、モデル アドバイザーはすべてのチェックの対象からエンティティを除外します。

代替機能

モデル アドバイザーの対象外指定エディター

モデル アドバイザーの対象外指定エディターを使用して対象外指定を表示することもできます。モデルの対象外指定情報を表示するには、Simulink キャンバスを右クリックするか、エンティティを右クリックし、[モデル アドバイザー][モデル アドバイザーの対象外指定エディターを開く] を選択します。詳細については、モデル アドバイザー チェックの解析対象からのブロックの除外を参照してください。

バージョン履歴

R2021a で導入

すべて展開する