メインコンテンツ

シミュレーション データ インスペクターでのシミュレーション データの表示

シミュレーション データ インスペクターを使用すると、シミュレーション中にログ記録したデータも含めて、設計プロセス全体を通して生成したデータを可視化できます。テスト データとその他の記録されたデータをシミュレーション データ インスペクターにインポートして、ログ記録されたシミュレーション データと一緒に検証および解析することもできます。シミュレーション データ インスペクターへのデータのインポートの詳細については、ワークスペースまたはファイルからシミュレーション データ インスペクターへのデータのインポート (Simulink)を参照してください。

Simulink® モデル内でログ記録したシミュレーション データは、シミュレーション データ インスペクターにログ記録されます。シミュレーション データ インスペクターにはいくつかのタイプのプロットがあり、これらを使用してデータの複雑な可視化を簡単に作成できます。詳細については、シミュレーション データ インスペクターを使用したプロットの作成 (Simulink)を参照してください。

ログ データの表示

モデルのシミュレーションを実行すると、さまざまなタイプのログ記録データが自動的にシミュレーション データ インスペクターにストリーミングされます。シミュレーション データ インスペクターにストリーミングされたデータは、シミュレーション後も使用できます。ログ記録されたその他のタイプのシミュレーション データは、シミュレーションの一時停止時、停止時、または完了時にのみ、シミュレーション データ インスペクターに表示されます。ログ記録されたこれらのタイプのデータを表示するには、[コンフィギュレーション パラメーター] ダイアログ ボックスを開き、[データのインポート/エクスポート] ペインで [ワークスペース データのログをシミュレーション データ インスペクターに記録] を選択します。シミュレーション データのログ記録の詳細については、シミュレーション データの保存 (Simulink)を参照してください。

シミュレーション データのタイプシミュレーション中およびシミュレーション後に表示できるデータシミュレーションの一時停止後、停止後、または完了後にのみ表示できるデータ
出力

Dataset 形式を使用してログ記録された出力データ

[ワークスペース データのログをシミュレーション データ インスペクターに記録] パラメーターを選択して、Dataset 以外の形式でログ記録された出力データ

信号データ

次のいずれかの方法でログ記録された信号データ

  • 信号のログ (Simulink)

  • Record (Simulink) ブロック

  • To Workspace (Simulink) ブロック

  • データをワークスペースにログ記録するように構成した Scope (Simulink) ブロック (R2025a 以降)

[ワークスペース データのログをシミュレーション データ インスペクターに記録] パラメーターを選択している場合に、次の方法でログ記録された信号データ

  • To File (Simulink) ブロック

  • R2025a より前: データをワークスペースにログ記録するように構成した Scope (Simulink) ブロック

ステート

Dataset 形式を使用してログ記録されたステート データ

[ワークスペース データのログをシミュレーション データ インスペクターに記録] パラメーターを選択して、Dataset 以外の形式でログ記録されたステート データ

データ ストアすべてのデータ ストア データ適用不可

メモ

Structure または Array 形式を使用して状態および出力をログに記録する場合は、シミュレーション データ インスペクターに記録するデータの時間も記録しなければなりません。

シミュレーション データ インスペクターの [検査] ペインのテーブルに使用可能なデータが表示されます。信号をプロットするには、信号の隣のチェック ボックスをオンにします。レイアウトを変更して、さまざまな可視化を追加し、シミュレーション データを解析できます。

The Inspect pane of the Simulation Data Inspector shows a time plot of the alpha, rad signal for two runs.

シミュレーション データ インスペクターは、受信したシミュレーション データをアーカイブを使用して管理します。既定では、新しいシミュレーションを開始するときに、以前の実行がアーカイブに移動します。アーカイブから信号をプロットすることも、アーカイブから作業領域に対象の実行をドラッグして戻すこともできます。

複素数データの表示

complexSignal モデルは、2 つの複素信号をログ記録します。Complex Square Wave 信号は、Outport ブロックを使用してログ記録されます。Complex Sine Wave 信号は、信号のログを使用してログ記録されます。モデルを開きます。

mdl = "complexSignal";
open_system(mdl)

The complexSignal model

モデルのシミュレーションを実行します。次に、シミュレーション データ インスペクターでシミュレーション データをプロットします。

out = sim(mdl);
Simulink.sdi.plot(out);

複素信号の可視化方法を制御するには、シミュレーション データ インスペクターの [プロパティ] ペインを使用します。以下の複素数形式のオプションを選択できます。

  • Magnitude

  • Magnitude-Phase

  • Phase

  • Real-Imaginary

信号テーブルから Complex Square Wave 信号を選択します。次に、[複素数形式] ドロップダウン メニューから [Real-Imaginary] を選択します。[複素数形式] として [Magnitude-Phase] または [Real-Imaginary] を選択すると、シミュレーション データ インスペクターでは信号の両方の成分がプロットされます。[Real-Imaginary] 形式の信号の場合、[ラインの色] で信号の実数成分の色を指定します。虚数成分は [ラインの色] の異なる色調で表示されます。

The Complex Square Wave and Complex Sine Wave signals plotted in the Simulation Data Inspector using Real-Imaginary format

信号のログを使用してデータをログ記録する場合、モデル内で信号のInstrumentation Properties (Simulink)を使用して、信号の既定の複素数形式も変更できます。Complex Sine Wave 信号の [インストルメンテーションのプロパティ] にアクセスするには、その信号のログ バッジを右クリックし、[プロパティ] を選択します。[複素数形式] ドロップダウン メニューから [Magnitude-Phase] を選択します。

モデルのシミュレーションを再び実行し、シミュレーション データ インスペクターで Magnitude-Phase 形式を使用して Complex Sine Wave 信号を可視化します。

out = sim(mdl);

The Simulation Data Inspector showing the Complex Square wave plotted using the Real-Imaginary format and the Complex Sine Wave is plotted using the Magnitude-Phase format.

string データの表示

シミュレーション データ インスペクターで、信号データと共に string データをログ記録して表示できます。stringData モデルの Sine Wave ブロックの値が、スイッチが string の読み取り値 Positive または Negative のどちらを出力に送るかを制御します。モデルを開きます。

mdl = "stringData";
open_system(mdl)

The stringData model

モデルのシミュレーションを実行します。

out = sim(mdl);

シミュレーション データ インスペクターを開きます。

Simulink.sdi.view

信号テーブルから Sine WaveSwitch の信号を選択して、結果をプロットします。string 信号がグラフィカルな表示領域の下部に表示されます。

A sine wave and string data plotted in the Simulation Data Inspector

[データ カーソルを表示/非表示にします] を選択して、string 信号の値が正弦信号の値にどのように対応しているかを調べます。

A cursor displaying the values of the sine wave and the string data at time 2.8. The sine wave has a value of 0.35. The string data has a value of "Positive".

複数の string 信号を 1 つのプロット上にプロットする場合、信号は、シミュレーションされた、またはインポートされた順に積み重なり、最近の信号が最上位に配置されます。たとえば、スイッチを制御する正弦波の位相を変更します。次に、モデルのシミュレーションを再び実行します。シミュレーション データ インスペクターで、両方の実行の信号をすべて選択して、両方のシミュレーション結果を 1 つのプロットで可視化します。ラインの色を変更して、2 つの実行を区別しやすくすることができます。2 回目の実行の string データは、初回の実行の string データの上に重ね合わされます。

The results of two runs plotted in the Simulation Data Inspector. The string data from the newest run is stacked on top of the string data from the previous run.

多次元データの表示

シミュレーション データ インスペクターでは、多次元信号データの表示と解析ができます。多次元信号値をもつ信号を表示するには、配列プロットを使用します。モデル MultiDim には、それぞれが前の正弦波から 1 だけ垂直にずれた 6 つの Sine Wave ブロックがあり、Mux ブロックに接続しています。Mux ブロックの出力は、Outport ブロックを使用してシミュレーション データ インスペクターにログ記録されます。

モデルのシミュレーションを実行します。次に、シミュレーション データ インスペクターを開きます。

mdl = "MultiDim";
sim(mdl);
Simulink.sdi.view

配列プロットにデータをプロットするには、[可視化とレイアウト] をクリックします。次に、[配列] を選択します。配列プロットに多次元のサンプル値をもつ信号をプロットすると、ステム プロットに特定の時点の各サンプル値が表示されます。プロットの右上隅に時間が表示されます。信号の次元が、信号名の隣に小かっこ付きで表示されます。たとえば、多次元信号 MultiDimSig には 6 チャネルがあるので、このデータの配列プロットには 6 つのマーカーがあります。

An array plot in the Simulation Data Inspector displaying the sample values of the multidimensional signal MultiDimSig at time t=10 seconds

また、多次元信号の表現を、多次元のサンプル値を含む単一信号から、チャネルと呼ばれるスカラーのサンプル値を含む信号セットに変換することもできます。チャネルに変換したら、時間プロット、XY プロット、マップ、またはスパークラインを使用して、データをプロットできます。配列プロットで多次元信号をプロットした場合と、個々のチャネルを時間プロットでプロットした場合の違いを確認するには、シミュレーションを再び実行します。

sim(mdl);

2 回目の実行の多次元信号をチャネルに変換するには、シミュレーション データ インスペクターで信号名の隣に小かっこ付きで表示されている信号の次元をクリックします。次に、[チャネルに変換] を選択します。

Conversion menu for a multidimensional signal in the Simulation Data Inspector

[可視化とレイアウト] メニューから 2x1 レイアウトを選択します。下側のサブプロットに、初回の実行からの多次元のサンプル値をもつ信号を配列プロットでプロットします。上側のサブプロットに、2 回目の実行からのチャネルを時間プロットでプロットします。特定の時間における各チャネルの値を表示するには、時間プロットにカーソルを追加します。サブプロットにカーソルを 1 つ追加するには、[データ カーソルを表示/非表示にします] の隣にある矢印をクリックします。次に、[1 つのカーソル] を選択します。

カーソルをドラッグすると、配列プロット内のサンプル値が変化することがわかります。時間に沿ってカーソルを移動すると、その特定の時点における要素の値を表示するよう、配列プロット内の各サンプル値の表示が変化します。この例では、両方の実行に同じデータがあるため、配列プロットの値は、時間プロット内の対応する各チャネルについてカーソルにより表示される値と一致します。たとえば、カーソルを 3.6 秒に配置すると、配列プロットの右上隅に表示される時間も 3.6 になり、配列プロットの最初のサンプル値は、時間プロット内の MultiDimSig(1) 信号についてカーソルにより表示される値と等しくなります。

The Simulation Data Inspector with two vertically aligned subplots. In the upper subplot, six sine wave signals are plotted in a time plot, and a cursor is positioned at 3.6 seconds. In the lower subplot, the MultiDimSig signal with multidimensional sample values is plotted in an array plot at 3.6 seconds.

また、データを再生することにより、配列プロット内の値が時間の経過とともに変化することもわかります。[再生コントロールの表示/非表示を切り替えます] をクリックします。次に、[再生] をクリックします。

フレームベース データなどの多次元信号データの検査と解析の詳細については、Analyze Multidimensional Signal Data (Simulink)を参照してください。

フレームベース データの表示

アプリケーションには、信号の複数のサンプルを "フレーム" にバッファーして、フレーム内の各サンプルを個別に処理する代わりに、単一の計算で処理するものがあります。フレームベースの信号を扱う場合、データをフレームごとに解析するか、バッファリングを解除してフレームを使用せずに信号を解析することができます。

データを点ごとに処理するのではなくフレームで処理すると、一部のアプリケーションで必要となるパフォーマンスを向上させることができます。フレームベースの信号をサンプルベースとしてログ記録する場合、シミュレーション後にシミュレーション データ インスペクターでフレームを変換できます。シミュレーション データ インスペクターでのフレームベース データの表示の詳細については、View Multidimensional Signals Using the Array Plot (Simulink)を参照してください。

イベントベース データの表示

イベント データをログ記録またはシミュレーション データ インスペクターにインポートできます。この例のモデル SimpleMessagesModel は、信号ログを使用して信号データとメッセージ データをログ記録します。モデルの詳細については、メッセージの送受信のアニメーション化および理解 (Simulink)を参照してください。

mdl = "SimpleMessagesModel";
open_system(mdl)

The SimpleMessagesModel model

モデルのシミュレーションを実行します。シミュレーション中:

  • Sine Wave ブロックが正弦波信号を生成します。

  • 0.1 秒ごとに Send ブロックが正弦波信号の値をメッセージに変換し、Queue ブロックに送信します。

  • Queue ブロックがメッセージを Receive ブロックに送信します。

  • Receive ブロックが再構成した正弦波信号を生成します。

out = sim(mdl);

シミュレーション データ インスペクターでデータをプロットします。シミュレーション データ インスペクターにメッセージ データがステム プロットとして表示されます。ステムの値は、特定のシミュレーション時間にメッセージ ペイロードとして取得された正弦波のサンプルです。

Simulink.sdi.plot(out);

The Sine Wave:1 and Receive:1 signals and the Send:1 and Queue:1 messages plotted in the Simulation Data Inspector. The messages are displayed as stem plots. The Send:1 signal is selected. Because Send:1 is a message, in the Properties pane, the Interp Method is none (event-based).

参考

関数

参考

トピック