sldvruncgvtest

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

Описание

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

пример

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

Примеры

свернуть все

Создайте объект строения по умолчанию для sldvruncgvtest и выполните указанные тесты на сгенерированном коде для модели.

Откройте sldemo_mdlref_basic пример модели и журнала входных сигналов в блок Counter A Model.

open_system('sldemo_mdlref_basic');
load_system('sldemo_mdlref_counter');
loggedData = sldvlogsignals('sldemo_mdlref_basic/CounterA');

Создайте объект строения по умолчанию для sldvruncgvtest и разрешить конфигурирование модели для выполнения тестов с помощью CGV API.

runOpts = sldvruntestopts('cgv');
runOpts.allowCopyModel = true;

Чтобы вызвать CGV API и выполнить указанные тесты на сгенерированном коде для модели, используйте записанные сигналы, выполните sldvruncgvtest- сначала в режиме симуляции, а затем в цикле (SIL).

cgvObjectSim = sldvruncgvtest('sldemo_mdlref_counter', loggedData, runOpts);
runOpts.cgvConn = 'sil';
cgvObjectSil = sldvruncgvtest('sldemo_mdlref_counter', loggedData, runOpts);

Используйте CGV API, чтобы сравнить результаты первого теста.

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));

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

свернуть все

Имя или указатель на Simulink® модель для выполнения.

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

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

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

Структура, поля которой определяют строение sldvruncgvtest.

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

Тест для выполнения из dataFile. Если testIdx является [], sldvruncgvtest выполняет все тесты в dataFile.

По умолчанию: []

allowCopyModel

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

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

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

Примечание

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

cgvCompType

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

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

  • 'modelblock'

cgvConn

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

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

  • 'sil'

  • 'pil'

Примечание

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

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

свернуть все

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

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

Область

Описание

tout_sldvruncgvtest

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

xout_sldvruncgvtest

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

yout_sldvruncgvtest

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

logsout_sldvruncgvtest

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

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

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

Совет

Бежать sldvruncgvtest, у вас должен быть Embedded Coder®.

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

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

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

Введенный в R2010b