Main Content

Advisor.Application クラス

パッケージ: Advisor
スーパークラス:

モデルの階層構造全体でのモデル アドバイザーの実行

説明

Advisor.Application のインスタンスを使用して、モデルの階層構造全体でモデル アドバイザー チェックを実行します。Advisor.Application を使用して、以下ができます。

  • 参照モデルのチェックを実行する。

  • モデル アドバイザー解析のモデル コンポーネントを選択する。

  • モデル アドバイザー解析中に実行するチェックを選択する。

サブシステムとモデル参照が含まれた大規模なモデルの場合は、Advisor.Application を使用することを検討します。Advisor.Application は、ライブラリ モデルに対するチェックは実行しません。モデル参照階層にない複数の独立モデルのチェックを実行する場合、または並列処理を活用する場合は、ModelAdvisor.run を使用して、モデルに対してモデル アドバイザー チェックを実行します。

メモ

モデル参照が階層で使用されていて、ユーザーが [シミュレーション モード]acceleratorUpdateModelReferenceTargetsIfOutOfDate に設定している場合、子モデルは最新でない場合にのみコンパイルされます。参照モデルについては、コンパイル時のチェックは実行されません。

Advisor.Application メソッドは、以下の定義を使用します。

  • "モデル コンポーネント" — システム階層内のモデル。ルート モデルが参照するモデルと setAnalysisroot が指定するモデルがモデル コンポーネントです。

  • "チェック インスタンス" — モデル アドバイザー構成の ModelAdvisor.Check オブジェクトをインスタンス化したもの。各チェック インスタンスは、インスタンス ID をもちます。モデル アドバイザー構成を変えると、インスタンス ID が変わる場合があります。

作成

Advisor.Application オブジェクトを作成するには、Advisor.Manager.createApplication を使用します。

プロパティ

すべて展開する

解析対象となるモデルの階層構造のルート モデルの名前。Advisor.Application.setAnalysisRoot メソッドによって指定します。このプロパティは読み取り専用です。

Advisor.Application オブジェクトの一意の識別子。このプロパティは読み取り専用です。

一時作業フォルダーで解析を実行します。Advisor.Manager.createApplication メソッドによって指定します。このプロパティは読み取り専用です。

データ型: logical

バリアント マネージャー (バリアント マネージャーの概要) を使用して作成されたバリアント選択をもつ事前定義された構成で、モデル内のバリアント ブロックの解析を実行します。各コンフィギュレーションについて、モデル アドバイザー レポートが出力されます。このプロパティは読み取りと書き込みが可能です。

データ型: logical

メソッド

deleteDelete Advisor.Application object
deselectCheckInstancesClear check instances from Model Advisor analysis
deselectComponentsClear model components from Model Advisor analysis
generateReportモデル アドバイザー解析のレポートの生成
getCheckInstanceIDsObtain check instance IDs
getResultsAccess Model Advisor analysis results
loadConfigurationモデル アドバイザー構成の読み込み
runモデル コンポーネントに対するモデル アドバイザー解析の実行
selectCheckInstancesSelect check instances to use in Model Advisor analysis
selectComponentsSelect model components for Model Advisor analysis
setAnalysisRootSpecify model hierarchy for Model Advisor analysis

コピーのセマンティクス

ハンドル。ハンドル クラスがコピー操作に与える影響については、Copying Objects を参照してください。

すべて折りたたむ

この例では、sldemo_mdlref_basic から参照されているモデル sldemo_mdlref_counter のチェックを実行する方法を説明します。

コマンド ウィンドウで、モデル sldemo_mdlref_basic および参照モデル sldemo_mdlref_counter を開きます。

openExample('sldemo_mdlref_basic'); 
openExample('sldemo_mdlref_counter');

モデルのコピーを作業フォルダーに保存して、それらの名前を mdlref_basicmdlref_counter に変更します。

save_system('sldemo_mdlref_basic','mdlref_basic');
save_system('sldemo_mdlref_counter','mdlref_counter');

mdlref_basic で、モデル参照を sldemo_mdlref_counter から mdlref_counter に変更します。mdlref_basic を保存します。

set_param('mdlref_basic/CounterA','ModelName','mdlref_counter');
set_param('mdlref_basic/CounterB','ModelName','mdlref_counter');
set_param('mdlref_basic/CounterC','ModelName','mdlref_counter');
save_system('mdlref_basic');

ルート モデルを mdlref_basic に設定します。

RootModel='mdlref_basic';

Application オブジェクトを作成します。

app = Advisor.Manager.createApplication();

ルートの解析を設定します。

setAnalysisRoot(app,'Root',RootModel);

すべてのチェック インスタンスをモデル アドバイザー解析からクリアします。

deselectCheckInstances(app);

チェック インスタンス ID を使用して、チェック [接続されていないライン、入力端子、出力端子を特定] を選択します。

instanceID = getCheckInstanceIDs(app,'mathworks.design.UnconnectedLinesPorts');
checkinstanceID = instanceID(1);
selectCheckInstances(app,'IDs',checkinstanceID);

モデル アドバイザー解析を実行します。

run(app);

解析結果を取得します。

getResults(app);

モデル アドバイザー レポートを生成して、表示します。モデル アドバイザーは、mdlref_basicmdlref_counter の両方のチェックを実行します。

report = generateReport(app);
web(report)

モデルを閉じます。

close_system('mdlref_basic');
close_system('mdlref_counter');

この例では、sldemo_fuelsys から参照されているサブシステム fuel_rate_control のチェックを実行する方法を説明します。

コマンド ウィンドウで、モデル sldemo_fuelsys を開きます。

openExample('sldemo_fuelsys')

ルート モデルを sldemo_fuelsys に設定します。

RootModel='sldemo_fuelsys';

Application オブジェクトを作成します。

app = Advisor.Manager.createApplication();

ルートの解析をサブシステム sldemo_fuelsys/fuel_rate_control に設定します。

setAnalysisRoot(app,'Root','sldemo_fuelsys/fuel_rate_control','RootType','Subsystem');

すべてのチェック インスタンスをモデル アドバイザー解析からクリアします。

deselectCheckInstances(app);

チェック インスタンス ID を使用して、チェック [接続されていないライン、入力端子、出力端子を特定] を選択します。

instanceID = getCheckInstanceIDs(app,'mathworks.design.UnconnectedLinesPorts');
checkinstanceID = instanceID(1);
selectCheckInstances(app,'IDs',checkinstanceID);

モデル アドバイザー解析を実行します。

run(app);

解析結果を取得します。

getResults(app);

モデル アドバイザー レポートを生成して、表示します。モデル アドバイザーは、サブシステム sldemo_fuelsys/fuel_rate_control のチェックを実行します。

report = generateReport(app);
web(report)

モデルを閉じます。

close_system('sldemo_fuelsys');

バージョン履歴

R2015b で導入