exponenta event banner

piltest

Проверка пользовательской конфигурации целевого подключения для моделирования Simulink PIL

Описание

piltest(config) запускает набор тестов, которые проверяют целевую конфигурацию подключения пользовательского процессора в цикле (PIL). В тестах эта функция выполняет различные модели нормального программного обеспечения в цикле (SIL) и PIL. Функция сравнивает результаты и выдает ошибки, если обнаруживает различия между режимами моделирования. Для моделирования PIL функция извлекает эти параметры из config:

  • SystemTargetFile

  • TargetHWDeviceType

  • Toolchain

В текущей рабочей папке функция создает piltest , которая содержит вложенные папки с результатами тестирования.

пример

piltest(config,'ConfigParams',additionalParameterList) извлекает дополнительные параметры из config для моделирования PIL.

piltest(config,'TestPoint',testName) запускает определенный тест из набора тестов.

Примеры

свернуть все

В этом примере используется piltest для проверки целевой конфигурации подключения для моделирования PIL на компьютере разработчика.

Создайте целевую реализацию подключения в текущей рабочей папке.

% Make a local copy of the connectivity classes.
src_dir = ...
    fullfile(matlabroot,'toolbox','coder','simulinkcoder',...
             '+coder','+mypil');
if exist(fullfile('.','+mypil'),'dir')
    rmdir('+mypil','s')
end
mkdir +mypil
copyfile(fullfile(src_dir,'Launcher.m'), '+mypil');
copyfile(fullfile(src_dir,'TargetApplicationFramework.m'), '+mypil');
copyfile(fullfile(src_dir,'ConnectivityConfig.m'), '+mypil');

% Make the copied files writable.
fileattrib(fullfile('+mypil', '*'),'+w');

% Update the package name to reflect the new location of the files.
coder.mypil.Utils.UpdateClassName(...
    './+mypil/ConnectivityConfig.m',...
    'coder.mypil',...
    'mypil');

Регистрация целевой конфигурации подключения с помощью sl_customization.m файл. В этом примере используется предоставленный файл.

sl_customization_path = fullfile(matlabroot,...
    'toolbox',...
    'rtw',...
    'rtwdemos',...
    'pil_demo');
addpath(sl_customization_path);
sl_refresh_customizations;

Укажите режим моделирования PIL для модели.

close_system('rtwdemo_sil_topmodel')
open_system('rtwdemo_sil_topmodel')
set_param('rtwdemo_sil_topmodel','SimulationMode',...
          'processor-in-the-loop (pil)');

Укажите изготовителя и тип испытательного оборудования. Например, моделирование PIL на 64-разрядном компьютере для разработки Windows ® требует:

set_param('rtwdemo_sil_topmodel','TargetHWDeviceType',...
          'Intel->x86-64 (Windows64)');
set_param('rtwdemo_sil_topmodel','TargetLongLongMode',true);

Управляемый piltest.

piltest('rtwdemo_sil_topmodel', 'ConfigParam', {'ProdLongLongMode'} )

Входные аргументы

свернуть все

Набор конфигурации, ссылка на набор конфигурации или модель Simulink ®.

Извлечение дополнительных параметров из config для моделирования PIL.

  • 'verifyPILBlock' - Для получения результатов в обычном режиме выполните моделирование модели Simulink с подсистемой. Для получения результатов PIL замените подсистему блоком PIL и повторно запустите моделирование. Функция сравнивает результаты нормального режима и режима PIL. Если функция обнаруживает различия, это приводит к ошибке.

  • 'verifyModelBlock' - Для получения результатов в обычном режиме выполните моделирование модели Simulink с блоком Model в обычном режиме.

    Для результатов в режиме PIL выполните циклы моделирования с блоком Model в режиме PIL. Функция варьирует следующие настройки:

    • Параметр блока модели Интерфейс кода - значение Top model (интерфейс автономного кода) или Model reference.

    • Параметры конфигурации > Создание кода > Язык - значение C или C++. Для C++ в этом случае функция устанавливает для функции Создание кода > Интерфейс > Упаковка интерфейса кода значение C++ class.

    Функция сравнивает результаты нормального режима и режима PIL. Если функция обнаруживает различия, это приводит к ошибке.

  • 'verifyTopModel' - Выполнение моделирования верхней модели Simulink в обычном режиме и режиме PIL. Функция сравнивает результаты нормального режима и режима PIL. Если функция обнаруживает различия, это приводит к ошибке.

  • 'verifyExecutionOnTarget' - Выполнение моделирования модели Simulink с блоком Model в обычном режиме и режиме PIL. Для каждого режима в блоке модели используются автономные интерфейсы и интерфейсы ссылочного кода модели. Для режима PIL функция вводит преднамеренное несоответствие. Функция сравнивает результаты нормального режима и режима PIL. Если он не обнаруживает преднамеренное несоответствие, это приводит к ошибке.

  • 'verifyTopModelSILPILSwitching' - Для топовой модели Simulink:

    • Убедитесь, что производственный код не регенерирован, когда функция переключается между режимами моделирования SIL и PIL. Функция сравнивает временные метки производственного кода в каждом режиме.

    • Сравнение результатов моделирования в режиме SIL и PIL с результатами моделирования в обычном режиме.

    Если функция обнаруживает различия во временных метках или результатах моделирования, это приводит к ошибке.

  • 'verifyModelBlockSILPILSwitching' - Для блока модели Simulink:

    • Убедитесь, что производственный код не регенерирован, когда режим моделирования блока модели переключается между режимами SIL и PIL. Функция сравнивает временные метки производственного кода в каждом режиме.

    • Выполните циклы моделирования с блоком модели в режимах SIL и PIL. Функция изменяет параметр блока Code interface Model, устанавливая для этого параметра значение Top model или Model reference. Функция сравнивает результаты моделирования в режиме SIL и PIL с результатами моделирования в обычном режиме.

    Если функция обнаруживает различия во временных метках или результатах моделирования, это приводит к ошибке.

  • 'all' - Выполнить все тесты из набора тестов.

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