Автоматизация задач покрытия модели

Можно автоматизировать анализ покрытия в скрипте с помощью функций и классов 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

Если у вас есть лицензия Simulink Test™, можно использовать Test Manager для сбора данных о покрытии. Для получения дополнительной информации Запуск Теста и сбор покрытия (Simulink Test).

См. также

| | | |

Похожие темы