Main Content

Simulink.SimulationMetadata クラス

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

シミュレーション実行のメタデータへのアクセス

説明

SimulationMetadata クラスには、シミュレーションの実行に関する次の情報が格納されます。

  • モデル情報

  • タイミング情報

  • 実行と診断情報

  • シミュレーションのタグ付けに使用するカスタム文字ベクトル

  • シミュレーションの記述に使用するカスタム データ

SimulationMetadata は、これらの情報を SimulationOutput オブジェクトでパッケージ化します。SimulationMetadata を使用するには、次のいずれかの方法を使用します。

  • [コンフィギュレーション パラメーター][データのインポート/エクスポート] で、[保存オプション][単一のシミュレーション出力] を選択します。

  • set_param を使用して ReturnWorkspaceOutputson に設定します。

    set_param(model_name,'ReturnWorkspaceOutputs','on');

SimulationMetadata オブジェクトを取得するには、SimulationOutput オブジェクトに対して getSimulationMetadata メソッドを使用します。

プロパティ

すべて展開する

ModelInfo 構造体のフィールドを次に示します。

フィールド名説明
ModelNamecharモデルの名前
ModelVersioncharモデルのバージョン
ModelFilePathchar.mdl/.slx ファイルの絶対位置
UserIDcharシミュレーションに使用されたマシンのシステム ユーザー ID
MachineNamecharシミュレーションに使用されたマシンのホスト名
Platformcharシミュレーションに使用されたマシンのオペレーティング システム
ModelStructuralChecksum4 行 1 列の uint32ブロック線図の更新後に計算されたモデルの構造的なチェックサム
SimulationModecharシミュレーション モード
StartTimedoubleシミュレーションの開始時間
StopTimedoubleシミュレーションの終了時間
SolverInfo構造体ソルバーの情報:
  • 固定ステップ ソルバー – ソルバーのタイプ、名前、固定ステップ サイズ

  • 可変ステップ ソルバー – ソルバーのタイプ、名前、最大ステップ サイズ (初期設定)

SimulinkVersion構造体Simulink® のバージョン
LoggingInfo構造体永続ストレージへのログ記録に関するメタデータ:
  • LoggingToFile フィールド — 永続ストレージへのログ記録が有効化されているかどうかを示します ('on' または 'off')。

  • LoggingFileName フィールド — 永続ストレージの MAT ファイルに関する解決済みのファイル名を指定します (LoggingToFile'on' の場合)。

シミュレーションが停止した理由、シミュレーション中に報告された診断など、シミュレーションの実行に関する情報を格納する構造体です。この構造体のフィールドを次に示します。

フィールド名説明
StopEvent未変換の文字ベクトルシミュレーションが停止した理由。次のいずれかで表されます。
  • ReachedStopTime – 終了時間に達したのでシミュレーションが停止しました。実行中にエラーは報告されていません。シミュレーションの終了後に実行される停止コールバックでエラーが報告された場合でも、StopEvent には ReachedStopTime の値があります。

  • ModelStop – ブロックまたはソルバーによる、終了時間到達前のシミュレーション停止。

  • StopCommand[停止] ボタンの手動クリックまたは set_param コマンドの使用によるシミュレーション停止。

  • DiagnosticError – シミュレーション中のエラー報告によるシミュレーション停止。

  • KeyboardControlC – キーストローク Ctrl+C を使用したシミュレーション停止

  • PauseCommand[一時停止] ボタンの手動クリックまたは set_param コマンドの使用によるシミュレーションの一時停止。

  • ConditionalPause – 条件付きブレークポイントの使用によるシミュレーション一時停止。

  • PauseTime – 指定された一時停止時間またはその後のシミュレーションの一時停止。

  • StepForward – [ステップを進める] のクリック後のシミュレーションの一時停止。

  • StepBackward – [ステップ オプション] のクリック後のシミュレーション一時停止。

  • TimeOutTimeOut で指定されたタイムアウト値に対する実行時間超過によるシミュレーションの一時停止。

StopEventSourceSimulink.SimulationData.BlockPath停止イベントのソース。有効な Simulink オブジェクトの場合。
StopEventDescription変換済みの文字ベクトルStopEvent および StopEventSource に格納されている情報の上位集合。
ErrorDiagnosticstructシミュレーション中に報告されたエラー。次のフィールドで表されます。
  • Diagnostic – オブジェクト パス、ID、メッセージ、原因、スタックを含む MSLDiagnostic オブジェクト。

  • SimulationPhaseInitializationExecution または Termination のいずれかで表現。

  • SimulationTime – シミュレーション時間。実行中に報告された場合は double、それ以外は [] で表現。

名前と値のペア 'CaptureErrors', 'on'sim コマンドに渡すことで、シミュレーション中に生成されたエラーが ExecutionInfo.ErrorDiagnostic で報告されます。sim コマンドは生成されたエラーをキャプチャしません。

WarningDiagnostics構造体の配列シミュレーション中に報告されたすべての警告の配列。各配列項目は次のフィールドで表されます。
  • Diagnostic – オブジェクト パス、ID、メッセージ、原因、スタックを含む MSLDiagnostic オブジェクト。

  • SimulationPhaseInitializationExecution、または Termination で表現。

  • SimulationTime – シミュレーション時間。Execution 中に報告された場合は double、それ以外は [] で表現。

シミュレーションに関するプロファイル情報を格納する構造体。シミュレーションの開始時間や終了時間のタイム スタンプなどが格納されます。この構造体のフィールドを次に示します。

フィールド名説明
WallClockTimestampStart文字ベクトルシミュレーションが開始された YYYY-MM-DD HH:MI:SS の形式の実時間 (分解能はマイクロ秒)
WallClockTimestampStop文字ベクトルシミュレーションが停止された YYYY-MM-DD HH:MI:SS の形式の実時間 (分解能はマイクロ秒)
InitializationElapsedWallTimedouble実行前の所要時間 (秒)
ExecutionElapsedWallTimedouble実行時の所要時間 (秒)
TerminationElapsedWallTimedouble実行後の所要時間 (秒)
TotalElapsedWallTimedouble初期化、実行、終了に費やした時間の合計 (秒)
ProfilerDataSimulink.profiler.Data

モデルのプロファイリング結果。Simulink.profiler.Data オブジェクトとして返されます。

メモ

ProfilerData フィールドは、Profile および ReturnWorkspaceOutputs モデル パラメーターが有効になっている場合にのみ表示されます。

ExecutionElapsedWallTime には、Simulink でのシミュレーション中にロール バックやステップを戻すために要した時間も含まれます。前のステップが終了してから次のステップが開始されるまでの時間は ExecutionElapsedWallTime には含まれません。たとえば、ステッパーを使用してシミュレーションをステップ実行する場合、シミュレーションが一時停止状態になっている時間は ExecutionElapsedWallTime に含まれません。ステッパーの使用についての詳細は、シミュレーション ステッパーをモデル解析に利用する方法を参照してください。

SimulationOutput オブジェクトに含まれる SimulationMetadata オブジェクトに文字ベクトルを直接保存するには Simulink.SimulationOutput.setUserString を使用します。

SimulationOutput オブジェクトに含まれる SimulationMetadata オブジェクトにカスタム データを格納するには Simulink.SimulationOutput.setUserData を使用します。

コピーのセマンティクス

値。値クラスがコピー操作に与える影響については、オブジェクトのコピーを参照してください。

すべて折りたたむ

vdp モデルのシミュレーションを実行します。シミュレーションの SimulationMetadata オブジェクトからメタデータを取得します。

vdp モデルのシミュレーションを実行します。Simulink.SimulationOutput オブジェクトの結果を simout に保存します。

 open_system('vdp');
 simout = sim(bdroot,'ReturnWorkspaceOutputs','on');

このシミュレーションに関するメタデータ情報を mData を使用して取得します。これは simout に格納した SimulationMetadata オブジェクトです。

 mData=simout.getSimulationMetadata()
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: ''
         UserData: []

カスタムのデータまたは文字列を simout に格納します。

 simout=simout.setUserData(struct('param1','value1','param2','value2','param3','value3'));
 simout=simout.setUserString('Store first simulation results');

格納したカスタム データを mData から取得します。

 mData=simout.getSimulationMetadata()
 disp(mData.UserData)
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: 'Store first simulation results'
         UserData: [1x1 struct]

    param1: 'value1'
    param2: 'value2'
    param3: 'value3'

格納したカスタム文字列を mData から取得します。

 mData=simout.getSimulationMetadata()
 disp(mData.UserString)
mData = 

  SimulationMetadata with properties:

        ModelInfo: [1x1 struct]
       TimingInfo: [1x1 struct]
    ExecutionInfo: [1x1 struct]
       UserString: 'Store first simulation results'
         UserData: [1x1 struct]

Store first simulation results
R2015a で導入