Main Content

sldvruntest

入力データを使用したモデルのシミュレーション

説明

outData = sldvruntest(model, dataFile) は、dataFile 内のすべてのテスト ケースを使って model をシミュレートします。outData は、Simulink.SimulationOutput オブジェクトの配列です。各配列要素には、対応するテスト ケースのシミュレーション出力データが含まれます。

outData = sldvruntest(model, dataFile, runOpts)dataFile 内のすべてのテスト ケースを使って model をシミュレートします。runOpts は、テスト ケースのシミュレート用オプションを定義します。

[outData, covData] = sldvruntest(model, dataFile, runOpts)dataFile 内のテスト ケースを使って model をシミュレートします。runOptscoverageEnabled フィールドが true の場合、Simulink® Coverage™ ソフトウェアはシミュレーション時にモデル カバレッジ情報を収集します。sldvruntest は、cvdata オブジェクト covData にカバレッジ データを返します。

すべて折りたたむ

sldvdemo_cruise_control モデルを解析します。3 つのテスト ケースのデータを使用してモデルをシミュレートします。シミュレーション データ インスペクターを使用して、信号のログ データを確認します。

sldvdemo_cruise_control モデル例を開きます。

openExample('sldv/CruiseControlTestGenerationExample',...
'supportingFile', 'sldvdemo_cruise_control');

sldvoptions を設定してモデルを解析します。

opts = sldvoptions;
opts.Mode = 'TestGeneration';
opts.SaveHarnessModel = 'on';
opts.SaveReport = 'off';
[ status, files ] = sldvrun('sldvdemo_cruise_control', opts);

3 つのテスト ケースのデータを使用してモデルをシミュレートします。シミュレーション データ インスペクターを使用して、信号のログ データを確認します。

runOpts = sldvruntestopts;
[ outData ] = sldvruntest('sldvdemo_cruise_control',...
    files.DataFile, runOpts);
Simulink.sdi.createRun('Test Case 1 Output', 'namevalue',...
    {'output'}, {outData(1).find('logsout_sldvruntest')});
Simulink.sdi.createRun('Test Case 2 Output', 'namevalue',...
    {'output'}, {outData(2).find('logsout_sldvruntest')});
Simulink.sdi.createRun('Test Case 3 Output', 'namevalue',...
    {'output'}, {outData(3).find('logsout_sldvruntest')});
Simulink.sdi.view;

sldvdemo_cruise_control モデルのテスト ケースをシミュレートすることにより、カバレッジ レポートを生成します。

sldvdemo_cruise_control モデル例を開きます。

openExample('sldv/CruiseControlTestGenerationExample',...
'supportingFile', 'sldvdemo_cruise_control');

sldvoptions を設定してモデルを解析します。

opts = sldvoptions;
opts.Mode = 'TestGeneration';
opts.SaveHarnessModel = 'on';
opts.SaveReport = 'off';
[ status, files ] = sldvrun('sldvdemo_cruise_control', opts);

モデル カバレッジ データを収集し、そのデータを使用してモデルをシミュレートするオプションを有効にします。次に、cvhtml (Simulink Coverage)を使用してカバレッジ レポートを生成します。

runOpts = sldvruntestopts;
runOpts.coverageEnabled = true; 
[ outData,covData ] = sldvruntest('sldvdemo_cruise_control',...
                      files.DataFile,runOpts); 
cvhtml('coverageReport',covData); 

入力引数

すべて折りたたむ

シミュレートする Simulink モデルの名前またはハンドル。文字ベクトルまたは string スカラーとして指定します。

入力データを含むデータ ファイル、構造体、またはスプレッドシートの名前。文字ベクトルまたは string スカラーとして指定します。

MAT ファイルの場合、Simulink Design Verifier™ 解析を使用するか、または関数 sldvlogsignals を実行して、データ ファイルを生成できます。詳細については、Simulink Design Verifier データ ファイルの管理を参照してください。

スプレッドシートの場合、Simulink Design Verifier 解析を使用するか、または関数 sldvgenspreadsheet を実行して、データ ファイルを生成できます。

sldvruntest のコンフィギュレーション。次のフィールドをもつ構造体として返されます。

フィールド説明

testIdx

dataFile からシミュレートするテスト ケース インデックス配列。testIdx[] の場合、sldvruntest はすべてのテスト ケースをシミュレートします。

既定の設定: []

signalLoggingSaveFormat

モデルの outport に接続する信号、およびログ作成用に設定された中間信号の信号ログ データの形式を指定します。

[データセット] を指定した場合、データは Simulink.SimulationData.Dataset オブジェクトに格納されます。

既定の設定: 'Dataset'

coverageEnabled

true の場合、Simulink Coverage ソフトウェアがシミュレーション時にモデル カバレッジ データを収集することを指定します。

既定の設定: false

coverageSetting

モデル カバレッジを収集するための cvtest オブジェクト。[] の場合、sldvruntestmodel に対する既存のカバレッジ設定を使用します。

既定の設定: []

fastRestart

true の場合、Simulink Design Verifier はモデルのシミュレーションに高速リスタート モードを使用します。

既定の設定: true

useParallel

true の場合、Simulink Design Verifier はテスト ケースを並列計算でシミュレートします。このオプションには Parallel Computing Toolbox™ のライセンスが必要です。

既定の設定: false

メモ

runOpts = sldvruntestopts は、各フィールドに既定値が設定された runOpts 構造体を返します。

出力引数

すべて折りたたむ

シミュレートされたテスト ケースの出力データ。Simulink.SimulationOutput オブジェクトの配列として返されます。各 Simulink.SimulationOutput オブジェクトは次のフィールドをもちます。

フィールド名説明

tout_sldvruntest

シミュレーション時間

xout_sldvruntest

状態のデータ

yout_sldvruntest

出力信号データ

logsout_sldvruntest

次の項目に関する信号のログ データ

  • 出力端子に接続された信号

  • モデルに関するログを作成するように設定された信号

モデル カバレッジ データ。covdata オブジェクトとして返されます。

メモ

covdata はカバレッジの結果が記載されたファイルを参照する可能性があります。カバレッジ関数によって covdata が使用されるときに、参照ファイルのカバレッジ データが自動的にメモリに読み込まれます。このファイルは、sldv_output フォルダー内に生成される sldv_covoutput フォルダーに格納されます。

ヒント

  • Simulink Design Verifier 解析を使って作成したか、sldvlogsignals を実行して作成した dataFile には、時間値とデータ値が含まれます。これらのテスト ケースを使用してモデルをシミュレートした場合、未達カバレッジを達成できます。未達カバレッジは、数値計算の相違が原因で dataFile の時間値が現在のシミュレーションのタイム ステップと一致していない場合に発生します。マルチレート モデル (サンプル時間が複数存在するモデル) の場合、未達カバレッジはより頻繁に達成されます。

  • useParallel では、並列計算を使用してテスト ケースをシミュレーションする場合に、以下の点を考慮しなければなりません。

    • 並列プールを起動するには時間がかかり、解析時間全体に影響します。解析時間を削減するには、次のようにします。

      • テスト生成解析を実行する前に、並列プールが既に実行されていることを確認します。既定の設定では、指定した分単位の値にわたりアイドル状態になると、並列プールはシャットダウンします。この設定を変更する場合は、Parallel Computing Toolbox のトピック「並列基本設定の指定」を参照してください。

      • すべての並列プール ワーカーで Simulink を読み込みます。

    • 次の場合、シミュレーションは順次行われます。

      • クラスターは local ではない。local クラスターのみを使用するように、並列基本設定を構成します。この設定を変更する場合は、Parallel Computing Toolbox のトピック「並列基本設定の指定」を参照してください。

      • SLDV 解析を起動する前のモデルは dirty state である。

      • モデルに ToFile ブロックがある。

      • モデルはソフトウェアインザループ (SIL) シミュレーション モードである。

      • このモデルは内部ハーネスです。

バージョン履歴

R2007b で導入