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

В этом примере показано, как преобразовать модель тестовой обвязки, которая использует блок Signal Builder в качестве входов в модель без кабеля с корневыми входными портами. Пример собирает данные из модели тестовой обвязки и хранит их в MAT-файлах для модели без кабеля. После хранения данных пример удаляет блок Signal Builder из модели тестовой обвязки и добавляет корневые входные порты, чтобы создать модель без кабеля. Затем данные в MAT-файлах сопоставляются с корневыми входными портами модели.

Сохраните данные обвязок в MAT-файлы

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

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

Откройте пример модели. В Командном Окне MATLAB введите sldemo_autotrans.

Экспорт групп блоков Signal Builder

Экспортируйте данные, которые определяют Блок Signal Builder группы сигналов в MAT-файл из окна Signal Builder. Чтобы экспортировать данные сигнала Signal Builder, отформатированные как Simulink .SimulationData. Набор данных, в MAT-файл, откройте окно Signal Builder и выберите Файл > Export Data > To MAT-File. В диалоговом окне введите имя MAT-файла, содержащего данные и номер группы, которую необходимо экспортировать. В данном примере имя файла slexAutotransRootInportPassingManeuver.mat и номер группы равен 1 для группы Passing Maneuver.

Удалите блок Signal Builder

Удалите блок Signal Builder с именем ManeuversGUI и замените его двумя входными портами.

  1. Удалите блок Signal Builder с именем ManeuversGUI.

  2. Из библиотеки Simulink/Обычно используемые блоки перетащите два блока inport в модель.

  3. Соедините входные порты с линиями, ранее подключенными к блоку Signal Builder.

  4. Переименуйте входные порты. Назовите входной порт, соединенный с линией дросселя. Назовите входной порт, соединенный с линией тормоза BrakeTorque.

Сохраните модель как slexAutotransRootInportsExample1.slx или используйте пример slexAutotransRootInportsExample.slx.

Остальные шаги этого примера используют модель slexAutotransRootInportsExample.slx. Если вы сохранили модель с другим именем, используйте имя модели в шагах вперед.

Настройте входы без кабелей

Теперь, когда модель свободна от кабелей, настройте входы, которые вы уже сохраняли (См. «Сохранение данных обвязок в MAT-файлы»).

На вкладке Моделирование выберите Настройки модели. На панели «Импорт/Экспорт данных» нажмите кнопку «Подключить вход».

Сопоставить сигналы с корневым входным портом

Откроется инструмент Root Inport Mapper.

Пример использует этот инструмент, чтобы настроить входы модели из MAT-файла и сопоставить эти входы с портом входа на основе алгоритма отображения. Чтобы выбрать MAT-файл, содержащий входные данные, нажмите кнопку From MAT-File на панели инструментов Root Inport Mapper. Когда появится диалоговое окно ссылки, нажмите кнопку Browse. В браузере выберите сохраненный ранее MAT-файл.

Выберите режим отображения

Когда вы выбираете MAT-файл slexAutotransRootInportPassingManeuver.mat который содержит входные данные, определите корневой входной порт, которому нужно отправить входные данные. Simulink сопоставляет входные данные с входными портами на основе одного из пяти критериев:

  • Port Order - Отображает в том же порядке, в котором он появляется в файле, на соответствующий номер порта.

  • Имя блока - Сопоставляет по наименованию переменной с соответствующим корневым входным портом с соответствующим именем блока.

  • Имя сигнала - Сопоставляет по наименованию переменной с соответствующим корневым входным портом с соответствующим именем сигнала.

  • Путь блока - Сопоставляет параметром BlockPath с соответствующим корневым входным портом с соответствующим пути блока.

  • Custom - Карты с использованием функции MATLAB.

Ранее в этом примере вы сохраняли входные данные в переменные с тем же именем, что и сигналы обвязки Throttle и Brake, и добавляли входные порты с именами, совпадающими с переменными. Учитывая набор условий для входных данных и входных портов модели, лучшим выбором для критериев отображения является Имя блока. Используя этот критерий, Simulink пытается сопоставить имена переменных входных данных с именами входных портов. Чтобы выбрать эту опцию:

  1. Нажмите переключатель Блока Имени.

  2. Нажмите кнопку Options и выберите Update Model. Это проверяет отображение.

  3. Нажмите кнопку Map.

При компиляции данных Simulink оценивает входные порты по следующим критериям, чтобы определить проблемы совместимости. Статус этой совместимости отражается зелеными, оранжевыми или красными цветами таблицы. Предупреждения и ошибки помечены диагностическими сообщениями. Если опция Options > Update Model не выбрана, Root Inport Mapper определяет статус совместимости путем оценки этих параметров блоков и назначенных сигналов:

  • Тип данных - Double, single, enum,....

  • Комплексность - реальная или комплексная

  • Размерности - размерности сигнала по сравнению с размерностями порта

Завершение входных параметров модели

Проверьте результаты совместимости отображения. Щелкните Набор данных сценария 'PassingManeuver' в списке набора данных сценария. Чтобы подготовиться к симуляции, нажмите Mark for Simulation. Это действие применяет переменные отображения к текстовому полю Параметра конфигурации Данных Импорт/Экспорт > Внешний Вход. Если это текстовое поле имеет содержимое, оно перезаписывается.

Симуляция модели

С примененными изменениями теперь можно моделировать модель и просматривать результаты. Запустите модель. Чтобы просмотреть результаты симуляции, дважды щелкните на элементе Scope Block PlotResults.