slvnvruncgvtest

Активируйте верификация кода (CGV) и выполните модель

Описание

cgvObject = slvnvruncgvtest(model, dataFile) вызывает методы API верификации генерации кода (CGV) и выполняет model при помощи всех тестов в dataFile. cgvObject является cgv.CGV объект, который slvnvruncgvtest создает во время выполнения model. slvnvruncgvtest устанавливает режим выполнения для cgvObject на 'sim' по умолчанию.

cgvObject = slvnvruncgvtest(model, dataFile, runOpts) вызывает методы CGV API и выполняет model при помощи тестов в dataFile. runOpts определяет опции для выполнения тестов. Настройки в runOpts определите строение cgvObject.

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

свернуть все

Имя Simulink® модель, которую вы выполняете.

Имя файла данных или структуры, содержащей входные данные. Сгенерируйте данные любым из них:

  • Использование программного обеспечения Simulink Design Verifier™ для анализа модели.

  • Использование slvnvlogsignals функция.

Поля runOpts задайте строение slvnvruncgvtest .

Имя поляОписание
testIdx

Тест для симуляции из dataFile.

Если testIdx = [] (по умолчанию), slvnvruncgvtest моделирует все тесты.

allowCopyModel

Если вы не сконфигурировали модель для выполнения тестов с помощью CGV API, это поле задает создание и настройку модели.

Если true и вы не сконфигурировали свои model для выполнения тестов с CGV API, slvnvruncgvtest копирует модель, исправляет строение и выполняет тесты на скопированной модели.

Если false (по умолчанию), ошибка возникает, если тесты не могут выполняться с помощью CGV API.

Примечание

Если вы не сконфигурировали модель верхнего уровня или любые ссылочные модели для выполнения тестов, slvnvruncgvtest не копирует модель, даже если allowCopyModel является true. Возникает ошибка.

cgvCompType

Определяет цикл» (SIL) или «цикл» (PIL) для CGV:

  • 'topmodel' (по умолчанию)

  • 'modelblock'

cgvConn

Определяет режим выполнения для CGV:

  • 'sim' (по умолчанию)

  • 'sil'

  • 'pil'

Примечание

runOpts = slvnvruntestopts('cgv') возвращает runOpts структура со значениями по умолчанию для каждого поля.

Выходные аргументы

свернуть все

cgv.CGV (Embedded Coder) объект, который slvnvruncgvtest создает во время выполнения model.

slvnvruncgvtest сохраняет следующие данные для каждого теста, выполненного в массиве Simulink.SimulationOutput объекты внутри cgvObject.

Область

Описание

tout_slvnvruncgvtest

Время симуляции

xout_slvnvruncgvtest

Данные о состоянии

yout_slvnvruncgvtest

Выходы сигнала

logsout_slvnvruncgvtest

Данные логгирования сигналов для:

  • Сигналы, соединенные с выходными портами

  • Сигналы, которые сконфигурированы для логгирования данных на модели

Примеры

Журнал сигналов, запуск тестов и сравнение результатов при помощи CGV API

% Open the sldemo_mdlref_basic example model and log the input signals to the CounterA Model block:
open_system('sldemo_mdlref_basic');
load_system('sldemo_mdlref_counter');
loggedData = slvnvlogsignals('sldemo_mdlref_basic/CounterA');

% Create the default configuration object for slvnvruncgvtest,and allow the model to be configured to
% execute test cases with the CGV API:
runOpts = slvnvruntestopts('cgv');
runOpts.allowCopyModel = true;

% Using the logged signals, execute slvnvruncgvtest — first in simulation mode, and then in 
% Software-in-the-Loop (SIL) mode — to invoke the CGV API and execute the specified test 
% cases on the generated code for the model:
cgvObjectSim = slvnvruncgvtest('sldemo_mdlref_counter', loggedData, runOpts);
runOpts.cgvConn = 'sil';
cgvObjectSil = slvnvruncgvtest('sldemo_mdlref_counter', loggedData, runOpts);

% Use the CGV API to compare the results of the first test case:
simout = cgvObjectSim.getOutputData(1);
silout = cgvObjectSil.getOutputData(1);
[matchNames, ~, mismatchNames, ~ ] = cgv.CGV.compare(simout, silout);
fprintf('\nTest Case:  %d Signals match, %d Signals mismatch', ...
        length(matchNames), length(mismatchNames));

Совет

Бежать slvnvruncgvtest, у вас должен быть Embedded Coder® программное обеспечение.

Если ваша модель имеет параметры, которые не сконфигурированы для выполнения тестов с CGV API, slvnvruncgvtest сообщает предупреждения о недопустимых параметрах. Если вы видите эти предупреждения, выполните одно из следующих действий:

  • Измените недопустимые параметры и перезапустите slvnvruncgvtest.

  • Задайте allowCopyModel в runOpts чтобы быть true и перезапустите slvnvruncgvtest. slvnvruncgvtest делает копию вашей модели, сконфигурированную для выполнения тестов, и вызывает CGV API.

См. также

| | | (Embedded Coder)

Введенный в R2010b
Для просмотра документации необходимо авторизоваться на сайте