メインコンテンツ

SIL/PIL マネージャー検証ワークフロー

SIL/PIL マネージャーは、生成されたモデル コードを検証するための簡素なワークフローを提供するアプリです。

アプリを開く

Simulink® エディターで SIL/PIL マネージャーを開くには、[アプリ] タブで、[SIL/PIL マネージャー] をクリックします。あるいは、Embedded Coder® アプリの [C コード] タブで、[コードの検証][SIL/PIL マネージャー] を選択します。

モードの選択

[モード] セクションで、アプリに実行させるシミュレーションを指定します。以下を選択できます。

  • 自動検証 — アプリが 2 つのシミュレーションを連続して実行します。1 つ目のシミュレーションはノーマル モード、アクセラレータ モード、またはラピッド アクセラレータ モードのモデル シミュレーションです。2 つ目のシミュレーションは、ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) のシミュレーションです。2 つ目のシミュレーションが完了すると、アプリはシミュレーション データ インスペクターを使用して、シミュレーション結果を比較します。

    1 つ目のシミュレーションでは、シミュレーションの開始時、モデルに [ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)] に設定された [シミュレーション モード] ブロック パラメーターをもつ Model ブロックが含まれる場合、シミュレーションの開始時に、アプリによりブロック パラメーターが [ノーマル] に変更されます。シミュレーションの終了時に、ブロック パラメーターはアプリにより、以前の値に戻されます。

  • シミュレーションのみ — アプリはノーマル モード、アクセラレータ モード、またはラピッド アクセラレータ モードでモデル シミュレーションを実行します。

    シミュレーションの開始時、モデルに [ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)] に設定された [シミュレーション モード] ブロック パラメーターをもつ Model ブロックが含まれる場合、ブロック パラメーターはアプリにより [ノーマル] に変更されます。シミュレーションの終了時に、ブロック パラメーターはアプリにより、以前の値に戻されます。

  • SIL/PIL シミュレーションのみ — アプリは SIL または PIL シミュレーションを実行します。

モデルの準備

[準備] セクションで、以下を実行します。

  • 数値テスト アプローチを指定します。

  • メインのコンフィギュレーション パラメーターを指定します。

  • コード実行プロファイリングとコード カバレッジ解析を有効または無効にします。

次の表は、[準備] セクションのフィールド設定でアプリが実行するシミュレーションを制御する方法を示しています。

ワークフロー

フィールド設定モデル シミュレーションSIL シミュレーションまたは PIL シミュレーション

最上位モデル

テスト対象システム[最上位モデル]

シミュレーション モード[ノーマル][アクセラレータ]、または [ラピッド アクセラレータ]

SIL/PIL モード[ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)]

[シミュレーション モード] 設定で指定された最上位モデルのシミュレーション モード。

SIL または PIL モードの Model ブロックは、ノーマル モードに設定されます。

[SIL/PIL モード] 設定で指定された最上位モデルのシミュレーション モード。

Model ブロックは指定されたシミュレーション モードを使用します。

Model ブロック

テスト対象システム — SIL/PIL モードの Model ブロック

最上位モデルのモード[ノーマル] または [アクセラレータ]

[最上位モデルのモード] 設定で指定された最上位モデルのシミュレーション モード。

SIL または PIL モードの Model ブロックは、ノーマル モードに設定されます。

[最上位モデルのモード] 設定で指定された最上位モデルのシミュレーション モード。

Model ブロックは指定されたシミュレーション モードを使用します。

テスト ハーネス

アプリは、モデルおよび Model ブロックから作成したテスト ハーネスをサポートします。テスト ハーネスの作成の詳細については、Create or Import Test Harnesses and Select Properties (Simulink Test)を参照してください。

テスト対象システム — ハーネス オーナー。編集不可。

シミュレーション モード[ノーマル][アクセラレータ]、または [ラピッド アクセラレータ]

SIL/PIL モード[ソフトウェアインザループ (SIL)] または [プロセッサインザループ (PIL)]

ノーマル モードのハーネス モデル。

[シミュレーション モード] 設定で指定された、ハーネス オーナー用の Model ブロック モード。

ハーネス オーナー用の SIL または PIL モードの内部 Model ブロックは、ノーマル モードに設定されます。

ノーマル モードのハーネス モデル。

[SIL/PIL モード] 設定で指定された、ハーネス オーナー用の Model ブロック。

ハーネス オーナーの内部 Model ブロックは指定されたシミュレーション モードを使用します。

[設定] をクリックすると、アプリで次の制御を行うことができます。

  • [SIL/PIL 設定] の下:

    • 設定 — [コンフィギュレーション パラメーター] ダイアログ ボックスに [検証] パラメーターを表示します。

    • 移植可能なワード サイズ[移植可能なワード サイズを有効にする] をオンまたはオフにします。コンパイルをサポートするコードを開発用コンピューターで生成する方法については、ハードウェア実行設定の構成を参照してください。

    • デバッグ[SIL または PIL でソースレベル デバッグを有効にする] をオンまたはオフにします。

  • [カバレッジ] の下:

    • カバレッジ設定 — [コンフィギュレーション パラメーター] ダイアログ ボックスに [カバレッジ] パラメーターを表示します。

    • カバレッジ収集 — [コード カバレッジ] を有効または無効にします。Simulink Coverage™ でコード カバレッジを有効にする場合、ボタンをクリックするたびに CovEnable'on''off' に切り替わります。詳細については、コード カバレッジを参照してください。

  • [時間プロファイリング] の下:

    • 時間プロファイリング[タスク実行時間を計測する] をオンまたはオフにします。

    • 保存オプション[タスク プロファイリング] が選択されている場合、ボタンをクリックするたびに [保存オプション] コンフィギュレーション パラメーターが [要約データのみ][すべてのデータ][メトリクスのみ] に順番に設定されます。[タスク プロファイリング] を選択しない場合、ボタンはグレー表示になります。

    • 関数 — ボタンをクリックするたびに、[関数の実行時間を計測する] コンフィギュレーション パラメーターが [オフ][概略 (参照モデルおよびサブシステムのみ)][詳細 (すべての関数呼び出しサイト)] に順番に設定されます。

    詳細については、Configure Execution-Time ProfilingおよびControl Profiling Granularityを参照してください。

  • [スタック プロファイリング] の下の [スタック プロファイリング][タスク スタック使用量の測定] をオンまたはオフにします。詳細については、View and Compare Stack Usage Metricsを参照してください。

[信号の監視] をクリックすると、アプリで次の制御を行うことができます。

  • [信号の監視] の下:

    • 選択した信号のログ — モデル シミュレーションでの信号ログを有効にします。

    • 選択した信号をテストポイントにする — SIL または PIL シミュレーションでの信号観測に必要です。

  • [ログ オプション] の下:

    • 信号のログSignalLogging コンフィギュレーション パラメーターを 'on' または 'off' に設定します。これにより、MATLAB® ワークスペースに対する信号のログと、シミュレーション データ インスペクターに対する信号のストリーミングが有効または無効になります。

    • 状態ログSaveState コンフィギュレーション パラメーターを 'on' または 'off' に設定します。これにより、MATLAB ワークスペースに対する状態データのログと、シミュレーション データ インスペクターに対する状態データのストリーミングが有効または無効になります。

    • 信号テーブル — モデル データ エディターに [信号] タブを表示します。

    • ログの設定 — [コンフィギュレーション パラメーター] ダイアログ ボックスに [データのインポート/エクスポート] パラメーターを表示します。

    • ノーマル モードの可視性 — [Model ブロックのノーマル モードの可視性] ダイアログ ボックスを開きます。

コンポーネント信号と状態データを監視し、モデルと SIL または PIL シミュレーションの値を比較するには、次のようにします。

  1. ログ記録する信号ごとに次を実行します。

    1. Simulink エディターで、信号を選択します。

    2. [SIL/PIL] タブで [信号の監視] をクリックします。ギャラリーから次のオプションを選択します。

      • 選択した信号のログ

      • 選択した信号をテストポイントにする

      • 信号のログ

  2. 状態データをログに記録するには、[信号の監視] ギャラリーから [状態ログ] を選択します。

  3. [言語] コンフィギュレーション パラメーターが [C++] の場合、コード マッピング エディターで、信号、状態、および内部データ モデル要素カテゴリの [データの可視性][public] に設定します。

詳細については、コンポーネントの信号のログを参照してください。

自動検証、モデル シミュレーション、または SIL/PIL シミュレーションの実行

1 回のクリックで、モデル シミュレーションと SIL または PIL シミュレーションを連続して実行できます。個別のシミュレーションも実行できます。

[自動検証] モードを選択すると、[SIL/PIL] タブに [自動検証の実行] セクションが表示されます。連続シミュレーションを実行するには、以下のようにします。

  1. [終了時間] フィールドにシミュレーション時間を指定します。[自動検証] モードでは、inf は指定できません。

  2. [検証の実行] をクリックします。

[シミュレーションのみ] または [SIL/PIL シミュレーションのみ] モードを選択すると、[SIL/PIL] タブに [実行] セクションが表示されます。この場合、ツールストリップは追加の制御を提供します。

  • 高速リスタート高速リスタート をクリックしてオンにします。[シミュレーションのみ] モードでは、コンパイルされたモデルに SIL モードまたは PIL モードのコンポーネントは含まれません。

  • ステップを戻すおよびステップを進める[シミュレーション ステップ オプション] ツールを使うことで、シミュレーションのステップ実行を設定できます。ツールを開くには、[ステップを戻す] をクリックしてから [シミュレーション ステップの設定] を選択します。

    モードが [SIL/PIL シミュレーションのみ] で、[テスト対象システム][最上位モデル] の場合、シミュレーション ステップは利用できません。

個別のシミュレーションを実行するには、以下のようにします。

  1. [終了時間] フィールドにシミュレーション時間を指定します。

  2. [シミュレーションの実行] または [SIL/PIL を実行] をクリックします。

結果の解析とテスト ケースのエクスポート

アプリの [結果] セクションで、結果を解析できます。[実行の比較] または [データ インスペクター] をクリックすると、[結果] ギャラリーに以下の制御が表示されます。

セクションコントロール説明
数値的等価性の結果実行の比較

シミュレーション データ インスペクターを使用して、直近のモデルの結果と SIL/PIL シミュレーションの結果を比較します。比較を使用して、結果に数値的整合性があるか判断します。

モードが [自動検証] の場合、連続シミュレーションの終了時に、シミュレーション データ インスペクターがログ記録されたモデルの信号と、SIL または PIL シミュレーションの信号を比較します。

データ インスペクター

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

コードコード ビュー

既定では、SIL または PIL シミュレーションの終了時、SIL/PIL マネージャーは、[コード] ビューを表示します。そこでは、以下を行うことができます。

  • 生成されたコードを解析します。

  • コード メトリクスを確認します。

  • モデル要素と生成されたコードを追跡します。

ビューを閉じてから、再度開く場合は、[コード ビュー] をクリックします。

実行プロファイリングの結果プロファイリングの強調表示

前回の SIL または PIL シミュレーションでプロファイルされたブロックを強調表示します。

レポートの生成

前回の SIL または PIL シミュレーションのコード実行プロファイリング レポートを開きます。詳細については、View and Compare Code Execution Timesを参照してください。

スケジュールの生成

シミュレーション データ インスペクターで、前回の SIL または PIL シミュレーションのタスク スケジュールを表示します。詳細については、Visualize Task Scheduling in SIL Simulationを参照してください。

スタック プロファイリングの結果レポートの生成前回の SIL または PIL シミュレーションのスタック使用量プロファイリング レポートを開きます。詳細については、View Stack Usage Metrics for Tasks and Functionsを参照してください。

カバレッジ解析の結果

(コントロールは Simulink Coverage ライセンスをお持ちの場合のみ利用できます)

カバレッジの強調表示

カバレッジ解析の対象となるブロックを強調表示し、概要の結果を表示します。

カバレッジの詳細

Simulink エディターで、コード カバレッジ レポートを表示します。

結果エクスプローラー

結果エクスプローラーを開きます。詳細については、カバレッジの結果エクスプローラーを使用したカバレッジ結果の管理および集計 (Simulink Coverage)を参照してください。

レポートの生成

Web ブラウザーでコード カバレッジ レポートを生成します。

Simulink Testテスト マネージャーにエクスポート

Simulink Test™ が備わっている場合、現在のアプリ設定を使用して、等価性テスト ケースを作成し、エクスポートすることができます。テスト ケースにより、連続シミュレーションを実行し、モデル コンポーネントと生成コードが数値的に等価であるかどうかを確認することができます。

  1. [テスト マネージャーにエクスポート] をクリックします。

  2. [SIL/PIL テスト ケースをエクスポート] ダイアログ ボックスで以下のようにします。

    1. [新規テスト ファイルを使用] または [Reuse an existing file] をクリックします。

    2. [テスト ファイル] フィールドで、テスト ファイルの名前を指定します。既定では、ダイアログ ボックスは以下を指定しています。

      currentWorkingFolderPath\modelName_Testfile.mldatx

      テスト ファイルが存在し、[新規テスト ファイルを使用] をクリックした場合、アプリは既存のファイルを上書きします。[Reuse an existing file] をクリックした場合、アプリは既存ファイルにテスト ケースを追加します。

  3. [OK] をクリックします。アプリは指定されたテスト ファイルに等価性テスト ケースを作成します。

エクスポートしたテスト ケースの使用に関しては、Import Test Cases for Equivalence Testing (Simulink Test)を参照してください。

参考

トピック