Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

モデル カバレッジ タスクの自動化

Simulink Coverage 関数とクラスを使用してスクリプトでのカバレッジ解析を自動化できます。たとえば、同じモデルでさまざまなモデル パラメーターを使用してシミュレーションを行うことで、カバレッジ データを収集するとします。パラメーターを手動で変更するのではなく、シミュレーションの実行とカバレッジ データの収集をループで行うことができます。

スクリプトを使用したカバレッジ データの収集

この例では、sim を使用してカバレッジ データを収集する方法を説明します。

現在の MATLAB® ディレクトリを、サンプル ファイルが含まれている場所に移動します。

openExample('slcoverage/CollectCoverageDataUsingAScriptExample');

モデルの読み込み

最初に、解析するモデルとシステムをメモリに読み込みます。

load_system('slvnvdemo_ratelim_harness');

カバレッジ設定の設定

simで説明している方法の 1 つを使用して、シミュレーション入力、パラメーター構造体、名前と値のペアなどの、カバレッジ パラメーターを設定します。たとえば、パラメーターの構造体を使用するため、フィールドがコンフィギュレーション パラメーターの名前となっており、値がそのパラメーターの対応する値となっている構造体を設定します。

paramStruct.CovEnable = 'on';
paramStruct.CovMetricStructuralLevel = 'Decision';
paramStruct.CovSaveSingleToWorkspaceVar = 'on';
paramStruct.CovSaveName = 'covData';
paramStruct.CovScope = 'Subsystem';
paramStruct.CovPath = '/Adjustable Rate Limiter';
paramStruct.StartTime = '0.0';
paramStruct.StopTime = '2.0';

Simulink.SimulationInputオブジェクトを使用する例については、parsim を使用した並列シミュレーションのカバレッジの記録を参照してください。

テストの設定とモデルのシミュレーション

モデル例では、MATLAB® ワークスペースで定義されている入力値を使用します。この例で使用する値は within_lim.mat というデータ ファイルで定義されています。load を使用してファイルをワークスペースに読み込むことができます。

load within_lim.mat;

追加入力として paramStruct を指定した sim を使用してモデルのシミュレーションを行い、指定されたパラメーターを使用してカバレッジ データを収集します。

simOut = sim('slvnvdemo_ratelim_harness',paramStruct);

Simulink Coverage コンフィギュレーション パラメーターの完全なリストについては、Coverage Settingsを参照してください。

カバレッジ レポートの生成

シミュレーションが cvhtml を使用して生成するカバレッジ データを表示する HTML レポートを生成できます。1 番目の入力は、現在のディレクトリに保存されるカバレッジ レポートの名前です。2 番目の入力は、モデル パラメーター CovSaveSingleToWorkspaceVar および CovSaveName に基づいてワークスペースに保存された cvdata オブジェクトです。

cvhtml への 3 番目の入力としてフラグ '-sRT=0' を使用することで、自動的にレポートを開くことなくレポートを生成できます。

cvhtml('covReport',covData,'-sRT=0');

カバレッジ データの保存

cvsave を使用してカバレッジの結果を保存します。1 番目の入力はカバレッジ データ ファイルの名前、2 番目の入力は cvdata オブジェクトです。

cvsave('covdata',covData);

モデルを閉じる

cvexit を使用してカバレッジ環境を終了し、close_system を使用してモデルを閉じます。0 の 2 番目の入力は、モデルを閉じる前に保存しないことを示しています。

cvexit
close_system('slvnvdemo_ratelim_harness',0);

sim[実行] ボタンの違い

[実行] ボタンを使用してカバレッジを有効にしてシミュレーションを実行する場合、カバレッジ レポートは自動的に開き、[カバレッジの強調表示] は既定で有効になります。sim を使用してプログラムでシミュレーションを実行する場合、カバレッジ レポートは開かれず、[カバレッジの強調表示] は有効になりません。

  • モデルの強調表示を使用して表示されるカバレッジ結果を確認するには、cvmodelview を使用します。

  • カバレッジ レポートを確認するには、cvhtml を使用します。

  • 結果エクスプローラーを開くには、Simulink® でモデルを開きます。[アプリ] タブで、[カバレッジ アナライザー] をクリックします。次に [結果エクスプローラー] をクリックします。

別の詳細な例については、コマンド ライン検証のチュートリアルを参照してください。

Simulink Test でのカバレッジ収集

Simulink Test™ のライセンスがある場合は、テスト マネージャーを使用してカバレッジ データを収集できます。詳細については、Run a Test Case and Collect Coverage (Simulink Test)を参照してください。

参考

| | | |

関連するトピック