Активируйте верификация кода (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® программное обеспечение.
Если ваша модель имеет параметры, которые не сконфигурированы для выполнения тестов с CGV API, slvnvruncgvtest сообщает предупреждения о недопустимых параметрах. Если вы видите эти предупреждения, выполните одно из следующих действий:
Измените недопустимые параметры и перезапустите slvnvruncgvtest.
Задайте allowCopyModel в runOpts чтобы быть true и перезапустите slvnvruncgvtest. slvnvruncgvtest делает копию вашей модели, сконфигурированную для выполнения тестов, и вызывает CGV API.
slvnvlogsignals | slvnvruntest | slvnvruntestopts | cgv.CGV (Embedded Coder)