piltest

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

Описание

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' — Для результатов режима normal mode запустите симуляцию модели Simulink с подсистемой. Для результатов PIL замените подсистему на блок PIL и повторно выполните симуляцию. Функция выдерживает сравнение нормальный и результаты режима 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.

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

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

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

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

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

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

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

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

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

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

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

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

Введенный в R2017b