exponenta event banner

Настройка тестовых жгутов

Тестовый электрический жгут можно настроить с помощью функции, которая запускается после создания или перестроения тестового электрического жгута. В функции выполните сценарий команд для настройки тестового электрического жгута. Например, можно создать функции для:

  • Подключите пользовательские блоки источника или приемника.

  • Добавьте подсистему установки для тестирования по замкнутому контуру.

  • Измените набор конфигурации.

  • Включить регистрацию сигналов.

  • Измените время остановки моделирования.

Функция настройки тестового электрического жгута выполняется как обратный вызов после создания тестового электрического жгута или обратный вызов после восстановления. Чтобы настроить тестовый электрический жгут с помощью функции обратного вызова:

  1. Создайте функцию обратного вызова.

  2. В функции используйте программный интерфейс Simulink ® для создания сценария команд для настройки тестового электрического жгута. Дополнительные сведения см. в разделе Функции, перечисленные в разделе Правка программной модели.

  3. Укажите функцию в качестве обратного вызова после создания или восстановления:

    • Для нового тестового жгута,

      • При использовании пользовательского интерфейса введите имя функции в метод обратного вызова после создания или метод обратного вызова после восстановления в диалоговом окне «Дополнительные свойства создания кабеля».

      • Если используется sltest.harness.create, укажите функцию в качестве PostCreateCallback или PostRebuildCallback значение.

    • Для существующего тестового жгута,

      • При использовании пользовательского интерфейса введите имя функции в методе обратного вызова после перестроения в диалоговом окне свойств кабельных трасс.

      • Если используется sltest.harness.set, укажите функцию в качестве PostRebuildCallback значение.

    Дополнительные сведения о свойствах тестовых кабелей см. в разделах Создание тестовых жгутов и Выбор свойств.

Определение функции обратного вызова и информация о кабелях

Объявление функции обратного вызова:

function myfun(x)
где myfun - имя функции и myfun принимает входные данные x. x - это структура информации о тестовом кабеле, автоматически создаваемая, когда тестовый кабель использует обратный вызов. Можно выбрать имена функций и аргументов.

Например, определите функцию обратного вызова кабеля harnessCustomization.m:

function harnessCustomization(harnessInfo)

% Script commands here to customize your test harness.

end
В этом примере: harnessInfo - имя структуры и harnessCustomization - имя функции. Когда вызывается операция создания или перестроения harnessCustomization, harnessInfo заполняется информацией о тестовом жгуте, включая маркеры перемещения к модели тестового жгута, главной модели и блокам в тестовом жгуте.

Например, использование harnessCustomization в качестве обратного вызова для следующего тестового жгута:

населяет harnessInfo с ручками к трем источникам, одному приемнику, главной модели, модели электрического жгута, владельцу электрического жгута, тестируемому компоненту и подсистемам преобразования:

harnessInfo = 

  struct with fields:

                    MainModel: 2.0001
                 HarnessModel: 1.1290e+03
                        Owner: 17.0001
                   HarnessCUT: 201.0110
              DataStoreMemory: []
                DataStoreRead: []
               DataStoreWrite: []
                         Goto: []
                         From: []
                      GotoTag: []
       SimulinkFunctionCaller: []
         SimulinkFunctionStub: []
                      Sources: [1.1530e+03 1.1540e+03 1.1550e+03]
                        Sinks: 1.1630e+03
              AssessmentBlock: []
     InputConversionSubsystem: 1.1360e+03
    OutputConversionSubsystem: 1.1560e+03
                   CanvasArea: [215 140 770 260]

Используйте поля структуры для настройки тестового электрического жгута. Например:

  • Добавление блока константы с именем ConstInput в тестовый электрический жгут, получить имя модели тестового электрического жгута, а затем использовать add_block функция.

    harnessName = get_param(harnessInfo.HarnessModel,'Name');
    block = add_block('simulink/Sources/Constant',...
       [harnessName '/ConstInput']);

  • Чтобы получить дескрипторы портов для тестируемого компонента, получите 'PortHandles' параметр для harnessInfo.HarnessCUT.

    CUTPorts = get_param(harnessInfo.HarnessCUT,'PortHandles');

  • Чтобы получить время остановки моделирования для тестового электрического жгута, получите 'StopTime' параметр для harnessInfo.HarnessModel.

    st = get_param(harnessInfo.HarnessModel,'StopTime');

  • Установка 16 второе время остановки моделирования для тестового жгута, установите 'StopTime' параметр для harnessInfo.HarnessModel.

    set_param(harnessInfo.HarnessModel,'StopTime','16');

Отображение информации о кабелях Содержимое структуры

Чтобы просмотреть информацию о кабельном жгуте для тестового электрического жгута:

  1. В функции обратного вызова добавьте строку

    disp(harnessInfo)

  2. Создайте или восстановите тестовый электрический жгут с помощью функции обратного вызова.

  3. При создании или перестроении тестового электрического жгута содержимое информационной структуры электрического жгута отображается в командной строке.

Настройка тестового кабеля для создания смешанных типов источников

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

Функция выполняется в соответствии с процедурой:

  1. Получение имени модели кабельных трасс.

  2. Добавление блока константы.

  3. Получение дескрипторов портов для блока константы.

  4. Получите дескрипторы портов для подсистемы преобразования входных данных.

  5. Получите дескрипторы линий, подключенных к подсистеме входного преобразования.

  6. Удалите существующий блок Inport.

  7. Удалите оставшуюся строку.

  8. Подключение новой линии от блока константы к входу 3 подсистемы преобразования входных данных.

function harnessCustomization(harnessInfo)

% Get harness model name:
harnessName = get_param(harnessInfo.HarnessModel,'Name');

% Add Constant block:
constBlock = add_block('simulink/Sources/Constant',...
   [harnessName '/ConstInput']);

% Get handles for relevant ports and lines:
constPorts = get_param(constBlock,'PortHandles');
icsPorts = get_param(harnessInfo.InputConversionSubsystem,...
   'PortHandles');
icsLineHandles = get_param...
   (harnessInfo.InputConversionSubsystem,'LineHandles');

% Delete the existing Inport block and the adjacent line:
delete_block(harnessInfo.Sources(3));
delete_line(icsLineHandles.Inport(3));

% Connect the Constant block to the input 
% conversion subsystem:
add_line(harnessInfo.HarnessModel,constPorts.Outport,...
   icsPorts.Inport(3),'autorouting','on');

end

Пример обратного вызова тестового кабеля

В этом примере показано, как использовать обратный вызов после создания для настройки тестового электрического жгута. Обратный вызов изменяет один источник электрического жгута с блока Inport на блок Constant и включает регистрацию сигнала в тестовом электрическом жгуте.

Модель

В этом примере создается тестовый электрический жгут для Roll Reference подсистема.

open_system('RollAutopilotMdlRef')

Получение пути к функции адаптации кабелей

cbFile = 'harnessSourceLogCustomization.m';

Информация о функции адаптации и тестовом жгуте

Функция harnessSourceLogCustomization изменение третьего блока источника и включение регистрации сигналов на тестируемых входах и выходах компонента. Для считывания функции введите:

  type(cbFile)

В качестве альтернативы включению кода регистрации вывода в обратный вызов можно использовать команду «Регистрировать выходные сигналы» в диалоговом окне «Создание нового электрического жгута» или использовать 'LogHarnessOutputs',true в качестве входных данных для sltest.harness.create. Эти опции регистрируют все выходные сигналы тестируемых компонентов в тестовом жгуте и результаты обратного теста для этих сигналов.

Функция harnessSourceLogCustomization использует аргумент. Аргумент представляет собой структуру, содержащую информацию о тестовых кабелях. Информация включает дескрипторы блоков в тестовом жгуте, включая:

  • Тестируемый компонент

  • Входные подсистемы

  • Источники и поглотители

  • Владелец электрического жгута в главной модели

Например, harnessInfo.Sources В перечислены маркеры перемещения исходных блоков тестовых кабельных трасс.

Создание настраиваемого тестового кабеля

1. Скопируйте функцию адаптации электрического жгута во временную рабочую папку.

copyfile(cbFile,tempdir);
cd(tempdir);

2. В RollAutopilotMdlRef модель, щелкните правой кнопкой мыши Roll Reference и выберите «Тестовый жгут» > «Создать для привязки рулона».

3. В диалоговом окне создания кабельных трасс для параметра «Метод обратного вызова после создания» введите harnessSourceLogCustomization.

4. Нажмите кнопку ОК, чтобы создать тестовый электрический жгут. Электрический жгут показывает время остановки регистрации и моделирования сигнала, указанное в функции обратного вызова.

Вы также можете использовать sltest.harness.create для создания тестового электрического жгута, указав функцию обратного вызова с помощью 'PostCreateCallback' пара имя-значение.

sltest.harness.create('RollAutopilotMdlRef/Roll Reference',...
    'Name','LoggingHarness',...
    'PostCreateCallback','harnessSourceLogCustomization');

sltest.harness.open('RollAutopilotMdlRef/Roll Reference','LoggingHarness');

close_system('RollAutopilotMdlRef',0);

См. также

|

Связанные темы