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 CenterFile Exchange에서 カバレッジ ワークフローの自動化에 대해 자세히 알아보기

태그

아직 태그를 입력하지 않았습니다.

제품


릴리스

R2010b

Community Treasure Hunt

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

Start Hunting!