Advisor.addExclusion
説明
Advisor.addExclusion(
は、モデル modelName
,filterType
,entityIdentifier
)modelName
内で、ブロック、サブシステム、Stateflow® 要素のようなエンティティに対象外指定を追加します。対象外指定のタイプは filterType
引数で指定します。エンティティは entityIdentifier
引数で指定します。
対象外指定を追加すると、モデル アドバイザーでモデルに対して実行する必要がある解析の範囲を限定することになるため、モデルの開発と検証にかかる時間を短縮できます。
Advisor.addExclusion(___,
は、前述の構文の入力引数に加えて、1 つ以上の名前と値の引数を使用してオプションを指定します。たとえば、引数 Name,Value
)checks
を使用して特定のモデル アドバイザー チェックの対象からエンティティを除外したり、引数 rationale
を使用して対象外指定の理由を指定したりすることができます。
例
モデル アドバイザー解析対象からの Simulink ブロックの除外
関数 Advisor.addExclusion
を使用して、Simulink® ブロックをモデル アドバイザーの解析対象から除外します。
slexAircraftExample
モデルを開きます。
openExample('simulink_aerospace/AircraftLongitudinalFlightControlExample')
Simulink キャンバスで、モデル アドバイザー チェックの対象から除外するエンティティをクリックします。この例では、u
という名前の Inport ブロックをクリックします。
対象外指定をブロックに追加して、選択したブロックをモデル アドバイザーの解析対象から除外します。MATLAB® コマンド ウィンドウで次を入力します。
Advisor.addExclusion('slexAircraftExample','Block',gcb);
'Block'
は対象外指定によって Simulink ブロックをフィルターで除外する必要があることを指定し、関数 gcb
は選択したブロックのパスを返します。詳細については、gcb
を参照してください。Simulink キャンバスを右クリックし、[モデル アドバイザー] 、 [モデル アドバイザーの対象外指定エディターを開く] を選択することで、モデル アドバイザーの対象外指定エディターで対象外指定を表示できます。
モデル アドバイザーの対象外指定エディターに、u
Inport ブロックの対象外指定の行を含む表が表示されます。[フィルター識別子] 列に、entityIdentifier
引数で指定されたパス名が表示されます。また、[フィルター タイプ] 列に、filterType
引数で指定された対象外指定のフィルター タイプが表示されます。[根拠] 列および [チェック ID] 列は、rationale
引数および checks
引数に関連付けられています。
モデル アドバイザー解析対象からの Stateflow チャートの除外と根拠の指定
関数 Advisor.addExclusion
を使用して、Stateflow チャートをモデル アドバイザーの解析対象から除外します。この例には、Stateflow が必要です。
sf_collatz
モデルを開きます。
openExample('stateflow/StateTransitionActionsGetStartedExample')
Stateflow チャートで、モデル アドバイザー チェックの対象から除外するエンティティをクリックします。この例では、デフォルト遷移 {n = u;} をクリックします。
対象外指定を遷移に追加して、選択した遷移をモデル アドバイザーの解析対象から除外します。MATLAB コマンド ウィンドウで次を入力します。
Advisor.addExclusion('sf_collatz','Transition',gcb,'rationale','Do not analyze.')
Simulink キャンバスを右クリックし、[モデル アドバイザー] 、 [モデル アドバイザーの対象外指定エディターを開く] を選択することで、モデル アドバイザーの対象外指定エディターで対象外指定を表示できます。
入力引数
modelName
— 対象外指定を追加するモデル
文字ベクトル | string 配列
対象外指定を追加するモデル。文字ベクトルまたは string 配列として指定します。
データ型: char
| string
filterType
— 対象から除外するエンティティのタイプ
Block
| BlockType
| Subsystem
| Library
| MaskType
| ...
対象から除外するエンティティのタイプ。次のいずれかの値として指定します。
値 | 説明 |
---|---|
Block | Simulink ブロック |
BlockType | 特定の BlockType プロパティ値をもつブロック |
Subsystem | サブシステム内のブロック |
Library | ライブラリ ブロックのインスタンス |
MaskType | 特定の MaskType プロパティ値をもつブロックまたはサブシステム |
Stateflow | Simulink 内の Stateflow ブロック |
Chart | Stateflow チャート内のすべてのエンティティ |
State | Stateflow ステート |
Transition | Stateflow 遷移 |
Junction | Stateflow ジャンクション |
GraphicalFunction | Stateflow グラフィカル関数 |
MatlabFunction | Stateflow MATLAB 関数 |
SimulinkFunction | Stateflow Simulink 関数 |
TruthTable | Stateflow 真理値表 |
SimulinkBasedState | Stateflow の Simulink ベースのステート |
例: Advisor.addExclusion('mymodel', 'Block', 'mymodel/Constant')
データ型: char
| string
entityIdentifier
— 対象から除外するエンティティの識別子
BlockType
値 | MaskType
値 | パス名
対象から除外するエンティティの識別子。BlockType
プロパティ値、MaskType
プロパティ値、またはパス名として指定します。
entityIdentifier
値の形式は、指定した filterType
によって異なります。
filterType 値 | entityIdentifier 値 | 例 |
---|---|---|
BlockType | ブロックの | 関数 myblock = gcb; blockType = get_param(myblock,'BlockType'); Advisor.addExclusion('mymodel','BlockType',blockType); |
MaskType | ブロックの | 関数 blockWithMask = gcb; maskType = get_param(blockWithMask,'MaskType'); Advisor.addExclusion('mymodel','MaskType',maskType); |
他のすべての filterType 値 | エンティティのパス名 | 関数 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);
checks
— 対象外指定を適用するチェック
文字ベクトルの cell 配列
対象外指定を適用するチェック。モデル アドバイザー チェック 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
validateChecks
— チェックが対象外指定をサポートしていることを検証
false
(既定値) | true
checks
引数で指定したチェックを対象から除外できることを検証するかどうか。数値または logical 0
(false
) または 1
(true
) として指定します。
[列挙値の使用をチェック] などの特定のチェックでは、対象外指定は許可されません。validateChecks
を true
として指定した場合、モデル アドバイザーは、チェックで対象外指定がサポートされていない場合にその警告を出します。
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
rationale
— 対象外指定の理由
文字ベクトル | string 配列
対象外指定の理由。文字ベクトルまたは string 配列として指定します。
例: Advisor.addExclusion('mymodel','Block','mymodel/Constant','rationale','Block to be removed later.')
データ型: char
| string
代替機能
モデル アドバイザーの対象外指定エディター
モデル アドバイザーの対象外指定エディターを使用することで、Simulink キャンバスから対象外指定を追加することもできます。Simulink キャンバスから対象外指定を追加するには、エンティティを右クリックし、[モデル アドバイザー] を選択してから、追加する対象外指定のタイプに対応するメニュー オプションを選択します。詳細については、モデル アドバイザー チェックの解析対象からのブロックの除外を参照してください。
バージョン履歴
R2021a で導入R2020a: Simulink 識別子 (SID) ではなくパス名を使用
関数 Simulink.ID.getSID
は推奨されません。引数 entityIdentifier
を指定する際には、Simulink 識別子 (SID) ではなくパス名を使用します。関数 gcb
または find_system
を使用してパス名を確認できます。
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)