Конструкция тестовой обвязки для определенных элементов модели

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

Elements of a test harness

Преобразование сигнала

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

  • Тип данных

  • Размерности

  • Сложность

Атрибуты сигнала адаптируются к источникам во время конструкции обвязки одним из двух способов:

  1. Исходные блоки, которые могут сгенерировать сигналы со скомпилированными атрибутами, сконфигурированы, чтобы сделать так.

  2. Если исходный блок не может сгенерировать сигналы со скомпилированными атрибутами, блоки атрибута сигнала в подсистеме преобразования сигнала адаптируют выход исходных блоков. Блоки атрибута сигнала включают Reshape, Rate Transition и блоки Data Type Conversion.

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

Вызовы функции

Драйверы вызова функции

Если компонент под тестом имеет входные параметры вызова функции, блок Test Sequence, блок MATLAB Function или Stateflow® источник диаграммы генерирует входные параметры вызова функции к компоненту, даже если вы выбираете другой источник во время создания обвязки. Чтобы заменить это поведение и входные параметры вызова функции connect к вашему выбранному исходному типу, создайте тестовую обвязку с sltest.harness.create функция и набор 'DriveFcnCallWithTestSequence' к false. Например:

sltest.harness.create('Model/FcnCallSubsystem','Source','From File',...
'DriveFcnCallWithTestSequence',false)

Вызов функции Выходные параметры

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

Связи физического сигнала

Компоненты, которые принимают или выводят физические сигналы, поддерживаются во время конструкции обвязки, но источники и приемники не сгенерированы. Можно добавить физические блоки моделирования в тестовую обвязку после конструкции.

Соедините шиной сигналы

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

  1. Источники и приемники, которые могут принять сигнал шины, непосредственно соединяются с компонентом без модификации.

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

  3. Если приемник не может принять сигнал шины, элементы сигнала шины расширены от сигнала шины в подсистеме преобразования сигнала.

Строчные сигналы

Если компонент при тестовых вводах данных строки использования и ваш источник тестовой обвязки не поддерживают данные о строке, входные параметры строки соединяются с блоками Ground.

Представьте входные параметры в виде строки

Используйте исходный выборИсходный блок для входных параметров строки
InportInport
Редактор сигналаGround
Из рабочей областиGround
Из файлаGround
Протестируйте последовательностьGround
ГрафикGround
Постоянный

String Constant (индивидуум представляют вход в виде строки),

Ground (шина, содержащая строку)

ЗемляЗемля

Если компонент при тестовом использовании представляет выводы данных в виде строки, и ваш приемник тестовой обвязки не поддерживает данные о строке, строка, выходные параметры соединяются с блоками Terminator.

Представьте Выходные параметры в виде строки

Используйте выбор приемникаСнизьте блок для строки Выходные параметры
Выходной портOutport
ОсциллографTerminator
К рабочей областиTerminator
К файлуTerminator
ТерминаторTerminator

Неграфические связи

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

Goto-от связи

Goto-From блокирует пары, которые пересекаются, контур компонента рассматриваются вводами или выводами компонента.

  • Блок From без соответствующего блока Goto в компоненте рассматривается входным сигналом компонента. Тестовая обвязка включает исходный блок с соответствующим блоком Goto.

  • Блок Goto без соответствующего блока From в компоненте рассматривается выходным сигналом компонента. Тестовая обвязка включает блок приемника с соответствующим блоком From.

Память хранилища данных

Data Store Read и блоки Data Store Write требуют определения хранилища полных данных в тестовой обвязке.

  • Если блок Data Store Read или Data Store Write испытывает недостаток в соответствующем блоке Data Store Memory в компоненте, тестовая обвязка добавляет блок Data Store Memory.

  • Для компонента, содержащего только блоки Data Store Read, тестовая обвязка добавляет исходный блок, управляющий блоком Data Store Write.

  • Для компонента, содержащего только блоки Data Store Write, тестовая обвязка добавляет блок Data Store Read, управляющий блоком приемника.

Если чтение памяти хранилища глобальных данных или использование записи не могут быть определены, то Data Store Read и блоки Data Store Write не включены в тестовую обвязку.

Определения функции Simulink

Если компонент вызывает Функцию Simulink, которая не задана в компоненте, тестовая обвязка добавляет тупиковый блок Simulink Function, совпадающий с подписью вызова функции.

Модели экспорта функций

Тестовые обвязки содержат планировщик вызова функции для компонентов, которые используют стиль моделирования экспорта функций. Планировщик является блоком Test Sequence, блоком MATLAB Function или диаграммой Stateflow, которая содержит прототипные вызовы функций в вашей модели.

Блок Test Sequence планировщика включает тестовый шаг, содержащий:

  • Каталог глобально ограниченного по объему Simulink Function блокируется в компоненте.

  • Список триггеров вызова функции, доступных в интерфейсе компонента.

Конструкция обвязки удостаивает периодические триггеры вызова функции соответствующей децимацией события вызова функции в блоке Test Sequence, блоке MATLAB Function или диаграмме Stateflow.

Тестовые обвязки включают Initialize, Terminate, и Reset шаги для моделей, которые содержат Initialize, Terminate, и Reset подсистемы события. Можно включать Initialize, Terminate, и Reset шаги для других моделей экспорта функций с помощью 'ScheduleInitTermReset' свойство sltest.harness.create.

Семантика выполнения

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

  1. Настройки параметра конфигурации копий из основной модели в тестовую обвязку.

  2. Определения обязательного параметра копий от основного рабочего пространства модели в рабочее пространство модели тестовой обвязки.

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

  4. Соблюдает ограниченное подмножество настроек шага расчета с помощью явных технических требований исходного блока и блоков Rate Transition.

Другие факторы, такие как дополнительные блоки в обвязке и эвристике решателя, могут заставить выполнение тестовой обвязки отличаться от основной модели. Графический и скомпилированный интерфейс компонента более приоритетен по сравнению с другой семантикой выполнения.

Спецификация шага расчета

Simulink® поддерживает массив шагов расчета, включая типы, которые выведены во время компиляции модели. Конструкция тестовой обвязки поддерживает периодический дискретный, непрерывный, и зафиксированный в шагах расчета мелкого шага с этими факторами:

  • Исходные блоки, которые поддерживают желаемый уровень, сконфигурированы для этого, и подсистема преобразования сигнала содержит блок Signal Specification со спецификацией уровня.

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

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

    • Если желаемый уровень непрерывен, семантика выполнения определяются решателем. Подсистема преобразования сигнала не содержит блок Rate Transition.

    Другие технические требования шага расчета проигнорированы во время конструкции тестовой обвязки. В тех случаях настройки решателя определяют поведение при выполнении.

Смотрите также