Modelブロックを​含んだモデルのカバレ​ッジを行うコマンドは​ありますか?

15 ビュー (過去 30 日間)
MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
回答済み: MathWorks Support Team 2013 年 10 月 25 日
Modelブロック(参照モデル)を含んだモデルのカバレッジを行う方法を教えてください。

採用された回答

MathWorks Support Team
MathWorks Support Team 2013 年 10 月 25 日
TOP階層のテスト仕様設定において、下記を追加することでModelブロック(参照モデル)を含んだモデルのカバレッジを行うことができます。
cvto.modelRefSettings.enable='all';% 全ての参照モデルに対するカバレッジを設定
下記がプログラム例です。TOP_ModelNameとSignalNameは、カバレッジを行うモデル名、ブロック名に合わせて使用してください。
% 参照/参照先モデルの読み込み
TOP_ModelName = 'TOP_Model_Name';% Top階層のモデル名
open_system(TOP_ModelName)
block_name = find_mdlrefs(TOP_ModelName);
for n=1:length(block_name)
% 非視覚的にモデルを読み込み
load_system(block_name{n})
end
% SignalBuilder名設定
SignalName = 'TOP_Model_Name/SignalBuilder_TestPattern';
[time,data,siglabelsl,grouplabel]=signalbuilder(SignalName);
% SignalBuilderの取得したグループラベルの各信号をcvsimコマンドによりシミュレーション
for n=1:length(grouplabel)
% Signal Builderのタブをアクティブに
signalbuilder(SignalName,'ActiveGroup',n);
%シグナル信号の最終時間取得
[time, data] = signalbuilder(SignalName, 'get', 1, n);
TimeEnd = num2str(time(end));
%上位モデルのコンフィギュレーションパラメータ変更
hAcs = getActiveConfigSet(TOP_ModelName);
hAcs.set_param('StopTime', TimeEnd);
% テスト仕様の設定
cvto=cvtest(TOP_ModelName)
cvto.settings.decision=1; % カバレッジ測定対象をdecisionに設定
cvto.settings.mcdc=1; % カバレッジ測定対象をMCDCに設定
cvto.settings.condition=1; % カバレッジ測定対象をConditionに設定
cvto.modelRefSettings.enable='all';% 全ての参照モデルに対するカバレッジを設定
cvdg = cvsim(cvto)
% モデルのカバレッジの合算
if ~exist('covData0','var')
covData0 = cvdg;
else
covData0 = covData0 + cvdg;
end
end
% 統合カバレッジをHTMLで出力
htmlname=sprintf('%s_report%s.html',TOP_ModelName,'All');
cvhtml(htmlname,covData0);

その他の回答 (0 件)

カテゴリ

Help Center および File Exchangeカバレッジ ワークフローの自動化 についてさらに検索

タグ

タグが未入力です。

製品


リリース

R2010b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!