Создайте тестовые обвязки и выберите свойства

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

Создать тестовую обвязку для модели верхнего уровня (включая подсистему и модели модели - ссылки):

  1. Щелкните правой кнопкой по модели Simulink® и нажмите Test Harness> Create for Model, чтобы открыть диалоговое окно Create Test Harness.

  2. После выбора желаемых опций нажмите OK, чтобы создать тестовую обвязку.

Создайте тестовую обвязку для компонента модели

Создать тестовую обвязку для одного компонента модели:

  1. На вкладке Apps, под Model Verification, Валидация и Тест, нажимают Simulink Test.

  2. На вкладке Tests нажмите Simulink Test Manager, чтобы открыть менеджера по Тесту.

  3. Создайте новый тестовый файл в менеджере по Тесту.

  4. Нажмите New> Test for Model Component, который открывает Создать Тест Для мастера рабочего процесса Компонента модели.

  5. Создайте тестовую обвязку путем завершения страниц мастера.

Примечание

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

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

Предварительный просмотр и открытые тестовые обвязки

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

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

Измените свойства тестовой обвязки

Чтобы изменить свойства открытой тестовой обвязки, кликните по значку в блок-схеме тестовой обвязки и нажмите Test harness properties, чтобы открыть диалоговое окно свойств обвязки.

Чтобы изменить свойства тестовых обвязок из основной модели, кликните по значку Harness operations от предварительного просмотра тестовой обвязки.

Факторы для выбора свойств тестовой обвязки

Прежде, чем выбрать свойства тестовой обвязки, рассмотрите следующее:

  • Какой источник данных вы хотите использовать для своего входа теста

  • Как вы хотите просмотреть или сохранить, тестируют выход

  • Хотите ли вы скопировать параметры и рабочие области от основной модели до обвязки

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

  • Как вы хотите синхронизировать изменения между тестовой обвязкой и моделью

За исключением источников и приемников, можно изменить свойства обвязки позже с помощью диалогового окна свойств обвязки. Чтобы изменить источники и приемники после создания обвязки, вручную удалите блоки из тестовой обвязки и замените их на новые источники и приемники.

Примечание

Следующие разделы описывают свойства тестовой обвязки в диалоговом окне Create Test Harness. Для получения информации о свойствах тестовой обвязки в Создать Тесте для мастера Компонента модели смотрите, Генерируют Тесты и Тестовые обвязки для Компонента или Модели.

Свойства тестовой обвязки

Используйте имя

Тестовые обвязки должны использовать допустимые имена файлов MATLAB®.

Сохраните тестовые обвязки внешне

Эта опция управляет, как модель хранит тестовые обвязки. Модель хранит все свои тестовые обвязки или внутренне или внешне. Если модель уже имеет тестовые обвязки, этот элемент утверждает тип хранения обвязки как Harnesses saved <internally|externally>.

  • Когда очищено, модель сохраняет тестовые обвязки как часть файла модели SLX.

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

Смотрите управляют тестовыми обвязками.

Выберите Function Interface

Выберите функциональный интерфейс, чтобы сопоставить с допускающей повторное использование тестовой обвязкой подсистемы библиотеки. Эта опция появляется, только если компонент под тестом является допускающей повторное использование подсистемой библиотеки с функциональным интерфейсом.

Источники и приемники

В диалоговом окне Create Test Harness, под Sources and Sinks, выбирают источник и приемник в соответствующих меню. Меню обеспечивают общие источники и приемники.

Можно использовать источник и снизить блоки из библиотеки Simulink Sources или Sinks. Выберите Custom источник или приемник, и вводят путь к блоку. Например:

simulink/Sources/Sine Wave
simulink/Sinks/Terminator

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

Создайте скалярные входные параметры

Когда вы выбираете это свойство, тестовая обвязка создает скалярные входные параметры для многомерных сигналов. Отдельные скалярные входные параметры изменены, чтобы совпадать с размерностью входных сигналов к компоненту под тестом. Эта опция применяется к тестовым обвязкам с Inport, Constant, Signal Builder, From Workspace или исходными блоками From File. Эта опция не применяется к моделям Subsystem.

Добавьте планировщик для вызовов функции, и уровни / Генерируют использование сигналов вызова функции

Заголовок этой опции зависит от того, является ли компонент под тестом подсистемой или моделью. Чтобы включать блок планировщика в вашу тестовую обвязку, выберите блок из выпадающего списка. Можно использовать блок Test Sequence, блок MATLAB function или график Stateflow® как планировщик.

  • Add scheduler for function-calls and rates: Для модели можно использовать блок, чтобы вызвать функции и установить шаги расчета для входов и выходов модели.

  • Generate function-call signals using: Для подсистемы можно использовать блок, чтобы вызвать функции в подсистеме.

Включите Инициализируют, Сброс и порты Terminate

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

Эта опция появляется, когда вы создаете тестовую обвязку для модели верхнего уровня и выбираете блок для опции Add scheduler for function-calls and rates.

Добавьте отдельный блок оценки

Выберите Add separate assessment block, чтобы включать отдельный блок Test Assessment в тестовую обвязку.

Блок Test Assessment является отдельным блоком Test Sequence, сконфигурированным со свойствами, обычно используемыми для проверки компонента под тестом. Для получения дополнительной информации смотрите, Оценивают Симуляцию и Сравнивают Выходные данные и Оценивают Симуляцию модели Используя, проверяют Операторы.

Регистрируйте выходные сигналы

Выберите Log output signals, чтобы регистрировать все выходные сигналы компонента под тестом. Можно использовать эту опцию только при создании новой обвязки. Сигналы регистрируются во время выполнения теста и возвращают результаты испытаний. Если выходной сигнал не имеет имени или распространенного имени, он присвоен один в обвязке с помощью формата <component under test name>:<output port number>. Чтобы удалить сигнал из того, чтобы быть регистрируемым, откройте обвязку, щелкните правой кнопкой по сигналу и выберите Stop Logging Selected Signals.

Открытая обвязка после создания

Очистите Open Harness After Creation, чтобы создать тестовую обвязку, не открывая его. Это может быть полезным созданием нескольких тестовых обвязок по очереди.

Создайте, не компилируя модель

Создание тестовой обвязки, не компилируя модель может быть полезным, если вы моделируете проект, который еще не может скомпилировать. Когда вы создаете тестовую обвязку, не компилируя основную модель:

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

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

  • Тестовая обвязка не содержит подсистемы преобразования.

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

Тестовые обвязки для моделей Subsystem создаются, не компилируя модель.

Режимы верификации

Режим верификации тестовой обвязки определяет тип блока, сгенерированного в тестовой обвязке.

  • Normal: Диаграмма Simulink.

  • Software-in-the-Loop (SIL): Компонент под тестовым сгенерированным кодом ссылок, действуя в качестве программного обеспечения в цикле. Требует Embedded Coder®.

  • Processor-in-the-Loop (PIL): Компонент под тестовым сгенерированным кодом ссылок для определенной системы команд процессора, действуя в качестве процессора в цикле. Требует Embedded Coder.

Тестовые обвязки модели Subsystem не поддерживают SIL или верификацию PIL.

Примечание

Сохраните SIL или код PIL в тестовой обвязке синхронизируемыми с последним проектом компонента. Если вы выбираете SIL или режим верификации PIL, не выбор Rebuild harness on open, ваш SIL или блочный код PIL не могут отразить недавние обновления основного проекта модели. Чтобы регенерировать код для блока SIL или PIL в тестовой обвязке, выберите Rebuild Harness> Update Harness Configuration Settings and Model Workspace.

Используйте сгенерированный код, чтобы создать блок SIL/PIL

Если сгенерированный код для блока SIL/PIL уже существует, выберите это свойство использовать тот существующий код вместо того, чтобы регенерировать код. Эта опция доступна только для обвязок подсистемы. Это не применяется к тестовым обвязкам модели Subsystem.

Папка Build

Задайте папку, которая содержит сгенерированный код для блока SIL/PIL. Эта опция доступна, только если вы выбрали Use generated code to create SIL/PIL block.

Постсоздайте метод коллбэка

Можно настроить тестовую обвязку с помощью постсоздать коллбэка. Постсоздать коллбэк является функцией, которая выполняется после обвязки, создается. Например, ваш коллбэк может настроить логгирование сигнала, добавить пользовательские блоки или изменить времена симуляции обвязки. Для получения дополнительной информации смотрите, Настраивают Тестовые обвязки. Эта опция не применяется к тестовым обвязкам модели Subsystem.

Восстановите обвязку на открытом

Когда вы выбираете это свойство, тестовая обвязка восстанавливает каждый раз, когда вы открываете его. Если вы задали, чтобы использовать существующий сгенерированный код для подсистемы SIL/PIL с помощью sltest.harness.create или sltest.harness.set, обвязка восстанавливает использование что код вместо того, чтобы регенерировать его. Для получения дополнительной информации на восстановить процессе, смотрите, Синхронизируют Изменения Между Тестовой обвязкой и Моделью. Эта опция не применяется к тестовым обвязкам модели Subsystem.

Обновите Параметры конфигурации, и данные о Рабочем пространстве модели по восстанавливают

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

Поствосстановите метод коллбэка

Можно настроить тестовую обвязку с помощью поствосстановить коллбэка. Поствосстановить коллбэк является функцией, которая выполняется после обвязки, восстановлен. Например, ваш коллбэк может настроить логгирование сигнала, добавить пользовательские блоки или изменить времена симуляции обвязки. Для получения дополнительной информации смотрите, Настраивают Тестовые обвязки. Эта опция не применяется к тестовым обвязкам модели Subsystem.

Режим синхронизации

Режим Synchronization управляет, когда изменения в компоненте под тестом синхронизируются к основной модели, и когда изменения во владельце обвязки синхронизируются в тестовую обвязку.

  • Synchronize on harness open — Когда тестовая обвязка открывается, компоненты тестовой обвязки, конфигурация модели, и параметры синхронизируются от модели до тестовой обвязки. Эта опция доступна для:

    • Блок-схемы

    • Подсистемы, включая диаграммы Stateflow и блоки MATLAB function

    • Для блоков Subsystem Reference только параметры блоков синхронизируются, не содержимое блока.

    • Блоки модели - ссылки

    • Блоки s-function

    Опция Synchronize on harness open не доступна для:

    • Обвязки SIL/PIL

    • Обвязки модели Subsystem

  • Synchronize on harness open and close — Когда тестовая обвязка открывается, компоненты тестовой обвязки, конфигурация модели, и параметры синхронизируются от модели до тестовой обвязки. Когда тестовая обвязка закрывается, те же элементы синхронизируются от обвязки до модели. Эта опция доступна для:

    • Блок-схемы

    • Подсистемы, включая диаграммы Stateflow и блоки MATLAB function

    • Для блоков Subsystem Reference только параметры блоков синхронизируются, не содержимое блока.

    • Блоки модели - ссылки

    • Блоки s-function

    • Обвязки модели Subsystem

    Опция Synchronize on harness open and close не доступна для:

    • Блок-схемы

    • Обвязки SIL/PIL

    • Обвязки модели Subsystem

  • Synchronize only during push and rebuild — Синхронизируется, когда вы нажимаете Push Changes или Rebuild Harness. Push Changes синхронизирует изменения от тестовой обвязки до модели. Rebuild Harness синхронизирует изменения от модели до тестовой обвязки. Эта опция доступна для:

    • Подсистемы, включая диаграммы Stateflow и блоки MATLAB function

    • Блоки модели - ссылки

    • Блоки s-function

    • Модели подсистемы, которые всегда синхронизируются на нажатии и восстанавливают только.

    Опция Synchronize only during push and rebuild не доступна для:

    • Блок-схемы

    • Обвязки SIL/PIL

    • Компоненты в библиотеках

  • Synchronize only during rebuild — Синхронизируется только, когда вы нажимаете Rebuild Harness. Rebuild Harness синхронизирует изменения от модели до тестовой обвязки. Эта опция доступна для:

    • Блок-схемы

    • Подсистемы, включая диаграммы Stateflow и блоки MATLAB function

    • Блоки модели - ссылки

    • Блоки s-function

    • Компоненты режима верификации SIL/PIL

    Опция Synchronize only during rebuild не доступна для:

    • Компоненты в библиотеках

Настройте свойства при создании тестовых обвязок

Можно изменить некоторые настройки свойства по умолчанию, чтобы использовать настроенные значения по умолчанию при создании тестовой обвязки. Все индивидуальные настройки, которые вы задаете, появляются в диалоговом окне Create Test Harness. Любые значения свойств, которые вы явным образом устанавливаете в диалоговом окне или при помощи API, заменяют значения, установленные файлом настройки.

  1. Создайте sl_customization.m файл и задает новые настройки по умолчанию.

    Свойства можно установить использование sl_customization файл:

    • PostCreateCallback — Задает скрипт коллбэка, который выполняется после того, как тестовая обвязка создается. Свойство является скалярной строкой или символьным массивом. Его значение передается структуре обвязки по умолчанию, и скрипт коллбэка добавляется к диалоговому окну Create Test Harness. Можно использовать диалоговое окно, чтобы добавить другой коллбэк, который запустится в дополнение к коллбэку, заданному в sl_customization файл.

      Другой способ задать коллбэк при помощи sltest.harness.create и пары "имя-значение", такие как sltest.harness.create ('PostCreateCallback',<callbackScript>).

    • SaveExternally — Задает, сохранена ли тестовая обвязка как внутренняя или внешняя обвязка.

    • LogOutputs — Задает, регистрировать ли все выходные параметры для компонента под тестом тестовой обвязки. Установка параметра также появляется во флажке Log output signals диалогового окна Create Test Harness.

    Индивидуальные настройки заданы и сохранены в скалярной структуре в sl_customization.m файл. Демонстрационный sl_customization.m файл, который устанавливает PostCreateCallback использовать addHarnessAnnotation функция и обвязка, чтобы быть сохраненными внутренне и регистрировать выходные параметры:

    function sl_customization(cm)
       % Create the struct with the harness options
       myStruct.PostCreateCallback = "addHarnessAnnotation";
       myStruct.SaveExternally = false;
       myStruct.LogOutputs = true;
    
       % Invoke harness customization
       cObj = cm.SimulinkTestCustomizer;
       cObj.setHarnessCreateDefaults(myStruct);
    end
    

  2. Сохраните файл.

  3. Добавьте файл в путь MATLAB.

  4. Триггер с помощью новых индивидуальных настроек путем перезагрузки Simulink или при помощи sl_refresh_customizations. Для получения информации смотрите Индивидуальные настройки Регистрации.

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

Похожие темы