sldiagnostics
R2026bSimulink システムの診断情報を表示する
構文
説明
sldiagnostics( はコマンド ウィンドウで、次の統計情報を含む Simulink® モデルまたはサブシステムの診断情報を返します。 modelName)
ブロック カウント — 固有のブロックの名前と数
Stateflow® カウント — 固有の Stateflow オブジェクトの名前と数
モデル サイズ — 状態、出力、入力、直達のフラグ、およびサンプル時間の数
ライブラリ使用率統計 — すべてのライブラリ ブロックと参照ライブラリの名前と数
コンパイル統計 — 各フェーズのコンパイルで使用された時間とメモリ
sldiagnostics( は、modelName,option1,...,optionN)option1,...,optionN でリストされた診断について、コマンド ウィンドウで Simulink モデルまたはサブシステムの診断情報を返します。たとえば、オプション CountBlocks を使用すると、モデルまたはサブシステム内の固有のブロックの名前と数がリストされます。
例
Simulink モデルまたはサブシステムの診断情報を生成してコマンド ウィンドウに表示します。
BangBangControlUsingTemporalLogicExample の例を開いて、ルート モデル sf_boiler の診断情報を生成します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); sldiagnostics('sf_boiler')
モデルを開かず、読み込みもしなかった場合、sldiagnostics はモデルを読み込んで、診断情報を生成します。
Simulink モデルまたはサブシステムの特定の診断情報を生成してコマンド ウィンドウに表示します。
BangBangControlUsingTemporalLogicExample の例を開いて、sf_boiler/Bang-Bang Controller サブシステム内のブロックおよび Stateflow オブジェクトの数に関連した診断情報を生成します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); sldiagnostics('sf_boiler/Bang-Bang Controller','CountBlocks','countSF')
モデルを開かず、読み込みもしなかった場合、sldiagnostics はモデルを読み込んで、診断情報を生成します。
モデルの診断情報を生成し、結果を書式設定されたテキストおよび構造体配列として保存します。
BangBangControlUsingTemporalLogicExample の例を開いて、ルート モデル sf_boiler の診断情報を生成します。myReport および strucRpt にこれらのレポートを保存します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); [myReport,strucRpt] = sldiagnostics('sf_boiler');
モデルを開かず、読み込みもしなかった場合、sldiagnostics はモデルを読み込んで、診断情報を生成します。
モデルでコンパイルに使用した時間とメモリを生成し、この情報を使用してモデルの性能を評価します。
コンパイル時間とメモリ使用量のデータ収集
BangBangControlUsingTemporalLogicExample の例を開いて、ルート モデル sf_boiler のコンパイル時の診断情報を生成します。結果を txtRpt および strucRpt に保存します。
openExample('stateflow/BangBangControlUsingTemporalLogicExample'); [txtRpt,strucRpt] = sldiagnostics(sf_boiler,'CompileStats');
txtRpt は sf_boiler の各フェーズのコンパイル時間と説明を書式設定されたテキストとして保存します。strucRpt は、sf_boiler の各フェーズにおけるコンパイル時間とメモリ使用量を構造体として保存します。
strucRpt
strucRpt =
struct with fields:
Model: 'sf_boiler'
Statistics: [1×197 struct]strucRpt.Statistics 配列のサイズは、コンパイル中に実行されたコンパイルおよびビルド フェーズの数を示します。フェーズ 6 におけるコンパイル時間とメモリ使用量に関する統計を確認します。
strucRpt.Statistics(6)
ans =
struct with fields:
Description: 'Stateflow compile pre-start notification'
CPUTime: 0
WallClockTime: 0.2222
ProcessMemUsage: 0.7852
ProcessMemUsagePeak: 0
ProcessVMSize: 1.0781レポート情報は以下のとおりです。
CPUTime— CPU が Simulink フェーズをアクティブに処理するのにかかった時間 (秒単位)。WallClockTime— Simulink プロセスの 1 つのフェーズが完了するまでのリアルタイム経過時間 (秒単位)。WallClockTimeは、CPUTime、入出力時間、およびプログラミング遅延の合計です。ProcessMemUsage— Simulink 演算フェーズの実行に使用されたワーキング セット サイズ (メガバイト単位)。プロセスのワーキング セット サイズは、そのプロセス コンテキストに物理的にマッピングされたメモリ容量です。ProcessMemUsagePeak— Simulink 演算フェーズの実行に使用されたピーク ワーキング セット サイズ (メガバイト単位)。ProcessVMSize— 演算フェーズの開始時に MATLAB® プロセスにコミットされたバーチャル メモリまたはアドレス空間の量。
モデルの性能解析
次の主要なメトリクスを使用して、sf_boiler の性能を解析します。
合計経過時間 —
sf_boilerの各フェーズの経過実時間の合計。合計メモリ —
sf_boilerの各フェーズで使用されたメモリの合計。ピーク メモリ —
sf_boilerのすべてのフェーズのうちの 1 つのフェーズで使用された最大メモリ。
ElapsedTime = sum([strucRpt.Statistics(:).WallClockTime])
ElapsedTime = 17.5542
TotalMemory = sum([strucRpt.Statistics(:).ProcessMemUsage])
TotalMemory = 98.1602
PeakMemory = max([strucRpt.Statistics(:).ProcessMemUsagePeak])
PeakMemory = 75.1016
考慮事項
CompileStats診断オプションは、モデルを初めて読み込むときに使用する必要があります。そうしないと、sldiagnosticsは以前にコンパイルされたモデルのオブジェクトを再利用してしまうため、モデルの時間とメモリ使用量のレポート値が小さくなります。メモリ使用量統計情報は Microsoft® Windows® プラットフォームでのみ確認できます。
入力引数
診断情報を生成する Simulink モデルの名前またはサブシステムのパス。文字ベクトルまたは string として指定します。
例: 'sf_boiler', 'sf_boiler/Bang-Bang Controller'
データ型: char | string
特定の診断情報セットを表す診断オプション。文字ベクトルまたは string として指定します。一部の診断オプションはルート モデルでのみ機能します。次の表は、診断オプション、互換性のある入力システム タイプ、および予期される出力のリストです。
診断オプション | 入力システム タイプ | 出力 |
|---|---|---|
| ルート モデル、ライブラリ、またはサブシステム | システムで使用されている固有のブロックの名前と数。これは、マスク サブシステムで入れ子にされているブロックや非表示のブロックを含みます。 |
'CountBlocksInRefs' | ルート モデル、ライブラリ、またはサブシステム | システムおよびその参照で使用されている固有のブロックの名前と数。 |
| ルート モデル、ライブラリ、またはサブシステム | システムで使用されている固有の Stateflow オブジェクトの名前と数。 |
| ルート モデル | モデルで使用されている状態、出力、入力、直達のフラグ、およびサンプル時間の数。 |
| ルート モデル、ライブラリ、またはサブシステム | システムで参照されているすべてのライブラリ ブロックおよび固有のライブラリの名前と数。 |
| ルート モデル | モデルの各フェーズのコンパイルで使用された時間とメモリ。この情報は、モデルのコンパイル速度とメモリの問題のトラブルシューティングに役立ちます。 |
| ルート モデル |
このオプションは、既定の解析に含まれていないため、明示的に指定しなければなりません。 |
| ルート モデル | すべての診断 ( |
sldiagnostics は以下の場合に警告を出します。
診断オプションおよび入力システム タイプに互換性がない。
入力システム タイプが Simulink ライブラリである。該当するシステムでは、[ブロック線図の更新] などのモデルのコンパイルを必要とするオプションでは、
sldiagnosticsは診断を生成できません。
例: 'CountBlocks'
データ型: char | string
出力引数
Simulink システムの診断情報を書式設定されたテキストとして保存する診断レポート。文字ベクトルとして返されます。
Simulink システムの診断情報を保存する診断レポート。構造体配列として返されます。この構造体配列には、診断オプションに対応する次のフィールドがあります。
blocksstateflowsizeslinkscompilestatsrtwbuildstats
データ型: struct
バージョン履歴
R2006a で導入CountBlocksInRefs 引数を使用して、システムおよびその参照内で使用されているすべてのブロックをカウントできるようになりました。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)