SIL/PIL マネージャーを使用したサブシステムのコードのユニット テスト
サブシステムを含むモデルがある場合、Simulink® Test™ と SIL/PIL マネージャーを使用して、サブシステムから生成されたコードに対してユニット テストを実行できます。このワークフローは、親モデルから生成されたコードの一部として、生成されたサブシステム コードをテストします。
Atomic サブシステムから生成されたコードに対してユニット テストを実行するには、以下を行います。
Atomic サブシステムを含むモデルを開きます。たとえば、コマンド ウィンドウで次のように入力します。
openExample('ecoder/SILPILVerificationExample', ... supportingFile='SILBlock.slx')
新しいフォルダーに、モデルを
plant_model
として保存します。このワークフローでサポートされないコンフィギュレーション パラメーター設定を変更します。コマンド ウィンドウで次のように入力します。
set_param('plant_model', ... 'CreateSILPILBlock','None', ... 'PreserveStaticInFcnDecls', 'Off'); % For this example, use these values for block parameters. set_param('plant_model/Controller', ... 'RTWSystemCode','Nonreusable function', ... 'RTWFileNameOpts', 'Auto');
メモ
AUTOSAR ランナブルにマッピングされる Function-Call Subsystem の場合は、次の場合でもこのワークフローを使用できます。
ブロック パラメーター
TreatAsAtomicUnit
が'on'
ではない。ブロック パラメーター
RTWSystemCode
が'Nonreusable function'
または'Reusable function'
ではない。
制限の詳細については、Atomic Subsystem Workflow Limitationsを参照してください。
Atomic サブシステムを含むモデルのコードを生成します。コマンド ウィンドウで次のように入力します。
slbuild('plant_model')
サブシステムのテスト ハーネスを作成します。
Controller
サブシステムを右クリックし、[テスト ハーネス] 、 ['Controller' 用に作成] を選択します。[テスト ハーネスの作成] ダイアログ ボックスの [基本プロパティ] タブで、次のプロパティを指定します。
名前 —
controller_subsystem_harness
Sources および Sinks —
Inport
およびOutport
作成後にハーネスを開く — 有効
[詳細なプロパティ] タブで、[検証モード] が
[ノーマル]
に設定されていることを確認します。[OK] をクリックすると、Simulink Test により
Controller
サブシステムのテスト ハーネスが作成されます。データを保存するためのフォーマットを指定します。コマンド ウィンドウで次のように入力します。
set_param('controller_subsystem_harness', ... 'SaveFormat','Dataset')
[テスト ハーネス] ウィンドウで、SIL/PIL マネージャーを開きます。[アプリ] タブで、[SIL/PIL マネージャー] をクリックします。
必要に応じて、コード カバレッジを構成します。
back-to-back モデル シミュレーションと SIL シミュレーションを実行します。
[モード] セクションで、[自動検証] を選択します。
[自動検証の実行] セクションで、[検証の実行] をクリックします。
[結果] ギャラリーでは、次を実行できます。
シミュレーション データ インスペクターを使用して結果を解析する。たとえば、
controller_model_output
信号をモデル シミュレーションおよび SIL シミュレーションと比較します。等価性のテスト ケースをエクスポートする。
詳細については、Analyze Results and Export Test Casesを参照してください。
制限の詳細については、Subsystem Block SIL/PIL Limitationsを参照してください。