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

Можно автоматизировать анализ покрытия в скрипте при помощи функций Simulink Coverage и классов. Например, вы можете хотеть собрать данные о покрытии путем симуляции той же модели с различными параметрами модели. Вместо того, чтобы изменить параметры вручную, можно запустить симуляции и собрать данные о покрытии в цикле.

Соберите данные о покрытии Используя скрипт

В этом примере показано, как собрать данные о покрытии с помощью sim.

Переместите текущую директорию MATLAB® в местоположение, которое содержит файлы в качестве примера.

openExample('slcoverage/CollectCoverageDataUsingAScriptExample');

Загрузите модель

Во-первых, загрузите модель и систему, которую вы хотите анализировать в память.

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™, можно использовать менеджера по Тесту, чтобы собрать данные о покрытии. Для получения дополнительной информации Запуск Тест и Собирает Покрытие (Simulink Test).

Смотрите также

| | | |

Похожие темы