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 モードの 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 モード — | ノーマル モードのハーネス モデル。 [シミュレーション モード] 設定で指定された、ハーネス オーナー用の 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 シミュレーションの値を比較するには、次のようにします。
ログ記録する信号ごとに次を実行します。
Simulink エディターで、信号を選択します。
[SIL/PIL] タブで [信号の監視] をクリックします。ギャラリーから次のオプションを選択します。
選択した信号のログ
選択した信号をテストポイントにする
信号のログ
状態データをログに記録するには、[信号の監視] ギャラリーから [状態ログ] を選択します。
[言語] コンフィギュレーション パラメーターが
[C++]の場合、コード マッピング エディターで、信号、状態、および内部データ モデル要素カテゴリの [データの可視性] を[public]に設定します。
詳細については、コンポーネントの信号のログを参照してください。
自動検証、モデル シミュレーション、または SIL/PIL シミュレーションの実行
1 回のクリックで、モデル シミュレーションと SIL または PIL シミュレーションを連続して実行できます。個別のシミュレーションも実行できます。
[自動検証] モードを選択すると、[SIL/PIL] タブに [自動検証の実行] セクションが表示されます。連続シミュレーションを実行するには、以下のようにします。
[終了時間] フィールドにシミュレーション時間を指定します。[自動検証] モードでは、
infは指定できません。[検証の実行] をクリックします。
[シミュレーションのみ] または [SIL/PIL シミュレーションのみ] モードを選択すると、[SIL/PIL] タブに [実行] セクションが表示されます。この場合、ツールストリップは追加の制御を提供します。
高速リスタート — 高速リスタート をクリックしてオンにします。[シミュレーションのみ] モードでは、コンパイルされたモデルに SIL モードまたは PIL モードのコンポーネントは含まれません。
ステップを戻すおよびステップを進める — [シミュレーション ステップ オプション] ツールを使うことで、シミュレーションのステップ実行を設定できます。ツールを開くには、[ステップを戻す] をクリックしてから [シミュレーション ステップの設定] を選択します。
モードが [SIL/PIL シミュレーションのみ] で、[テスト対象システム] が
[最上位モデル]の場合、シミュレーション ステップは利用できません。
個別のシミュレーションを実行するには、以下のようにします。
[終了時間] フィールドにシミュレーション時間を指定します。
[シミュレーションの実行] または [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™ が備わっている場合、現在のアプリ設定を使用して、等価性テスト ケースを作成し、エクスポートすることができます。テスト ケースにより、連続シミュレーションを実行し、モデル コンポーネントと生成コードが数値的に等価であるかどうかを確認することができます。
エクスポートしたテスト ケースの使用に関しては、Import Test Cases for Equivalence Testing (Simulink Test)を参照してください。 |