Modelブロックを含んだモデルのカバレッジを行うコマンドはありますか?
15 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
MathWorks Support Team
el 25 de Oct. de 2013
Respondida: MathWorks Support Team
el 25 de Oct. de 2013
Modelブロック(参照モデル)を含んだモデルのカバレッジを行う方法を教えてください。
Respuesta aceptada
MathWorks Support Team
el 25 de Oct. de 2013
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 comentarios
Más respuestas (0)
Ver también
Categorías
Más información sobre カバレッジ ワークフローの自動化 en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!