Тестовая обвязка для конкретных элементов модели

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

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

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

  • Тип данных

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

  • Сложность

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

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

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

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

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

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

Если у тестируемого компонента есть входы вызова функции, блок Test Sequence, MATLAB Function блок или Stateflow® источник графика генерирует входы вызова функции для компонента, даже если вы выбираете другой источник во время создания обвязки. Чтобы переопределить это поведение и соединить входы вызова функции с выбранным типом источника, создайте тестовую обвязку с sltest.harness.create function, и задать '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 - 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.

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

См. также