sldvruncgvtest

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

Описание

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 модель в качестве примера и журнал входные сигналы с блоком Counter A 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 Объект (Embedded Coder) это 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