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