メインコンテンツ

SIL/PIL マネージャーを使用したサブシステムのコードのユニット テスト

サブシステムを含むモデルがある場合、Simulink® Test™SIL/PIL マネージャーを使用して、サブシステムから生成されたコードに対してユニット テストを実行できます。このワークフローは、親モデルから生成されたコードの一部として、生成されたサブシステム コードをテストします。

Atomic サブシステムから生成されたコードに対してユニット テストを実行するには、以下を行います。

  1. Atomic サブシステムを含むモデルを開きます。たとえば、コマンド ウィンドウで次のように入力します。

    openExample('ecoder/SILPILVerificationExample', ...
                 supportingFile='SILBlock.slx')

  2. 新しいフォルダーに、モデルを plant_model として保存します。

  3. このワークフローでサポートされないコンフィギュレーション パラメーター設定を変更します。コマンド ウィンドウで次のように入力します。

    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を参照してください。

  4. Atomic サブシステムを含むモデルのコードを生成します。コマンド ウィンドウで次のように入力します。

    slbuild('plant_model')

  5. サブシステムのテスト ハーネスを作成します。Controller サブシステムを右クリックし、[テスト ハーネス]['Controller' 用に作成] を選択します。

  6. [テスト ハーネスの作成] ダイアログ ボックスの [基本プロパティ] タブで、次のプロパティを指定します。

    • 名前controller_subsystem_harness

    • Sources および SinksInport および Outport

    • 作成後にハーネスを開く — 有効

  7. [詳細なプロパティ] タブで、[検証モード][ノーマル] に設定されていることを確認します。

  8. [OK] をクリックすると、Simulink Test により Controller サブシステムのテスト ハーネスが作成されます。

    Simulink Editor shows test harness for Controller subsystem.

  9. データを保存するためのフォーマットを指定します。コマンド ウィンドウで次のように入力します。

    set_param('controller_subsystem_harness', ...
              'SaveFormat','Dataset')

  10. [テスト ハーネス] ウィンドウで、SIL/PIL マネージャーを開きます。[アプリ] タブで、[SIL/PIL マネージャー] をクリックします。

  11. 必要に応じて、コード カバレッジを構成します。

  12. back-to-back モデル シミュレーションと SIL シミュレーションを実行します。

    1. [モード] セクションで、[自動検証] を選択します。

    2. [自動検証の実行] セクションで、[検証の実行] をクリックします。

  13. [結果] ギャラリーでは、次を実行できます。

    • シミュレーション データ インスペクターを使用して結果を解析する。たとえば、controller_model_output 信号をモデル シミュレーションおよび SIL シミュレーションと比較します。

    • 等価性のテスト ケースをエクスポートする。

    詳細については、Analyze Results and Export Test Casesを参照してください。

制限の詳細については、Subsystem Block SIL/PIL Limitationsを参照してください。

参考

トピック