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

% 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®.

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

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

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

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

| | | (Embedded Coder)

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