Main Content

Advisor.addExclusion

対象外指定をモデルまたは対象外指定ファイルに追加する

R2021a 以降

説明

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

対象外指定を追加すると、モデル アドバイザーでモデルに対して実行する必要がある解析の範囲を限定することになるため、モデルの開発と検証にかかる時間を短縮できます。

Advisor.addExclusion(___,Name,Value) は、前述の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、引数 checks を使用して特定のモデル アドバイザー チェックの対象からエンティティを除外したり、引数 rationale を使用して対象外指定の理由を指定したりすることができます。

すべて折りたたむ

関数 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 を参照してください。

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

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

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

関数 Advisor.addExclusion を使用して、Stateflow チャートをモデル アドバイザーの解析対象から除外します。この例には、Stateflow が必要です。

sf_collatz モデルを開きます。

openExample('stateflow/StateTransitionActionsGetStartedExample')

Stateflow チャートで、モデル アドバイザー チェックの対象から除外するエンティティをクリックします。この例では、デフォルト遷移 {n = u;} をクリックします。

Stateflow chart with default transition selected

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

Advisor.addExclusion('sf_collatz','Transition',gcb,'rationale','Do not analyze.')

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

入力引数

すべて折りたたむ

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

データ型: 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.addExclusion('mymodel', 'Block', 'mymodel/Constant')

データ型: char | string

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

entityIdentifier 値の形式は、指定した filterType によって異なります。

filterTypeentityIdentifier
BlockType

ブロックの BlockType プロパティの値

関数 gcb を使用して現在選択されているブロックを取得し、関数 get_param を使用してブロック タイプを取得します。

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

MaskType

ブロックの MaskType プロパティの値

関数 gcb を使用して現在のブロックを取得し、関数 get_param を使用してマスク タイプを取得します。

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

他のすべての filterTypeエンティティのパス名

関数 gcb または find_system を使用して、エンティティのパス名を取得できます。

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

例: Advisor.addExclusion('mymodel','BlockType',blockType)

例: Advisor.addExclusion('mymodel','MaskType',maskType)

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

データ型: char | string

名前と値の引数

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

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

例: Advisor.addExclusion('mymodel', 'BlockType', 'Integrator', 'checks', {'mathworks.jmaab.jc_0231', 'mathworks.jmaab.jc_0222'}, 'validateChecks', true);

対象外指定を適用するチェック。モデル アドバイザー チェック ID の cell 配列として指定します。

既定では、対象外指定をエンティティに追加すると、対象外指定はすべてのチェックに適用されます。checks 引数を使用して、選択したチェックのみを対象から除外できます。

例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.design.UnconnectedLinesPorts'})

例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.jmaab.jc_0231','mathworks.design.UnconnectedLinesPorts'})

データ型: cell

checks 引数で指定したチェックを対象から除外できることを検証するかどうか。数値または logical 0 (false) または 1 (true) として指定します。

[列挙値の使用をチェック] などの特定のチェックでは、対象外指定は許可されません。validateCheckstrue として指定した場合、モデル アドバイザーは、チェックで対象外指定がサポートされていない場合にその警告を出します。

Advisor.addExclusion('vdp','Block',gcb,...
'checks',{'mathworks.jmaab.jc_0231','mathworks.maab.na_0031'},..
'validateChecks',true);
The following checks do not support exclusions:
    {'mathworks.maab.na_0031'}

例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','checks',{'mathworks.jmaab.jc_0231','mathworks.maab.na_0031'},'validateChecks',true)

データ型: logical

対象外指定の理由。文字ベクトルまたは string 配列として指定します。

例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','rationale','Block to be removed later.')

データ型: char | string

代替機能

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

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

バージョン履歴

R2021a で導入

すべて展開する