exponenta event banner

sldvruncgvtest

Вызвать API проверки генерации кода (CGV) и модель выполнения

Описание

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

пример

cgvObject = sldvruncgvtest(model, dataFile, runOpts) вызывает методы API CGV и выполняет команду 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;

Чтобы вызвать API CGV и выполнить указанные тестовые примеры для сгенерированного кода модели, используйте записанные сигналы, выполните 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, вы должны иметь встроенный кодер ®.

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

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

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

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