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

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

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

  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 tiles from component badge

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

Test harness tiles from canvas pullout

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

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

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

Access harness operations from the badge

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

Выберите 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.

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

set_param(<Subsystem_name>,'ShowModelInitializePort','off');
set_param(<Subsystem_name>,'ShowModelResetPorts','off');
set_param(<Subsystem_name>,'ShowModelTerminatePort','off');

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

Выберите 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 только параметры блоков синхронизируются, не содержимое блока.

    • Блоки Model

    • Блоки S-function

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

    • Обвязки SIL/PIL

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

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

    • Блок-схемы

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

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

    • Блоки Model

    • Блоки S-function

    Опция 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

    • Блоки Model

    • Блоки S-function

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

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

    • Блок-схемы

    • Обвязки SIL/PIL

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

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

    • Блок-схемы

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

    • Блоки Model

    • Блоки S-function

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

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

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

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

Чтобы установить значения свойств по умолчанию для создания новых тестовых обвязок, используйте sl_customization файл или setHarnessCreateDefaults функция. Все недавно созданные тестовые обвязки используют новые значения по умолчанию.

Чтобы видеть текущие значения свойств тестовой обвязки по умолчанию, использовать sltest.harness.getHarnessCreateDefaults.

Для отдельной тестовой обвязки можно изменить значения свойств от значений по умолчанию при помощи диалогового окна Create Test Harness или sltest.harness.create функция. Используя любую из этих опций не изменяет значения по умолчанию, используемые при создании новой тестовой обвязки. См. также Test Harness Properties и Change Test Harness Properties.

Установите значения по умолчанию при помощи sl_customization.m Файл

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

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

    Можно установить все аргументы name-value sltest.harness.create, кроме, где отмечено.

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

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

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

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

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

    Примечание

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

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

Установите значения по умолчанию при помощи setHarnessCreateDefaults Функция

Можно также использовать sltest.harness.setHarnessCreateDefaults установить значения свойств по умолчанию. Можно установить любое из свойств пары "имя-значение", описанных в sltest.harness.create, кроме, где отмечено. Используя sltest.harness.setHarnessCreateDefaults сохраняет и указывает значения свойств по умолчанию. Однако, если вы уже устанавливаете и указанные значения с помощью sl_customization.m файл, с помощью sltest.harness.setHarnessCreateDefaults перезаписывает значения, заданные в файле.

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

| |

Похожие темы