Можно автоматизировать анализ покрытия в скрипте при помощи функций Simulink Coverage и классов. Например, вы можете хотеть собрать данные о покрытии путем симуляции той же модели с различными параметрами модели. Вместо того, чтобы изменить параметры вручную, можно запустить симуляции и собрать данные о покрытии в цикле.
В этом примере показано, как собрать данные о покрытии с помощью sim
.
Загрузите модель
Во-первых, загрузите модель и систему, которую вы хотите анализировать в память.
load_system('slvnvdemo_ratelim_harness');
Установите настройки покрытия
Настройте параметры покрытия с помощью одного из методов, описанных в
, такой как вход симуляции, структура параметра или пары "имя-значение". Например, для того, чтобы использовать структуру параметров, настройте структуру, поля которой являются именами параметров конфигурации, и чьи значения являются соответствующими значениями тех параметров.sim
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;
Симулируйте модель с помощью sim
с paramStruct
как дополнительный вход, чтобы собрать данные о покрытии с помощью заданных параметров.
simOut = sim('slvnvdemo_ratelim_harness',paramStruct);
Для полного списка параметров конфигурации Simulink Coverage смотрите Настройки Покрытия.
Сгенерируйте отчет покрытия
Можно сгенерировать отчет HTML, чтобы просмотреть данные о покрытии, которые симуляция генерирует с cvhtml
. Первый вход является именем отчета покрытия, который будет сохранен в текущем каталоге. Вторым входом является cvdata
объект, который был сохранен в рабочую область на основе параметров модели CovSaveSingleToWorkspaceVar
и CovSaveName
.
Можно сгенерировать отчет, автоматически не открывая его при помощи флага '-sRT=0'
как третий вход к cvhtml
.
cvhtml('covReport',covData,'-sRT=0');
Сохраните данные о покрытии
Используйте cvsave
сохранить результаты покрытия. Первый вход является именем файла данных покрытия, и вторым входом является cvdata
объект.
cvsave('covdata',covData);
Закройте модель
Выйдите из среды покрытия при помощи cvexit
и закройте модель при помощи close_system
. Второй вход 0
указывает, что вы не хотите сохранять модель перед закрытием.
cvexit
close_system('slvnvdemo_ratelim_harness',0);
sim
и кнопка RunКогда вы запускаете симуляцию с покрытием, включенным при помощи кнопки Run, отчет покрытия открывается автоматически, и Coverage Highlighting включен по умолчанию. Когда вы запускаете симуляцию программно при помощи sim
, отчет покрытия не открывается, и Coverage Highlighting не включен.
Чтобы видеть результаты покрытия, отображенные с помощью выделения модели, использовать cvmodelview
.
Чтобы видеть отчет покрытия, использовать cvhtml
.
Чтобы открыть Проводник Результатов, откройте модель в Simulink®. Во вкладке Apps нажмите Coverage Analyzer. Затем нажмите Results Explorer.
Для другого подробного примера см. Пример по Верификации Командной строки.
Если у вас есть лицензия Simulink Test™, можно использовать менеджера по Тесту, чтобы собрать данные о покрытии. Для получения дополнительной информации Запуск Тест и Собирает Покрытие (Simulink Test).
sim
| Simulink.SimulationInput
| cvsim
| cvtest
| cvhtml