この例では、シミュレーション データ インスペクターを使用して参照モデルの信号を表示および解析する方法を示します。シミュレーション データ インスペクターは信号ログに依存しているため、この例では、参照モデルの信号をログに記録するようにモデルを設定する方法を示します。
次のコマンドを実行して、プロジェクト ファイルの作業用コピーを作成して開きます。
プロジェクトの例では、ファイルが一時フォルダーにコピーされるので、ローカル バージョン管理下でファイルを編集して使用することができます。
Simulink® プロジェクト ツールが開き、既にバージョン管理されているプロジェクトを読み込みます。
プロジェクトは一部の起動タスクを実行するように構成されています。
シミュレーション データ インスペクターを使用して信号を表示するための参照モデルの設定における最初のタスクは、そのモデルをログ記録用に設定することです。そのためには、参照モデルを編集してログ記録用に信号にマークを付けます。4 つの信号は既にログ記録用に設定されている (青色の Wi-Fi バッジでマークされている) ことに注意してください。追加の信号のログを記録するには、次の手順に従います。
生の出力信号を選択します。
[シミュレーション] タブで、[準備] ギャラリーから以下に示すように [信号のログ] をクリックします。
参照モデルでログに記録する信号を選択したら、次に、階層構造の中で最上位にあるモデルから実際にログに記録する信号を選択します。最上位モデルの [モデル化] タブで、[モデル設定] をクリックします。
[データのインポート/エクスポート] ペインで、[ログを取るために信号を設定] ボタンをクリックして、[Simulink 信号ログ セレクター] ダイアログをアクティブにします。
参照モデルの信号をログに記録する場合に使用できるログ モードは 2 つあります。1 つ目は [すべての信号をモデルで指定されたようにログを取る] で、このモードでは、参照モデルで行われたログ設定がすべて適用されます。ログ信号のサブセットのみを選択する場合など、これらの設定のいずれかをオーバーライドする必要がある場合は、[信号をオーバーライドする] モードを使用します。このモードでは、ログに記録できる信号のサブセットを選択して、そのプロパティ (間引きや名前など) を設定することができます。
モデルの階層構造に対してログを設定し、モデルに対するすべての変更が保存されたら、モデルのシミュレーションを実行できます。このシミュレーションにより、ベース ワークスペースにデータセット オブジェクトが作成されます。標準の MATLAB ツールを使用して、このオブジェクト内のログ データを解析および表示できます。また、Simulink は、シミュレーションから作成されたデータを表示および解析するためのシミュレーション データ インスペクターを備えています。シミュレーション データ インスペクターの使用についての詳細は、ドキュメンテーションを参照してください。
シミュレーション データ インスペクターを使用すると、以下の操作を実行できます。
ログ信号の信号トレースの表示
ログ信号の信号値の視覚的な比較
複数のシミュレーションにわたって収集された信号値の比較
シミュレーションが行われた後またはシミュレーション ステッパーの使用中に、[シミュレーション] タブで [データ インスペクター] アイコンが強調表示されます。これをクリックすることでシミュレーション データ インスペクターが開くことを示しています。
たとえば、シミュレーション データ インスペクターを使用して、モデル LimitedCounter
の 2 つのインスタンスの output
信号を表示できます。シミュレーション データ インスペクターの表示から、CounterA
の方が CounterB
よりも急激に増加していることがわかります。このモデルを駆動する Pulse Generator がより速いレートで実行されているため、これは想定される動作です。
検証テーブルに表示する内容は、テーブルの右上にあるギア アイコンをクリックして設定できます。
シミュレーション データ インスペクターに用意されているもう 1 つの便利なツールは、複数のシミュレーション実行を比較する機能です。この機能は、モデルの変更が結果にどのように影響するかを把握するのに役立ちます。たとえば、カウンター モデルの上限の値を 8 に変更してモデルのシミュレーションを再実行すると、そのことが出力値にどのように影響するかがわかります。値を変更するには、ブロック MultiInstanceModelExample/upper
をダブルクリックして、Value パラメーターを 8 に変更します。
ここで、LimitedCounter
の CounterA
インスタンスの出力について最初のシミュレーションの結果と比較すると、予想どおり、この信号の上限が 10 から 8 に変更されていることがわかります。許容誤差が 0 に設定されているため、各信号の横にある赤い八角形は、2 回の実行の間で値が変更されたことを示しています。