Тестовый электрический жгут обеспечивает изолированную среду для проверки изменений конструкции. Можно синхронизировать изменения из тестового электрического жгута в главную модель или из главной модели в тестовый электрический жгут. Синхронизация включает следующие элементы модели:
Тестируемый компонент
Параметры блока
Дополнительно, модель или набор конфигурации тестового кабеля
При необходимости параметры рабочего пространства модели
Не требуется синхронизировать базовые данные рабочей области, так как они доступны как для тестового электрического жгута, так и для главной модели. Тестовые жгуты модели подсистемы всегда синхронизируются с моделями, лежащими в их основе.
При создании тестового электрического жгута указывается, когда изменения в тестовом электрическом жгуте синхронизируются с главной моделью. Синхронизация может выполняться автоматически или вручную. Если планируется опробовать различные конструкции компонентов в тестовом кабельном жгуте, используйте ручную синхронизацию, чтобы избежать перезаписи компонента в главной модели. В зависимости от типа тестируемого компонента электрического жгута можно выбрать один из нескольких вариантов синхронизации, которые представляют собой комбинации следующих действий.
Синхронизировать на открытом электрическом жгуте - при открытии тестового электрического жгута компоненты тестового электрического жгута, набор конфигурации и параметры синхронизируются между моделью и тестовым электрическим жгутом. Эта опция доступна для:
Блок-схемы
Подсистемы, включая диаграммы Stateflow ® и функциональные блоки 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
Параметр Синхронизировать только во время перестроения недоступен для:
Компоненты в библиотеках
При использовании командной строки установите SynchronizationMode свойство с sltest.harness.create.
Примечание
При создании тестового электрического жгута в режиме SIL или PIL для блока модели режим блока в тестовом электрическом жгуте изменяется на SIL или PIL соответственно. Этот режим не обновляется до основной модели при закрытии тестового электрического жгута.
Поддержание точности блока SIL или PIL
Если в тестовом электрическом жгуте используется блок «программное обеспечение в контуре» (SIL) или блок «процессор в контуре» (PIL), попробуйте настроить тестовый электрический жгут на восстановление при каждом его открытии. При регулярной перестройке тестового электрического жгута генерируемый код, на который ссылается блок SIL/PIL, остается отражением основной модели.
Чтобы изменить режим синхронизации тестовых кабелей, выполните следующие действия.
Закройте тестовый жгут.
В главной модели щелкните значок электрического жгута на блоке или холсте Simulink ®.
В окне предварительного просмотра эскизов тестовых кабелей щелкните значок «Операции с кабелями» и выберите «Свойства».
Измените режим синхронизации в диалоговом окне свойств.
При использовании командной строки установите SynchronizationMode свойство с sltest.harness.set.
Чтобы синхронизировать набор конфигурации и параметры рабочего пространства между тестовым кабельным жгутом и главной моделью, выберите пункт Обновить параметры конфигурации и данные рабочего пространства модели при перестроении в диалоговом окне создания электрического жгута или свойств электрического жгута.
Если тестовый электрический жгут не синхронизирует изменения, можно проверить несинхронизированные различия компонентов между тестовым кабельным жгутом и главной моделью. Проверка несинхронизированных различий может быть полезна, если:
Вы вносите предварительные изменения в конструкцию тестового электрического жгута и хотите проверить, что компонент главной модели не перезаписан.
В основную модель внесены конструктивные изменения, и необходимо проверить, какие тестовые жгуты необходимо перестроить.
В окне тестового электрического жгута выберите Проверить электрический жгут (Check Harness), чтобы проверить наличие различий. Если компонент отличается, можно перенести изменения из тестового электрического жгута в главную модель или перестроить тестовый электрический жгут из главной модели. Также см. sltest.harness.check функция.
При проверке несинхронизированных различий необходимо учитывать следующие условия:
sltest.harness.check включает только блок-схему, параметры блока и параметры маски при сравнении тестового электрического жгута и главной модели. Параметры порта, скомпилированные атрибуты, скрытые параметры и параметры регистрации ссылочных данных модели не включаются в сравнение.
Если компонент содержит блок конфигурации решателя Simscape™, результат проверки всегда показывает, что компонент отличается между тестовым кабельным жгутом и главной моделью. Блок конфигурации решателя зависит от блоков Simscape вне компонента и поэтому всегда отличается между тестовым кабельным жгутом и главной моделью.
Перестроить тестовый электрический жгут для отражения последнего состояния главной модели. В тестовом электрическом жгуте выберите «Перестроить электрический жгут». В дополнение к обновлению тестируемого компонента и параметров блока эта операция восстанавливает подсистемы преобразования кабельных трасс. Если тестовый электрический жгут не имеет подсистем преобразования, их добавляет перестроение.
Перестроение может привести к разъединению сигнальных линий. Например, при изменении имен сигналов в главной модели сигнальные линии в тестовом жгуте могут быть отключены. Если линии разъединены, подключите сигнальные линии к тестируемому компоненту или подсистемам преобразования. Если указано использование существующего сгенерированного кода для подсистемы SIL/PIL с использованием sltest.harness.create или sltest.harness.set, при перестроении кабельных трасс этот код используется вместо его регенерации.
Дополнительные сведения см. в разделах Создание тестовых жгутов и Выбор свойств и sltest.harness.rebuild.
После изменения системы в тестовом кабельном жгуте можно перенести изменения в главную модель. В тестовом кабельном жгуте выберите «Push Changes». Этот процесс перезаписывает компонент в главной модели.
В этом примере показан основной рабочий процесс обновления параметра в тестовом кабельном жгуте, проверки синхронизации между тестовым кабельным жгутом и главной моделью и перемещения изменения параметра с тестового электрического жгута на главную модель.
Этот пример также включает программные шаги.
Открытие модели sltestCar. Модель включает в себя алгоритм контроллера переключения передач и упрощенный силовой агрегат и динамику транспортного средства.
open_system('sltestCar');

Обновление параметра маски в тестовом кабельном жгуте
1. Откройте тестовый жгут. Щелкните значок на панели shift_logic и выберите ShiftLogic_InportHarness испытательный жгут. Тестовый электрический жгут устанавливается для синхронизации только при нажатии на главную модель или перестроении из нее.
sltest.harness.open('sltestCar/shift_logic','ShiftLogic_InportHarness');

2. Дважды щелкните значок shift_logic подсистема. В поле «Задержка перед переключением передач» (засечка) введите 4. Нажмите кнопку ОК.
shiftLogicMask = Simulink.Mask.get('ShiftLogic_InportHarness/shift_logic'); maskParamValue = shiftLogicMask.Parameters.Value; shiftLogicMask.Parameters.Value = '4'; % Set to new parameter value
Проверка синхронизации между тестовым жгутом и главной моделью
В командной строке выполните команду sltest.harness.check функция.
[comparison,details] = sltest.harness.check('sltestCar/shift_logic',... 'ShiftLogic_InportHarness');
Результаты показывают, что тестируемый компонент отличается в тестовом жгуте из-за обновленного параметра маски.
comparison
comparison = logical 0
details
details =
struct with fields:
overall: 0
contents: 1
reason: 'The contents of harnessed component and the contents of the component in the main model are same, but they differ in terms of block or mask parameters.'
Обновление параметра до основной модели
1. В тестовом кабеле откройте Диспетчер тестов. На вкладке «Приложения» в разделе «Проверка модели», «Проверка» и «Тест» выберите «Тест Simulink», затем на вкладке «Тесты» выберите «Диспетчер тестов Simulink».
2. В основной модели дважды щелкните подсистему shift_logic. Значение параметра обновляется.
sltest.harness.push('sltestCar/shift_logic','ShiftLogic_InportHarness')
Повторная проверка синхронизации между тестовым жгутом и главной моделью
В командной строке обновите главную модель и тестовый электрический жгут. Затем выполните команду sltest.harness.check функция.
set_param('sltestCar','SimulationCommand','update'); set_param('ShiftLogic_InportHarness','SimulationCommand','update');
[comparison,details] = sltest.harness.check('sltestCar/shift_logic',... 'ShiftLogic_InportHarness');
Результаты показывают, что тестируемый компонент является одинаковым между тестовым жгутом и главной моделью.
comparison
comparison = logical 1
details
details =
struct with fields:
overall: 1
contents: 1
reason: 'The checksum of the harnessed component and the component in the main model are same.'
close_system('sltestCar',0);
sltest.harness.check | sltest.harness.push | sltest.harness.rebuild