テストマネージャーでAtomic Subsystem 単位で機能単位のB2​Bテストを実施する手​順を教えてください。

Atomic Subsystem 単位で、モデルから生成されたコード(SIL:Software In the Loop)がモデル(MIL:Model In the Loop)と同じ振る舞いをするかをテストマネージャーでテスト(モデルと生成コードの動作等価性確認:B2B(Back-to-Back))する方法を教えてください。

 Respuesta aceptada

MathWorks Support Team
MathWorks Support Team hace alrededor de 6 horas

0 votos

R2021a以降、最上位モデルから生成された実装コードを利用して、機能単位(アトミックサブシステム単位)のMIL実行とSIL実行の比較が実施できます。
対象となるアトミックサブシステムに対してテストハーネスを作成し、MIL実行とSIL実行の結果を比較します。SIL側では最上位コードの中になる対象関数だけを呼び出すため、実装コードとの整合性を維持しながら、機能単位のB2Bができます。
事前準備:
(0) 対象のアトミックサブシステムが関数として生成されるように設定します。
また、モデルのコンフィギュレーションパラメータにおいて、Embedded Coder を用いてコード生成できるように設定します。
(i).テストハーネスの作成
Simulink Test のアプリが表示されていない場合は表示し、対象アトミックサブシステムを右クリックし、[サブシステムのテストハーネスの追加] >「テストハーネスの追加」を選択してテストハーネスを作成します。
 
(ii).モデルのコード生成
Embedded Coder を用いて、モデルから実装コードを自動生成します。
自動生成コード内で、対処のアトミックサブシステムが関数として生成されていることを確認します。
Test Manager を用いたBack to Back:
1.テストマネージャーで等価性テストの作成
Simulink Test を起動し、テストマネージャーを開いて[新規]> [テストファイル]、"名前を付けて保存" ウィンドウ上でファイル名を指定し[保存]をクリックして新規テストを作成した後、それを等価性テストのテンプレートに変換するために、「新規テストケース1」を選択、右クリックして、「変換」>「等価性テスト」を選択します。"テストマネージャー"ウィンドウに「テストの変換中にデータが失われる可能性があります。これらのテストを変換してもよろしいですか?」と表示されますので、[はい]をクリックし、等価性テストに変換します。
2.シミュレーション1の設定
新規テストケース1の「シミュレーション1」の「テスト対象システム」に”テスト対象モデル”を選択し、「テストハーネス」に、作成したテストハーネスモデルを設定します。「シミュレーションモード」を”Normal”にします。
3.テスト入力の指定
「入力」>「+作成」でテストの入力信号を設定します。あらかじめSimulink Design Verifier で自動生成しておいたテストケース(mat) など、入力信号を設定します。必要に応じて、「入力データをテスト結果に含める」と「最後の時間ポイントでシミュレーションを停止」をチェックします。
4.シミュレーション2の設定
上記2,3の設定をシミュレーション2にコピーします。
コピー後、シミュレーション2の「シミュレーションモード」を"Software-in-the -Loop(SIL)"に変更します。
これにより、シミュレーション1は、MIL、シミュレーション2は、SILがテストハーネスで実行されます。
5.反復入力を設定
テスト入力が複数のシナリオから生成されている場合、反復処理の設定を行います。
6. カバレッジ計測の設定
カバレッジ計測を実施する場合は、「カバレッジの設定」>「カバレッジメトリクス」で対象のものをチェックします。
これでテストマネージャー上の設定は完了です。テストを実行します。
参考:テストマネージャのウィザード起動を用いたB2Bの実行
※事前のコード生成関連の設定と、モデル全体からのコード生成を実施しておく必要あり。
ウィザードでは、必要な入力を指定することで、B2Bテストを自動生成可能

Más respuestas (0)

Productos

Etiquetas

Preguntada:

el 1 de Oct. de 2026 a las 0:00

Respondida:

el 1 de Oct. de 2026 a las 6:01

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!