メインコンテンツ

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

sltest.harness.create

テスト ハーネスの作成

説明

sltest.harness.create(harnessOwner) は、既定のプロパティを使用して、単一のモデル コンポーネントまたは複数のコンポーネント harnessOwner に対して 1 つ以上のテスト ハーネスを作成します。モデルのアクティブおよび非アクティブなコンフィギュレーション セットが、作成されたハーネスにコピーされます。

sltest.harness.create(harnessOwner,Name=Value) は、1 つ以上の名前と値の引数で指定された追加オプションを使用します。複数のハーネスを作成すると、すべてのハーネスで指定されたプロパティ値が使用されます。個々のハーネスを作成した後で、そのプロパティを変更できます。

result = sltest.harness.create(harnessOwner,___) はハーネスを作成し、作成されたハーネスに関する情報を返します。

すべて折りたたむ

f14 モデルの Controller サブシステム用のハーネスを作成します。

openExample("f14");
sltest.harness.create("f14/Controller");

f14 モデルのハーネスを作成します。ハーネスは sample_harness という名前であり、Signal Editor ブロック ソースと Scope ブロック シンクがあります。

openExample("f14");
sltest.harness.create("f14",Name="sample_harness"...
Source="Signal Editor",Sink="Scope")

f14 モデルの Controller サブシステムのテスト ハーネス スケジューラとして Stateflow® チャートを使用するハーネスを作成します。

openExample("f14");
sltest.harness.create("f14/Controller",SchedulerBlock="Chart");

Controller サブシステムのハーネスと、f14 モデルの Aircraft Dynamics Model サブシステムのハーネスを作成します。Controller サブシステムのハーネスの名前は myf14Harness で、Aircraft Dynamics Model サブシステム用の名前は myf14Harness1 です。

openExample("f14")

result = sltest.harness.create(["f14/Controller",...
 "f14/Aircraft Dynamics Model"],...
 TopModel="f14",Name="myf14Harness");

入力引数

すべて折りたたむ

モデルまたはコンポーネントのハンドルまたはパス。絶対ブロック パスの string または文字ベクトル、または数値コンポーネント ハンドル オブジェクトの double として指定します。複数のコンポーネントのハーネスを作成する場合は、次のいずれかの形式を使用してハーネス オーナーを指定します。

  • コンポーネントのブロック パスの文字ベクトルの cell 配列または string 配列

  • コンポーネントのブロック ハンドルの double 配列

  • コンポーネントのブロック パスの Simulink.BlockPath オブジェクトの配列

例: 1.9500e+03

例: "model_name"

例: "model_name/Subsystem"

例: ["model_name/Subsystem1","model_name/Subsystem2"]

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

例: sltest.harness.create(Name="controller_harness",Source="Signal Editor",Sink="To File") は、テスト対象のコンポーネント用の Signal Editor ブロック ソースと To File ブロック シンクをもつ、controller_harness という名前のハーネスを作成します。

harnessOwners 内のコンポーネントの最上位モデル。最上位モデルの数値ハンドル、またはモデル名の string または文字ベクトルとして指定します。この名前と値の引数は、複数のテスト ハーネスを作成する場合には必須であり、ハーネスを 1 つだけ作成する場合には無視されます。

ハーネスの名前。文字ベクトルまたは string として指定します。複数のハーネスを作成する場合、関数は作成されたハーネスの接頭辞として Name 引数を使用します。たとえば、名前を myHarness と指定した場合、作成されるハーネスは myHarnessmyHarness1 などになります。

ハーネスの説明。文字ベクトルまたは string として指定します。

例: Description="A test harness"

ハーネス内のテスト対象のコンポーネントへの入力。"Inport""Signal Editor""From Workspace""From File""Test Sequence""Playback""Chart""Constant""Ground""None"、または "Custom" として指定します。

例: Source="Signal Editor"

Source"Custom" に設定されている場合にソースとして使用するライブラリ ブロックのパス。

例: CustomSourcePath="simulink/Sources/Sine Wave"

ハーネス内のテスト対象のコンポーネントの出力。"Outport""Scope""To Workspace""To File""Terminator""Record""None"、または "Custom" として指定します。

テスト ハーネスに To Workspace ブロックが含まれている場合、テストの実行の完了後にベース ワークスペースにブロック変数は保存されません。テストが完了した時点で、ベース ワークスペースは元の状態に復元されます。

例: Sink="Scope"

カスタム シンクの場合、シンクとして使用するライブラリ ブロックのパス。文字ベクトルまたは string として指定します。

例: CustomSinkPath="simulink/Sinks/Display"

別個の Test Assessment ブロックをテスト ハーネスに追加するオプション。数値または logical 1 (true) または 0 (false) として指定します。

例: SeparateAssessment=true

テスト対象のコンポーネントがメイン モデルとテスト ハーネスを同期するタイミングを指定するオプション。サブシステム モデルのテスト ハーネスは基となるモデルと常に同期されます。

  • "SyncOnOpenAndClose" は、テスト ハーネスが開くとメイン モデルからテスト対象のコンポーネントをリビルドし、テスト ハーネスが閉じるとテスト対象のコンポーネントからメイン モデルに変更をプッシュします。

  • "SyncOnOpen" は、テスト ハーネスが開くと、メイン モデルからテスト対象のコンポーネントをリビルドします。テスト ハーネスが閉じるときに、テスト対象のコンポーネントからメイン モデルに変更をプッシュしません。

  • "SyncOnPushRebuildOnly" は、テスト ハーネス全体のリビルドまたはプッシュを手動で開始した場合にのみ、リビルドして変更をプッシュします。

詳細については、Synchronize Changes Between Test Harness and Modelを参照してください。

例: SynchronizationMode="SyncOnOpen"

メイン モデルをコンパイルせずにハーネスを作成するように指定するオプション。数値または logical 1 (true) または 0 (false) として指定します。サブシステム モデルのテスト ハーネスの場合、このオプションは true に設定されています。

false の場合、モデルをコンパイルし、ハーネスのビルドをサポートするための他の操作を実行します。true の場合、モデルをコンパイルせずにハーネスを作成します。

例: CreateWithoutCompile = false

テスト ハーネスで使用するブロックのタイプを指定するオプション。NormalSIL、または PIL として指定します。SIL および PIL のブロックには Simulink® Coder™ が必要です。サブシステム モデルの場合、このオプションは Normal に設定されています。

例: VerificationMode = "SIL"

ソフトウェアインザループ (SIL) またはプロセッサインザループ (PIL) を使用して検証済みの既存の生成コードのメイン ビルド フォルダーへのパス。string または文字ベクトルとして指定します。ビルド フォルダーを指定すると、関数はそのフォルダー内の既存のコードを使用します。これにより、ハーネスの作成時間が短縮されます。ビルド フォルダーを指定しない場合、関数はコードを再生成します。複数のハーネスを作成する場合は ExistingBuildFolder は適用されません。sl_customization ファイルまたは sltest.harness.setHarnessCreateDefaults を使用してこのプロパティに既定値を設定することはできません。

例: ExistingBuildFolder="C:\TestMdl\SILHarness\Amplifier_ert_rtw"

ハーネスが開いたときにハーネスをリビルドするオプション。数値または logical 1 (true) または 0 (false) として指定します。

例: RebuildOnOpen=true

テスト ハーネスのリビルド中にコンフィギュレーション セットおよびモデル ワークスペースのエントリが更新されるようにするオプション。数値または logical 1 (true) または 0 (false) として指定します。サブシステム モデルのテスト ハーネスの場合、このオプションは true に設定されています。

例: RebuildModelData=true

各テスト ハーネスを個別の SLX ファイルとして保存するオプション。数値または logical 1 (true) または 0 (false) として指定します。モデルでは、外部テスト ハーネス ストレージと内部テスト ハーネス ストレージの両方を使用することはできません。モデルに既にテスト ハーネスがある場合、新しいテスト ハーネスは既存のハーネスのストレージ タイプに従います。そのタイプは、このオプションではオーバーライドされません。テスト ハーネスの管理を参照してください。

例: SaveExternally=true

外部テスト ハーネス SLX ファイルまたはハーネス フォルダーのパス。文字ベクトルまたは string として指定します。ここでハーネス パスを指定せず、かつ sltest.harness.setHarnessCreateDefaults 関数または sl_customization.m ファイルを使用してハーネス パスを設定しなかった場合、関数はハーネス パスに現在の作業ディレクトリを使用します。ハーネスを作成する際には、ハーネスのファイル パスまたはフォルダーが MATLAB® パス上にある必要はありません。ただし、テスト ハーネスを開くには、ハーネスまたはそのフォルダーは MATLAB パス上にある必要があります。

クライアント ポートまたはサーバー ポートがないテスト対象のモデルまたはコンポーネントの場合、HarnessPath は、SaveExternallytrue に設定した場合にのみ外部ハーネスに対して適用されます。外部ハーネス ファイルに使用するパスを指定します。複数のハーネスを作成する場合は、ハーネス フォルダーのパスを指定します。

クライアント ポートまたはサーバー ポートがあるテスト対象のモデルまたはコンポーネントの場合、HarnessPath はハーネス フォルダーを指定し、内部ハーネスと外部ハーネスの両方に適用されます。外部ハーネスの場合、指定されたフォルダーにはテスト ハーネスとモック アーキテクチャ モデルが含まれます。内部ハーネスの場合、フォルダーにはモック アーキテクチャ モデルのみが含まれます。ハーネスはメイン モデルと一緒に保存されます。モック アーキテクチャ モデルには、テスト対象のコンポーネントと通信するクライアントまたはサーバーのコンポーネントを実装するためのモック コンポーネントが含まれます。詳細については、Service Interfaces Overview (System Composer)を参照してください。

例: HarnessPath="C:\MATLAB\SafetyTests"

テスト対象のコンポーネントのすべてのハーネス出力信号をログに記録するかどうか。数値または logical 1 (true) または 0 (false) として指定します。値が true の場合、ログ記録と互換性のない信号を除くすべての信号がログに記録されます。信号はテスト ケースの実行中にログに記録され、テスト結果を返します。出力信号に名前も伝播された名前もない場合、<component under test name>:<output port number> という形式を使用してハーネス内で名前が割り当てられます。信号をログ記録の対象外にするには、信号のバッジを手動で削除します。

例: LogOutputs=true

テスト ハーネスをカスタマイズするには、1 つ以上の作成後コールバック関数を使用します。作成後コールバック関数は、ハーネスが作成された後に実行されます。複数のコールバックを指定するには、コンマで区切ります。コールバックはリストした順序で実行されます。詳細については、テスト ハーネスのカスタマイズを参照してください。

例: PostCreateCallback="HarnessCallback"

例: PostCreateCallback={"HarnessCallback","SecondCallback"}

例: PostCreateCallback=["HarnessCallback","SecondCallback"]

リビルド後コールバック関数を使用して、テスト ハーネスをカスタマイズします。リビルド後コールバック関数は、ハーネスのリビルド後に実行されます。詳細については、テスト ハーネスのカスタマイズを参照してください。

例: PostRebuildCallback="HarnessCustomization"

データ型: char

選択したテスト ハーネス ソースでモデルの initialize 端子、reset 端子、および terminate 端子を駆動するオプション。数値または logical 1 (true) または 0 (false) として指定します。このオプションは、ブロック線図用に作成されたハーネスにのみ適用されます。サブシステム モデルの場合、このオプションは false に設定されています。

例: ScheduleInitTermReset=true

テスト ハーネスにスケジューラ ブロックを含めるオプション。Test SequenceMATLAB FunctionChart、または None として指定します。テスト ハーネスがモデル ブロック線図または Model ブロック用に作成され、関数呼び出しまたは定期的なイベント端子が含まれている場合、このブロックが含まれます。スケジューラ ブロックを含めず、すべての端子をハーネス ソース ブロックに接続するには、"None" を使用します。複数のハーネスを作成する場合、同じタイプのスケジューラ ブロックが各ハーネスに追加されます。

例: SchedulerBlock="Test Sequence"

例: SchedulerBlock="None"

スカラーおよび double 値を整形してテスト対象のコンポーネントへの入力信号の次元に一致させるオプション。数値または logical 1 (true) または 0 (false) として指定します。このオプションは、InportConstantSignal EditorFrom Workspace、または From File ブロックを含むハーネスにのみ適用されます。サブシステム モデルの場合、このオプションは false に設定されています。

例: AutoShapeInputs=true

再利用可能なライブラリ サブシステム関数インターフェイスの名前。string または文字ベクトルとして指定します。関数は、再利用可能なライブラリ サブシステムの関数インターフェイス用のテスト ハーネスを作成します。sl_customization.m ファイルまたは sltest.harness.setHarnessCreateDefaults を使用してこのプロパティに既定値を設定することはできません。複数のハーネスを作成するときに FunctionInterfaceName を指定すると、エラーが発生します。

例: FunctionInterfaceName="double_RLS"

出力引数

すべて折りたたむ

作成されたハーネスのハーネス情報、エラー、および警告。構造体として返されます。この構造体は harnessOwner 入力引数と同じ次元をもちます。関数でコンポーネントのハーネスが正常に作成された場合、harnessInfo フィールドは、作成されたハーネスに関する情報を含む構造体になります。ハーネスが正常に作成されなかった場合、error フィールドにエラーがオブジェクトとして含まれます。warning フィールドには、ハーネスの作成中に発生した警告メッセージが含まれます。

harnessInfo の struct のフィールドは、modelnamedescriptionownerHandleownerFullPathownerTypeverificationModerebuildOnOpenrebuildModelDatapostRebuildCallbackgraphicalorigSrcorigSinksynchronizationModeexistingBuildFolder、および functionInterfaceName です。

バージョン履歴

R2015a で導入

すべて展開する