メインコンテンツ

モデルおよびモデル コンポーネントのテスト ハーネス

R2026b

"テスト ハーネス" は、Simulink® モデルまたはモデル コンポーネントをテストまたはデバッグするために使用できる個別の Simulink モデル ワークスペースです。テスト ハーネスは、メインの Simulink モデルに格納される "内部テスト ハーネス"、または別個の Simulink モデル SLX ファイルである "外部テスト ハーネス" にすることができます。テスト ハーネスを使用すると、メイン モデルが整理された状態に保たれ、テスト環境がメイン モデルに影響しないようにすることができます。テスト ハーネスの存在は、コード生成に影響しません。内部テスト ハーネスと外部テスト ハーネスの違いの詳細については、テスト ハーネスの管理を参照してください。

モデルおよびモデル コンポーネントのテスト ハーネスの作成

以下に対してテスト ハーネスを作成できます。

  • モデル全体。テスト ハーネスをメイン モデルの最上位レベルに関連付けると、テスト ハーネス内のテスト対象のコンポーネントは、メイン モデルを参照する Model ブロックになります。テスト ハーネス モデルには、メイン モデルからのパラメーターのコピーは含まれていません。

  • モデル コンポーネント (サブシステム、ライブラリ ブロック、Subsystem Reference ブロック、Model ブロック、System Composer™ コンポーネントなど)。サブシステムの場合、テスト ハーネス モデルには、コンポーネントのコピーおよび各コンポーネント パラメーターのコピーが含まれます。Model ブロックのテスト ハーネスの場合、ハーネスにはメイン モデルのパラメーターからのコピーは含まれませんが、インスタンス パラメーターは同期されます。

Simulink でテスト ハーネスを作成するには、モデル内またはモデル コンポーネントを右クリックします。[アプリの選択] にカーソルを合わせ、[Simulink Test] ボタンをクリックして、Simulink Test アプリ オプションをコンテキスト メニューに追加します。次に、Simulink Test アプリのセクションで [テスト ハーネスの追加] ボタン をクリックします。あるいは、sltest.harness.create を使用します。詳細については、テスト ハーネスの作成を参照してください。

テストするモデルまたはコンポーネントは、"テスト対象のコンポーネント" (CUT) です。テスト ハーネスには、独自のモデル ワークスペース、コンフィギュレーション セット、および入出力が含まれています。既存のテスト ハーネスを表示するには、モデルまたはコンポーネントの右下隅にカーソルを合わせ、[パースペクティブ ビューを表示します] アイコン を表示します。そのアイコンをクリックしてから、テスト ハーネスをクリックします。

テスト ハーネスのパラメーター

モデル コンポーネントのテスト ハーネスには、CUT とそのパラメーターのコピーが含まれます。たとえば、最上位モデルに 1 つ、サブシステムに 1 つ、合計 2 つの Gain ブロックが含まれているモデルがあるとします。モデルの最上位レベルにある Gain ブロックのパラメーター値は gain_top で、サブシステム内の Gain ブロックのパラメーター値は gain_ss です。

Sample block diagram with a gain block and a subsystem

Sample subsystem with its own gain block

次に、サブシステムのテスト ハーネスを作成します。テスト ハーネスには、サブシステムとその Gain ブロックおよび gain_ss パラメーターのコピーが含まれます。テスト ハーネスで、Inport ブロックを削除し、値が constant1 の Constant ブロックに置き換えるとします。

Sample test harness for the subsystem

この場合、テスト ハーネスには gain_ss および constant1 パラメーターが含まれますが、gain_top パラメーターは含まれません。メイン モデルには gain_top および gain_ss パラメーターが含まれますが、constant1 パラメーターは含まれません。

ただし、最上位モデルからテスト ハーネスを作成すると、テスト ハーネスにはメイン モデルを参照する Model ブロックが含まれます。テスト ハーネスには、gain_ss や gain_top のコピーは含まれません。メイン Simulink モデルで gain_ss または gain_top を変更すると、テスト ハーネスの同じ値も変更されます。

テスト ハーネスのパラメーターは、最もローカルなワークスペースに解決されます。パラメーターは、まずハーネス モデルのワークスペースに解決され、次にメイン モデルのワークスペースに解決されます。Simulink は、最初に最下位レベルのサブシステムを解決しようと試み、次にモデルの階層構造のより高いレベルで解決を試みます。最終的に、パラメーターが解決されていない場合、ベース MATLAB® ワークスペースで解決されます。

テスト ハーネスとモデルの同期

テスト ハーネスを作成する際に、モデルまたはハーネスへの変更が相互にどのように影響するかを指定します。テスト ハーネスで行った変更をメイン モデルにプッシュできます。メイン モデルでの変更をテスト ハーネスに同期させることもできます。同期モードを設定するには、[テスト ハーネスの作成] ダイアログ ボックスの [詳細なプロパティ] タブにある [同期モード] パラメーターを使用します。次のオプションがあります。

  • ハーネスの開閉時に同期 — 1 つ以上のテスト ハーネスを開くと、モデルからハーネスへの同期が行われます。1 つのハーネスのみが開いている状態でそのハーネスを閉じると、ハーネスからモデルへの同期が行われます。複数のハーネスが開いている状態で、そのうちの 1 つのみを閉じても、同期は行われません。

  • ハーネスを開くときに同期 — 1 つ以上のテスト ハーネスを開くと、モデルからハーネスへの同期が行われます。1 つ以上の開いているハーネスを閉じても、同期は行われません。

  • プッシュ時とリビルド時にのみ同期 — 1 つのハーネスのみが開いている場合、ハーネスの [変更のプッシュ] ボタンを押すと、ハーネスからモデルへ変更が同期されます。[ハーネスのリビルド] ボタンを押すと、モデルからハーネスへの同期が行われます。複数のハーネスが開いている場合、[ハーネスのリビルド] ボタンを押すと、モデルからハーネスに変更が同期されます。[変更のプッシュ] はサポートされていません。

  • リビルド時にのみ同期 — 1 つ以上のハーネスが開いている場合、[ハーネスのリビルド] ボタンを押すと、モデルからハーネスへの同期が行われます。

すべての同期オプションは内部テスト ハーネスと外部テスト ハーネスの両方で使用できますが、使用可能なオプションは、テスト対象のモデル要素のタイプによって異なります。同期の詳細については、Synchronize Changes Between Test Harness and Modelを参照してください。

参考

トピック