slvnvruncgvtest

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

Описание

cgvObject = slvnvruncgvtest(model, dataFile) вызывает методы API Верификации генерации кода (CGV) и выполняет model при помощи всех тестов в dataFile. cgvObject cgv.CGV возразите этому slvnvruncgvtest создает во время выполнения model. slvnvruncgvtest устанавливает режим выполнения для cgvObject to'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

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

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

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

Примечание

Если вы не сконфигурировали модель верхнего уровня или какие-либо модели, на которые ссылаются, чтобы выполнить тесты, 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

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

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

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

Примеры

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

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

Откройте директорию, которая содержит файлы в качестве примера.

openExample('ComponentBasedModelingWithModelReferenceExample')

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

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

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

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

Выполните тест с помощью регистрируемых сигналов сначала в режиме normal mode, и затем в программном обеспечении в режиме (SIL) цикла.

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

Сравните результаты первого теста.

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® программное обеспечение.

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

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

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

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

(Embedded Coder) | | |

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