exponenta event banner

Создание тестовых жгутов и выбор свойств

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

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

  1. Щелкните правой кнопкой мыши модель Simulink ® и выберите «Тестовый кабель» > «Создать для модели», чтобы открыть диалоговое окно «Создание тестового кабеля».

  2. После выбора необходимых параметров нажмите кнопку ОК, чтобы создать тестовый электрический жгут.

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

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

  1. На вкладке Приложения (Apps) в разделе Проверка модели (Model Verification), Проверка (Validation) и Тест (Test) щелкните Тест Simulink (Simulink Test).

  2. На вкладке Тесты (Tests) щелкните Диспетчер испытаний Simulink (Simulink Test Manager), чтобы открыть Диспетчер испытаний (Test Manager).

  3. Создайте новый тестовый файл в диспетчере тестов.

  4. Щелкните Создать (New) > Проверить для компонента модели (Test for Model Component), чтобы открыть мастер рабочего процесса Создать тест для компонента модели (Create Test for Model Component workflow wizard).

  5. Создайте тестовый электрический жгут, заполнив страницы мастера.

Примечание

Мастер рабочего процесса «Создать тест для компонента модели» предоставляет подмножество опций тестовых кабелей. Если тестовый электрический жгут не нуждается в использовании параметров, отличных от параметров по умолчанию, используйте мастер для быстрого создания электрического жгута. Если необходимо изменить другие параметры, используйте Диспетчер тестов (Test Manager) для тестового электрического жгута, созданного с помощью мастера.

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

Предварительный просмотр и открытие тестовых жгутов

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

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

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

Чтобы изменить свойства открытого тестового электрического жгута, щелкните значок на блок-схеме тестового электрического жгута и нажмите кнопку «Свойства тестового электрического жгута», чтобы открыть диалоговое окно свойств электрического жгута.

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

Примечания по выбору свойств тестовых кабелей

Перед выбором свойств тестового кабеля необходимо учесть следующее.

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

  • Способ просмотра или сохранения результатов тестирования

  • Требуется ли копировать параметры и рабочие пространства из главной модели в электрический жгут

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

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

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

Примечание

В следующих разделах описаны свойства тестового кабеля в диалоговом окне «Создание тестового кабеля». Сведения о свойствах тестового кабеля в мастере «Создание теста для компонента модели» см. в разделе Создание тестов и тестовых жгутов для компонента или модели.

Свойства тестового кабеля

Имя электрического жгута

В тестовых жгутах должны использоваться допустимые имена файлов MATLAB ®.

Внешнее сохранение тестовых жгутов

Эта опция управляет тем, как модель хранит тестовые жгуты. Модель хранит все тестовые жгуты как внутри, так и снаружи. Если модель уже имеет тестовые жгуты, этот элемент определяет тип склада жгутов как Жгуты, сохраненные < внутренне 'снаружи >.

  • Если флажок снят, модель сохраняет тестовые жгуты как часть файла модели SLX.

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

См. раздел Управление тестовыми жгутами.

Выбор функционального интерфейса

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

Источники и поглотители

В диалоговом окне «Создание тестового кабеля» в разделе «Источники и раковины» выберите источник и раковину из соответствующих меню. Меню предоставляют общие источники и раковины.

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

simulink/Sources/Sine Wave
simulink/Sinks/Terminator

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

Создание скалярных входных данных

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

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

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

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

  • Генерация сигналов вызова функции с помощью: Для подсистемы можно использовать блок для вызова функций в подсистеме.

Активизация инициализации, сброса и завершения портов

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

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

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

Выберите Добавить отдельный блок оценки, чтобы включить отдельный блок оценки теста в тестовый жгут.

Блок оценки тестирования - это отдельный блок последовательности тестирования, сконфигурированный со свойствами, обычно используемыми для проверки тестируемого компонента. Дополнительные сведения см. в разделах Оценка моделирования и сравнение выходных данных и Оценка моделирования модели с использованием операторов проверки.

Выходные сигналы журнала

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

Открыть электрический жгут после создания

Снимите флажок «Открыть электрический жгут после создания», чтобы создать тестовый электрический жгут, не открывая его. Это может быть полезно при создании нескольких тестовых жгутов последовательно.

Создание без компиляции модели

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

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

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

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

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

Тестовые жгуты для моделей подсистем создаются без компиляции модели.

Режимы проверки

Режим проверки тестового электрического жгута определяет тип блока, созданного в тестовом электрическом жгуте.

  • Normal: Блок-схема Simulink.

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

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

Тестовые жгуты модели подсистемы не поддерживают проверку SIL или PIL.

Примечание

Сохранить код SIL или PIL в тестовом жгуте синхронизированным с последней конструкцией компонента. Если выбрать режим проверки SIL или PIL без выбора команды Перестроить электрический жгут при открытии, код блока SIL или PIL может не отражать последние обновления в проекте главной модели. Чтобы регенерировать код для блока SIL или PIL в тестовом электрическом жгуте, выберите «Перестроить электрический жгут» > «Обновить настройки конфигурации электрического жгута» и «Рабочее пространство модели».

Использование сгенерированного кода для создания блока SIL/PIL

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

Папка построения

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

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

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

Перестроить электрический жгут при открытии

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

Обновление параметров конфигурации и данных рабочей области модели при перестроении

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

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

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

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

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

  • Синхронизировать на открытом электрическом жгуте - при открытии тестового электрического жгута компоненты тестового электрического жгута, набор конфигурации и параметры синхронизируются между моделью и тестовым электрическим жгутом. Эта опция доступна для:

    • Блок-схемы

    • Подсистемы, включая диаграммы статофлоу и функциональные блоки MATLAB

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

    • Ссылочные блоки модели

    • S-функциональные блоки

    Опция Синхронизировать на электрическом жгуте (Synchronize on harness open) недоступна для:

    • Жгуты SIL/PIL

    • Модельные жгуты подсистемы

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

    • Блок-схемы

    • Подсистемы, включая диаграммы статофлоу и функциональные блоки MATLAB

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

    • Ссылочные блоки модели

    • S-функциональные блоки

    • Модельные жгуты подсистемы

    Опция Синхронизировать на электрическом жгуте (Synchronize on harness open and close) недоступна для:

    • Блок-схемы

    • Жгуты SIL/PIL

    • Модельные жгуты подсистемы

  • Синхронизировать только при нажатии и перестроении - синхронизирует при нажатии кнопки «Принудительные изменения» или «Перестроить электрический жгут». Команда Push Changes синхронизирует изменения из тестового электрического жгута в модель. Команда «Перестроить электрический жгут» синхронизирует изменения из модели в тестовый электрический жгут. Эта опция доступна для:

    • Подсистемы, включая диаграммы статофлоу и функциональные блоки MATLAB

    • Ссылочные блоки модели

    • S-функциональные блоки

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

    Параметр Синхронизировать (Synchronize) доступен только во время push and rebuild для:

    • Блок-схемы

    • Жгуты SIL/PIL

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

  • Синхронизировать только во время перестроения - синхронизирует только при нажатии кнопки «Перестроить электрический жгут». Команда «Перестроить электрический жгут» синхронизирует изменения из модели в тестовый электрический жгут. Эта опция доступна для:

    • Блок-схемы

    • Подсистемы, включая диаграммы статофлоу и функциональные блоки MATLAB

    • Ссылочные блоки модели

    • S-функциональные блоки

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

    Параметр Синхронизировать только во время перестроения недоступен для:

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

Настройка свойств при создании тестовых жгутов

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

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

    Свойства, которые можно задать с помощью sl_customization файл:

    • PostCreateCallback - указывает сценарий обратного вызова, который выполняется после создания тестового электрического жгута. Свойство представляет собой скалярную строку или символьный массив. Его значение передается в структуру кабельных трасс по умолчанию, а сценарий обратного вызова добавляется в диалоговое окно «Создание тестового кабеля». В диалоговом окне можно добавить другой обратный вызов, который будет выполняться в дополнение к обратному вызову, указанному в sl_customization файл.

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

    • SaveExternally - указывает, сохраняется ли тестовый электрический жгут как внутренний или внешний.

    • LogOutputs - указывает, следует ли регистрировать все выходы тестируемого компонента тестового жгута. Параметр также отображается в поле «Выходные сигналы журнала» диалогового окна «Создание тестового кабеля».

    Настройки задаются и сохраняются в скалярной структуре в 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. Дополнительные сведения см. в разделе Регистрация настроек.

См. также

Связанные темы