cvsave

Сохраните тесты покрытия и результаты зарегистрировать

Синтаксис

cvsave(filename, model)
cvsave(filename, cvd)
cvsave(filename, cvto1, cvto2, ...)
cvsave(filename, cell_array{ :})

Описание

cvsave(filename, model) сохраняет все тесты (объекты cvtest) и результаты (объекты cvdata) связанный с model в текстовом файле filename.cvt. model является указателем на или именем модели Simulink®.

cvsave(filename, cvd) сохраняет все результаты (объекты cvdata) для активной модели в текстовом файле filename.cvt. cvsave также сохраняет информацию о любых моделях, на которые ссылаются.

cvsave(filename, cvto1, cvto2, ...) сохраняет несколько объектов cvtest в текстовом файле filename.cvt. cvsave также сохраняет информацию о любых моделях, на которые ссылаются.

cvsave(filename, cell_array{ :}) сохраняет результаты испытаний, сохраненные в каждом элементе cell_array к файлу filename.cvt. Каждый элемент в cell_array содержит результаты испытаний для объекта cvdata.

Входные параметры

filename

Вектор символов или строка, содержащая имя файла, в котором можно сохранить данные. cvsave добавляет дополнительный .cvt к имени файла при сохранении его.

model

Обработайте к модели Simulink

cvd

Объект cvdata

cvto

Объект cvtest

cell_array

Массив ячеек объектов cvtest

Примеры

Сохраните результаты покрытия для модели slvnvdemo_cv_small_controller в ratelim_testdata.cvt:

model = 'slvnvdemo_cv_small_controller'; 
open_system(model);
cvt = cvtest(model);
cvd = cvsim(cvt);
cvsave('ratelim_testdata', model);

Сохраните совокупные результаты покрытия для подсистемы Ограничителя Регулируемой процентной ставки в модели slvnvdemo_ratelim_harness от двух симуляций:

% Open model and subsystem
mdl = 'slvnvdemo_ratelim_harness';
mdl_subsys = ...
	'slvnvdemo_ratelim_harness/Adjustable Rate Limiter';
open_system(mdl);
open_system(mdl_subsys);

% Create data files
t_gain = (0:0.02:2.0)';
u_gain = sin(2*pi*t_gain);
t_pos = [0;2];
u_pos = [1;1];
t_neg = [0;2];
u_neg = [-1;-1];
save('within_lim.mat','t_gain','u_gain','t_pos','u_pos', ...
	't_neg', 'u_neg');

t_gain = [0;2];
u_gain = [0;4];
t_pos = [0;1;1;2];
u_pos = [1;1;5;5]*0.02;
t_neg = [0;2];
u_neg = [0;0];
save('rising_gain.mat','t_gain','u_gain','t_pos','u_pos', ...
	't_neg', 'u_neg');

% Specify coverage options in cvtest object
testObj1 = cvtest(mdl_subsys);
testObj1.label = 'Gain within slew limits';
testObj1.setupCmd = 'load(''within_lim.mat'');';
testObj1.settings.mcdc = 1;
testObj1.settings.condition = 1;
testObj1.settings.decision = 1;

testObj2 = cvtest(mdl_subsys);
testObj2.label = ...
	'Rising gain that temporarily exceeds slew limit';
testObj2.setupCmd = 'load(''rising_gain.mat'');';
testObj2.settings.mcdc = 1;
testObj2.settings.condition = 1;
testObj2.settings.decision = 1;

% Simulate the model with both cvtest objects
[dataObj1,simOut1] = cvsim(testObj1);
[dataObj2,simOut2] = cvsim(testObj2,[0 2]);

cumulative = dataObj1+dataObj2;
cvsave('ratelim_testdata',cumulative);

Как в предыдущем примере, сохраните совокупные результаты покрытия для подсистемы Ограничителя Регулируемой процентной ставки в модели slvnvdemo_ratelim_harness от двух симуляций. Сохраните результаты в массиве ячеек и затем сохраните данные к файлу:

% Open model and subsystem
mdl = 'slvnvdemo_ratelim_harness';
mdl_subsys = ...
	'slvnvdemo_ratelim_harness/Adjustable Rate Limiter';
open_system(mdl);
open_system(mdl_subsys);

% Create data files
t_gain = (0:0.02:2.0)';
u_gain = sin(2*pi*t_gain);
t_pos = [0;2];
u_pos = [1;1];
t_neg = [0;2];
u_neg = [-1;-1];
save('within_lim.mat','t_gain','u_gain','t_pos','u_pos', ...
	't_neg', 'u_neg');

t_gain = [0;2];
u_gain = [0;4];
t_pos = [0;1;1;2];
u_pos = [1;1;5;5]*0.02;
t_neg = [0;2];
u_neg = [0;0];
save('rising_gain.mat','t_gain','u_gain','t_pos','u_pos', ...
	't_neg', 'u_neg');

% Specify coverage options in cvtest object
testObj1 = cvtest(mdl_subsys);
testObj1.label = 'Gain within slew limits';
testObj1.setupCmd = 'load(''within_lim.mat'');';
testObj1.settings.mcdc = 1;
testObj1.settings.condition = 1;
testObj1.settings.decision = 1;

testObj2 = cvtest(mdl_subsys);
testObj2.label = ...
	'Rising gain that temporarily exceeds slew limit';
testObj2.setupCmd = 'load(''rising_gain.mat'');';
testObj2.settings.mcdc = 1;
testObj2.settings.condition = 1;
testObj2.settings.decision = 1;

% Simulate the model with both cvtest objects
[dataObj1,simOut1] = cvsim(testObj1);
[dataObj2,simOut2] = cvsim(testObj2,[0 2]);

% Save the results in the cell array
cov_results{1} = dataObj1;
cov_results{2} = dataObj2;

% Save the results to a file
cvsave('ratelim_testdata', cov_results{ :});

Альтернативы

Используйте настройки покрытия, чтобы сохранить совокупные результаты покрытия для модели:

  1. Откройте модель, для которой вы хотите сохранить совокупные результаты покрытия.

  2. В Редакторе моделей выберите Analysis> Coverage> Settings.

  3. На панели Coverage диалогового окна Configuration Parameters выберите Enable coverage analysis.

  4. На Coverage> панель Results, выберите Save last run in workspace variable.

  5. Нажмите OK, чтобы закрыть диалоговое окно Configuration Parameters и сохранить ваши изменения.

  6. Моделируйте модель и рассмотрите результаты.

Представлено до R2006a