このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Advisor.Application クラス
名前空間: Advisor
モデル参照階層およびバリアント全体でモデル アドバイザーを実行する
説明
Advisor.Application
のインスタンスを使用して以下を行います。
親モデルおよびその参照モデルのチェックを実行する。
引数
AnalyzeVariants
をtrue
として指定して、アクティブなバリアントと非アクティブなバリアントの両方のチェックを実行する。モデル アドバイザー解析で特定のモデル コンポーネントを選択または削除する。"モデル コンポーネント" とは、
setAnalysisRoot
でモデル コンポーネントとして指定された、ルート モデルが参照するモデルです。
パブリック メソッドを使用して以下を行います。
Advisor.Application
オブジェクトを使用してモデル アドバイザーを実行する。Advisor.Application
オブジェクトを削除する。モデル アドバイザーで実行するモデル コンポーネントを指定する。
モデル アドバイザーで実行するチェックを指定する。
モデル アドバイザーから結果を取得する。
メモ
モデルでモデル参照もバリアントも使用していない場合、代わりに関数 ModelAdvisor.run
を使用します。
ModelAdvisor.run
はモデルおよびサブシステムでモデル アドバイザー チェックを実行でき、複数のシステムで並列実行するオプションがあります。
作成
Advisor.Application
オブジェクトを作成するには、Advisor.Manager.createApplication
を使用します。
プロパティ
AnalysisRoot
— 解析対象となるモデル参照階層のルート モデルの名前
'empty'
(既定値) | 文字ベクトル
解析対象となるモデル参照階層のルート モデルの名前。Advisor.Application.setAnalysisRoot
メソッドによって指定されます。このプロパティは読み取り専用です。
属性:
GetAccess | public |
SetAccess | private |
データ型: char
ID
— Advisor.Application
オブジェクトの一意の識別子
''
(既定値) | 文字ベクトル
Advisor.Application
オブジェクトの一意の識別子。文字ベクトルとして指定されます。このプロパティは読み取り専用です。
属性:
GetAccess | public |
SetAccess | private |
データ型: char
UseTempDir
— 一時作業フォルダーでの解析の実行
false
(既定値) | true
一時作業フォルダーで解析を実行するかどうか。Advisor.Manager.createApplication
メソッドで指定されます。このプロパティは読み取り専用です。
属性:
GetAccess | public |
SetAccess | private |
データ型: logical
AnalyzeVariants
— アクティブおよび非アクティブなバリアントの解析の実行
false
(既定値) | true
バリアント マネージャーを使用して作成したバリアント構成で、モデル内のアクティブおよび非アクティブなバリアント ブロックの解析を実行します。詳細については、Variant Manager for SimulinkおよびVariant Configurationsを参照してください。レポートを生成すると、モデル アドバイザーはバリアント構成ごとに個別のレポートを生成します。このプロパティは読み取りと書き込みが可能です。
属性:
GetAccess | public |
SetAccess | public |
データ型: logical
メソッド
パブリック メソッド
deselectComponents | モデル アドバイザー解析からモデル コンポーネントをクリアする |
selectComponents | モデル アドバイザー解析のモデル コンポーネントを選択する |
setAnalysisRoot | モデル アドバイザー解析のモデル参照階層を指定する |
deselectCheckInstances | チェック インスタンスをモデル アドバイザー解析からクリアする |
getCheckInstanceIDs | チェック インスタンス ID の取得 |
loadConfiguration | モデル アドバイザー構成の読み込み |
selectCheckInstances | モデル アドバイザー解析で使用するチェック インスタンスの選択 |
generateReport | モデル アドバイザー解析のレポートの生成 |
getResults | モデル アドバイザー解析結果へのアクセス |
例
モデル参照階層全体でのモデル アドバイザー チェックの実行
この例では、モデル sldemo_mdlref_basic
およびその参照モデル sldemo_mdlref_counter
でチェック [ルート モデルの Inport ブロックの仕様をチェック] を実行する方法について説明します。
モデル例 sldemo_mdlref_basic
を開きます。MATLAB® コマンド ウィンドウで次を入力します。
openExample("sldemo_mdlref_basic")
モデル sldemo_mdlref_basic
は 3 つの Model ブロック CounterA
、CounterB
、および CounterC
を含む親モデルです。これらのブロックは同じモデル sldemo_mdlref_counter
を参照しています。このモデルは別個のモデルであり、sldemo_mdlref_basic
のサブシステムではありません。
sldemo_mdlref_basic
内のモデル参照階層全体でモデル アドバイザー チェックを実行するために使用できる Advisor.Application
オブジェクトを作成します。
app = Advisor.Manager.createApplication();
解析するモデルまたはサブシステムを指定します。この例では、モデル sldemo_mdlref_basic
をモデル アドバイザー解析のルートとして指定します。
setAnalysisRoot(app,Root = "sldemo_mdlref_basic");
Advisor.Application
オブジェクトの解析ルートとしてモデルを指定すると、モデル アドバイザーはそのモデルおよびすべての参照モデルを解析します。詳細については、setAnalysisRoot
を参照してください。
チェック [ルート モデルの Inport ブロックの仕様をチェック] のみを実行するとします。
既定では、Advisor.Application
オブジェクトは、現在のモデル アドバイザー構成で各チェック インスタンスを実行するように設定されており、すべてのチェック インスタンスが選択されています。チェック インスタンスをクリアして、すべてのチェック インスタンスをモデル アドバイザー解析から削除します。
deselectCheckInstances(app);
チェック インスタンス ID を確認して使用することで、モデル アドバイザーでチェック [ルート モデルの Inport ブロックの仕様をチェック] のみを実行するように指定します。
checkID = "mathworks.design.RootInportSpec";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
これで、モデル アドバイザー解析用にチェック [ルート モデルの Inport ブロックの仕様をチェック] が選択されました。
メソッド getCheckInstanceIDs
は複数のチェック インスタンス ID を返します。これは、チェック [ルート モデルの Inport ブロックの仕様をチェック] がモデル アドバイザー ツリーの複数のフォルダーに存在しているためです。この例では、instanceID
は getCheckInstanceIDs
から返された最初のチェック インスタンス ID として指定されていますが、getCheckInstanceIDs
から返された任意のチェック インスタンス ID を選択できます。
メモ
あるいは、個別のチェックを選択するのではなくモデル アドバイザー構成ファイルを読み込む場合は、メソッド loadConfiguration
を使用します。
モデル アドバイザー解析を実行します。
run(app);
モデル アドバイザーは、sldemo_mdlref_basic
と sldemo_mdlref_counter
の両方でチェック [ルート モデルの Inport ブロックの仕様をチェック] を実行します。
モデル アドバイザー解析からの結果を取得します。
res = getResults(app);
モデル アドバイザー レポートを生成して表示します。
report = generateReport(app); web(report);
モデル アドバイザー レポートは、sldemo_mdlref_basic
および sldemo_mdlref_counter
の結果の概要、およびモデルごとの個別のレポートへのハイパーリンクを提供します。
バリアント全体でのモデル アドバイザー チェックの実行
この例では、モデル slexVariantManagement
のさまざまなバリアント選択でチェック [接続されていないライン、入力端子、出力端子を特定] を実行する方法を示します。
モデル例 slexVariantManagement
を開きます。MATLAB コマンド ウィンドウで次を入力します。
openExample("slexVariantManagement")
モデル slexVariantManagement
には、Controller
や Plant
など、複数の Variant Subsystem ブロックが含まれています。Variant Subsystem ブロック内には、該当するコンポーネントのさまざまな実装があります。
slexVariantManagement
には、モデルに関連付けられているバリアント構成データ オブジェクト vcd
に保存されている複数のバリアント構成があります。Advisor.Application
オブジェクトでは、バリアント マネージャーを使用して作成したバリアント構成で、モデル内のアクティブおよび非アクティブなバリアント ブロックのモデル アドバイザー解析のみを実行できます。詳細については、Variant Manager for SimulinkおよびVariant Configurationsを参照してください。
モデル アドバイザー チェックを実行するために使用できる Advisor.Application
オブジェクトを作成します。
app = Advisor.Manager.createApplication();
AnalyzeVariants
を true
として指定し、Advisor.Application
オブジェクトで slexVariantManagement
のバリアント選択ごとにモデル アドバイザーを実行できるようにします。
app.AnalyzeVariants = true;
解析するモデルを指定します。この例では、モデル slexVariantManagement
をモデル アドバイザー解析のルートとして指定します。
setAnalysisRoot(app,Root = "slexVariantManagement");
チェック [接続されていないライン、入力端子、出力端子を特定] のみを実行するとします。
既定では、Advisor.Application
オブジェクトは、現在のモデル アドバイザー構成で各チェック インスタンスを実行するように設定されており、すべてのチェック インスタンスが選択されています。チェック インスタンスをクリアして、すべてのチェック インスタンスをモデル アドバイザー解析から削除します。
deselectCheckInstances(app);
チェック インスタンス ID を確認して使用することで、モデル アドバイザーでチェック [接続されていないライン、入力端子、出力端子を特定] を実行するように指定します。
checkID = "mathworks.design.UnconnectedLinesPorts";
instanceIDs = getCheckInstanceIDs(app,checkID);
instanceID = instanceIDs(1);
selectCheckInstances(app,ID = instanceID);
これで、モデル アドバイザー解析用にチェック [接続されていないライン、入力端子、出力端子を特定] が選択されました。
メソッド getCheckInstanceIDs
は複数のチェック インスタンス ID を返します。これは、チェック [接続されていないライン、入力端子、出力端子を特定] がモデル アドバイザー ツリーの複数のフォルダーに存在しているためです。この例では、instanceID
は getCheckInstanceIDs
から返された最初のチェック インスタンス ID として指定されていますが、getCheckInstanceIDs
から返された任意のチェック インスタンス ID を選択できます。
メモ
あるいは、個別のチェックを選択するのではなくモデル アドバイザー構成ファイルを読み込む場合は、メソッド loadConfiguration
を使用します。
モデル アドバイザー解析を実行します。
run(app);
モデル アドバイザーは、モデルおよび参照モデルでアクティブなバリアントと非アクティブなバリアントの両方のチェックを実行します。
モデル アドバイザー解析からの結果を取得します。
res = getResults(app);
モデル アドバイザー レポートを生成して表示します。
report = generateReport(app); web(report);
モデル アドバイザー レポートは、slexVariantManagement
の結果の概要、およびバリアントごとの個別のレポートへのハイパーリンクを提供します。
制限
参照モデルは、データが不足している場合にのみコンパイルされます。以下の場合は、参照モデルに対してコンパイル時チェックは実行されません。
モデル参照が階層内で使用されている。
[シミュレーション モード] が
accelerator
に設定されている。[UpdateModelReferenceTargets] が
IfOutOfDate
に設定されている。
Advisor.Application
は複数のシステムで並行実行できません。モデルでモデル参照もバリアントも使用していない場合、代わりに関数ModelAdvisor.run
を使用します。ModelAdvisor.run
はモデルおよびサブシステムでモデル アドバイザー チェックを実行でき、複数のシステムで並列実行するオプションがあります。
バージョン履歴
R2015b で導入
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)