sldvruncgvtest

Вызовите Code Generation Verification (CGV) API и выполните модель

Синтаксис

cgvObject = sldvruncgvtest(model, dataFile)
cgvObject = sldvruncgvtest(model, dataFile, runOpts)

Описание

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

пример

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

Примеры

свернуть все

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

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

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

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

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

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

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

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

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

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

Примечание

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

cgvCompType

Задает программное обеспечение в цикле (SIL) или процессоре в цикле (PIL) подход для CGV:

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

  • 'modelblock'

cgvConn

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

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

  • 'sil'

  • 'pil'

Примечание

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

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

свернуть все

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

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

Поле

Описание

tout_sldvruncgvtest

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

xout_sldvruncgvtest

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

yout_sldvruncgvtest

Данные о выходном сигнале

logsout_sldvruncgvtest

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

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

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

Советы

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

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

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

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

Представленный в R2010b