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'} )

Входные параметры

свернуть все

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

Извлеките дополнительные параметры из config для PIL симуляции.

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

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

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

    • Блок Model Code interface - Установите на Top model (интерфейс автономного кода) или Model reference.

    • Configuration Parameters > Code Generation > Language - Установите на C или C++. Для C++ случай, наборы функции Code Generation> Interface> Code interface packaging к C++ class.

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

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

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

  • 'verifyTopModelSILPILSwitching' - Для верхней модели Simulink:

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

    • Сравнение результатов симуляций SIL и PIL режимов с результатами симуляции режима normal mode.

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

  • 'verifyModelBlockSILPILSwitching' - Для блока Model Simulink:

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

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

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

  • 'all' - Запустите все тесты из тестового набора.

Введенный в R2016b