Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Atomic サブシステムの back-to-back (MIL/SIL) 等価性テスト

この例では、Atomic サブシステムの back-to-back テストを作成して実行する方法を示します。このテストは等価性テストとも呼ばれます。

Model with plant and controller subsystems

モデルのコードの生成

モデルを開き、Simulink を実行するシステムを構成して、モデル全体のコードを生成します。

model = 'sltestMILSILEquivalence'; 
open_system(model);
% Configure for code generation
if ismac
    lProdHWDeviceType = 'Intel->x86-64 (Mac OS X)';
elseif isunix
    lProdHWDeviceType = 'Intel->x86-64 (Linux 64)';
else
    lProdHWDeviceType = 'Intel->x86-64 (Windows64)';
end

set_param(model, 'ProdHWDeviceType', lProdHWDeviceType);
slbuild(model); 
### Starting build procedure for: sltestMILSILEquivalence
### Successful completion of build procedure for: sltestMILSILEquivalence

Build Summary

Top model targets built:

Model                    Action                        Rebuild Reason                                    
=========================================================================================================
sltestMILSILEquivalence  Code generated and compiled.  Code generation information file does not exist.  

1 of 1 models built (0 models already up to date)
Build duration: 0h 0m 49.722s

テスト マネージャーと [モデル コンポーネントのテスト] ウィザードを使用した back-to-back テストの作成

1.テスト マネージャーを開きます。

sltest.testmanager.view;

2.[新規][モデル コンポーネントのテスト] をクリックします。

Menu selection for Test for Model Component

3.[現在のモデルを使用] アイコン icon.png をクリックして [最上位モデル] フィールドに sltestMILSILEquivalence モデルを追加します。Controller を選択し、プラス記号をクリックします。その後、[次へ] をクリックします。

Create test for model component wizard with controller subsystem selected

4.[最上位モデルからのコンポーネント入力をテスト入力として使用] を選択します。その後、[次へ] をクリックします。

Create test for model component wizard with using component input from the top model as test input selected

5.[back-to-back テストを実行する] を選択します。[シミュレーション 1][Normal] に設定され、[シミュレーション 2][Software-in-the-Loop (SIL)] に設定されていることを確認します。その後、[次へ] をクリックします。

Create test for model component wizard with back-to-back testing selected

6.テスト データと生成されたテストの保存については既定値のままにします。

  • テスト ハーネスの入力ソースの選択: Inports

  • ファイル形式を指定: MAT

  • テスト データを保存する場所を指定: "sltest_sltestMILSILEquivalence"

  • テスト ファイルの場所: "sltest_sltestMILSILEquivalence_tests"

その後、[完了] をクリックします。[モデル コンポーネントのテストの作成] で back-to-back (等価性) テストが生成され、テスト マネージャーに戻ります。

Create test for model component wizard with Inports as the test harness input source, MAT as the file format, and the default locations to save the test data and generated test.

7.テスト マネージャーの [テスト ブラウザー] ペインで、テスト ファイル sltest_sltestMILSILEquivalence_tests を選択します。[カバレッジの設定] セクションを展開してカバレッジ収集を有効にします。[収集するカバレッジ][テスト対象システムのカバレッジを記録] を選択します。[カバレッジ メトリクス][判定][MCDC] を選択します。カバレッジでテストの完全性が評価されます。

Coverage settings

8.sltestMILSILEquivalence_Harness1 テスト ケースを選択します。[シミュレーション 1][シミュレーション 2] のセクションを展開し、[テスト対象システム][シミュレーション設定とリリースのオーバーライド] のサブセクションをそれぞれ展開して設定を確認します。

Test Manager with simulation one set for normal mode

Test Manager with simulation two set for software-in-the-loop mode

テストの実行と結果の表示

1.テスト マネージャーのツール バーで [実行] をクリックします。

2.テストの実行が完了したら、[結果とアーティファクト] ペインで [結果] を選択し、[カバレッジの結果の集計] セクションを表示します。ノーマル シミュレーションと SIL シミュレーションの両方のカバレッジが 100% であり、選択したモデル カバレッジ メトリクスに対してテストが完全であることを示しています。

Aggregated coverage results

3.[結果] の階層を展開し、Equivalence Criteria Result の下にある Out1:1 を選択します。ノーマル シミュレーションと SIL シミュレーションの差がゼロであり、両方のシミュレーションで同じ結果が得られることを示しています。

Results display showing matching sim output for both simulations and zero difference between the signals

モデルを閉じ、テスト マネージャーをクリアして閉じる

close_system(model,0)
sltest.testmanager.clear
sltest.testmanager.clearResults
sltest.testmanager.close