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