Тестовая обвязка состоит из одного или нескольких исходных блоков, которые управляют компонентом под тестом, который управляет одним или несколькими блоками приемника. Конструкция тестовой обвязки конфигурирует атрибуты сигнала, вызовы функции, хранилища данных и семантику выполнения. Когда возможно, тестовая обвязка совпадает с атрибутами сигнала в источниках, приемниках и интерфейсе компонента. Для получения дополнительной информации о выборе источников и приемников, смотрите Источники и Приемники.
Подсистемы преобразования сигнала адаптируют интерфейс сигнала источника и блоков приемника к графическому интерфейсу компонента. Графический интерфейс компонента включает входные сигналы, выходные сигналы, и действие, триггер, или включите входные параметры. Тестовая обвязка компилирует основную модель, чтобы определить атрибуты сигнала:
Тип данных
Размерности
Сложность
Атрибуты сигнала адаптируются к источникам во время конструкции обвязки одним из двух способов:
Исходные блоки, которые могут сгенерировать сигналы со скомпилированными атрибутами, сконфигурированы, чтобы сделать так.
Если исходный блок не может сгенерировать сигналы со скомпилированными атрибутами, блоки атрибута сигнала в подсистеме преобразования сигнала адаптируют вывод исходных блоков. Блоки атрибута сигнала включают, Изменяются, Переход Уровня и блоки Преобразования типа данных.
По умолчанию подсистемы преобразования сигнала заблокированы от редактирования.
Если компонент под тестом имеет входные параметры вызова функции, источник блока Test Sequence генерирует входные параметры вызова функции к компоненту, даже если вы выбираете другой источник во время создания обвязки. Чтобы заменить это поведение и входные параметры вызова функции подключения к вашему выбранному исходному типу, создайте тестовую обвязку с функцией sltest.harness.create
и установите 'DriveFcnCallWithTestSequence'
на false
. Например:
sltest.harness.create('Model/FcnCallSubsystem','Source','From File',... ’DriveFcnCallWithTestSequence',false)
Вызов функции выходные параметры компонента под тестом соединяется с блоками Терминатора.
Компоненты, которые принимают или выводят физические сигналы, поддерживаются во время конструкции обвязки, но источники и приемники не сгенерированы. Можно добавить физические блоки моделирования в тестовую обвязку после конструкции.
Настройка тестовых обвязок для вводов и выводов шины зависит от способности к связи шины блоков приемника или источника:
Источники и приемники, которые могут принять сигнал шины, непосредственно соединяются с компонентом без модификации.
Если источник не может вывести сигнал шины, сигналы шины автоматически создаются из отдельных элементов шины в подсистеме преобразования сигнала.
Если приемник не может принять сигнал шины, элементы сигнала шины расширены от сигнала шины в подсистеме преобразования сигнала.
Если компонент при тестовых вводах данных строки использования и ваш источник тестовой обвязки не поддерживают данные о строке, входные параметры строки соединяются, чтобы Основать блоки.
Представьте входные параметры в виде строки
Используйте исходный выбор | Исходный блок для входных параметров строки |
---|---|
Inport | Inport |
Signal Builder | Земля |
Редактор сигнала | Земля |
Из рабочей области | Земля |
Из файла | Земля |
Протестируйте последовательность | Земля |
Постоянный |
Строковая константа (человек представляют вход в виде строки), Земля (шина, содержащая строку) |
Земля | Земля |
Если компонент при тестовом использовании представляет выводы данных в виде строки, и ваш приемник тестовой обвязки не поддерживает данные о строке, строка, выходные параметры соединяются с блоками Терминатора.
Представьте Выходные параметры в виде строки
Используйте выбор приемника | Снизьте блок для строки Выходные параметры |
---|---|
Выходной порт | Выходной порт |
Осциллограф | Терминатор |
К рабочей области | Терминатор |
К файлу | Терминатор |
Терминатор | Терминатор |
В дополнение к графическому интерфейсу компонента Simulink поддерживает несколько неграфических связей. Конструкция тестовой обвязки также поддерживает неграфические связи.
Пары блока Goto-From, которые пересекают контур компонента, рассматриваются вводами или выводами компонента.
Блок From без соответствующего блока Goto в компоненте рассматривается входным сигналом компонента. Тестовая обвязка включает исходный блок с соответствующим блоком Goto.
Блок Goto без соответствующего блока From в компоненте рассматривается выходным сигналом компонента. Тестовая обвязка включает блок приемника с соответствующим блоком From.
Чтение Хранилища данных и блоки Записи Хранилища данных требуют определения хранилища полных данных в тестовой обвязке.
Если блок Data Store Read или Data Store Write испытывает недостаток в соответствующем Блоке памяти Хранилища данных в компоненте, тестовая обвязка добавляет Блок памяти Хранилища данных.
Для компонента, содержащего только блоки Чтения Хранилища данных, тестовая обвязка добавляет исходный блок, управляющий блоком Data Store Write.
Для компонента, содержащего только блоки Записи Хранилища данных, тестовая обвязка добавляет блок Data Store Read, управляющий блоком приемника.
Если чтение памяти хранилища глобальных данных или использование записи не могут быть определены, то Чтение Хранилища данных и блоки Записи Хранилища данных не включены в тестовую обвязку.
Если компонент вызывает Функцию Simulink, которая не задана в компоненте, тестовая обвязка добавляет тупиковый Функциональный блок Simulink, совпадающий с подписью вызова функции.
Тестовые обвязки содержат планировщик вызова функции для компонентов, которые используют стиль моделирования экспорта функций. Планировщик является блоком Test Sequence, который содержит прототипные вызовы функций в вашей модели.
Блок Test Sequence планировщика включает тестовый шаг, содержащий:
Каталог глобально ограниченных по объему Функциональных блоков Simulink в компоненте.
Список триггеров вызова функции, доступных в интерфейсе компонента.
Конструкция обвязки удостаивает периодические триггеры вызова функции соответствующим десятикратным уменьшением события вызова функции в блоке Test Sequence.
Тестовые обвязки включают Initialize
, Terminate
и шаги Reset
для моделей, которые содержат Initialize
, Terminate
и подсистемы события Reset
. Можно включать Initialize
, Terminate
и шаги Reset
для других моделей экспорта функций с помощью свойства 'ScheduleInitTermReset'
sltest.harness.create
.
Поведение при выполнении компонента зависит от факторов, таких как вычисленные шаги расчета, настройки решателя, настройка модели и установки параметров. Поведение при выполнении также зависит от событий во время выполнения, таких как триггеры вызова функции и асинхронные события. Обрабатывать их семантика выполнения, конструкция тестовой обвязки:
Настройки параметра конфигурации копий из основной модели в тестовую обвязку.
Определения обязательного параметра копий от основного рабочего пространства модели в рабочее пространство модели тестовой обвязки.
Настройки словаря данных о копиях из основной модели в тестовую обвязку.
Соблюдает ограниченное подмножество настроек шага расчета с помощью явных спецификаций исходного блока и блоков Перехода Уровня.
Другие факторы, такие как дополнительные блоки в обвязке и эвристике решателя, могут заставить выполнение тестовой обвязки отличаться от основной модели. Графический и скомпилированный интерфейс компонента более приоритетен по сравнению с другой семантикой выполнения.
Simulink® поддерживает массив шагов расчета, включая типы, которые выведены во время образцовой компиляции. Конструкция тестовой обвязки поддерживает периодический дискретный, непрерывный, и зафиксированный в шагах расчета незначительного шага с этими факторами:
Исходные блоки, которые поддерживают желаемый уровень, сконфигурированы для этого, и подсистема преобразования сигнала содержит блок Signal Specification со спецификацией уровня.
Конструкция тестовой обвязки не конфигурирует исходные блоки, которые не могут поддержать желаемый уровень.
Если желаемый уровень периодический дискретный или фиксированный на незначительном шаге, тестовая обвязка содержит блок Rate Transition в подсистеме преобразования сигнала.
Если желаемый уровень непрерывен, семантика выполнения определяются решателем. Подсистема преобразования сигнала не содержит блок Rate Transition.
Другие спецификации шага расчета проигнорированы во время конструкции тестовой обвязки. В тех случаях настройки решателя определяют поведение при выполнении.