Можно автоматизировать анализ покрытия в скрипте с помощью функций и классов 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
объект, см. «Record Coverage in Parallel Simulations by Using 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™, можно использовать Test Manager для сбора данных о покрытии. Для получения дополнительной информации Запуск Теста и сбор покрытия (Simulink Test).
cvhtml
| cvsim
| cvtest
| sim
| Simulink.SimulationInput