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