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 モデル例を開きます。

open_system('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 モデル例を開きます。

open_system('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 モデルの名前またはハンドル

入力データを含むデータ ファイルまたは構造体の名前。Simulink Design Verifier™ 解析を使用するか、または関数 sldvlogsignals を実行して、dataFile を生成できます。詳細については、Simulink Design Verifier データ ファイルを参照してください。

フィールドが 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

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

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

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

シミュレーション時に収集されるモデル カバレッジ データを含む cvdata オブジェクト。

メモ

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

ヒント

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

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

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

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

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

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

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

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

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

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

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

R2007b で導入