Пятая, заключительная часть серии о построении HIL-симуляции автомобильного контроллера с нуля на TSMaster. Выводим сигналы алгоритма ABS и модели автомобиля на реальную шину CAN через DBC и симуляцию остаточной шины (RBS) — и переходим к полноценной HIL-симуляции реального ЭБУ на примере iBooster.
Ключевые слова: HIL, аппаратура в контуре, TSMaster, DBC, RBS, iBooster, CAN, автоматизация испытаний.
1. HIL — аппаратура в контуре
Симуляция алгоритма ABS и запуск модели автомобиля преследуют не просто отрисовку кривых и сбор данных — цель глубже: связь с внешним миром, полный вывод входных и выходных данных в реальный мир. Это и есть истинная цель HIL — аппаратура в контуре (Hardware-in-the-Loop).
Взаимодействие с внешним миром реализуется предельно просто: создаётся специальный DBC-файл, загружается в TSMaster, и содержимое системных переменных отображается на шину.
Здесь подготовлен простой DBC-файл с четырьмя сигналами скоростей колёс и четырьмя сигналами давлений колёсных цилиндров. Перетащите его в TSMaster (рис. 1-1).

Откройте RBS (симуляцию остаточной шины) и позвольте ей взять на себя отправку этих сигналов.
Затем откройте селектор аппаратных каналов и выберите в качестве CAN-канала шинный инструмент TOSUN — для демонстрации используется TC1005, чьи каналы 1 и 2 соединены между собой, чтобы отправленные кадры корректно подтверждались. Подойдёт и любой современный многоканальный интерфейс, например TC1014 или TC1018.
Запустите RBS и откройте окно Trace: нужные сигналы передаются на шине с заданной частотой. Поскольку они пока не обновляются, начальные значения — нули. Следующий шаг — привязка сигналов: передать в них значения системных переменных.
Сначала остановите симуляцию, вернитесь в мини-программу алгоритма и добавьте функции предварительной отправки (pre-send), которые перехватывают отправку кадров скоростей колёс и давлений: каждый раз, когда кадр вот-вот будет отправлен, система вызывает эти функции — остаётся просто обновить в них нужные сигналы (рис. 1-2).

Попробуем присвоить значения. Наконец, в окне графиков добавьте наблюдаемые сигналы CAN — скорости, давления и т.д.
Все необходимые функции предварительной отправки готовы — пора запускать весь процесс симуляции. Порядок тот же: подключаем приложение TSMaster, нажимаем кнопку запуска в модуле автоматизации — автомобиль в движении (рис. 1-3).

По мере выполнения программы на шине в реальном времени видны активные сигналы скоростей колёс и давлений — они окончательно вступили во взаимодействие с реальным миром.
2. Реализация HIL-симуляции автомобильного контроллера
С этой базой мы по-настоящему входим в мир HIL-симуляции реального времени. Весь описанный процесс — универсальный шаблон, позволяющий реализовать HIL-симуляцию самых разных автомобильных контроллеров.
Простой пример: нужно выполнить HIL-симуляцию разрабатываемого iBooster — реального ЭБУ. Импортируем DBC-файлы всех сетей этого iBooster и симулируем через RBS все необходимые ему сигналы (рис. 2-1).

Простейший способ симулировать сигналы: в окне симуляции RBS выбрать нужный узел iBooster, щёлкнуть правой кнопкой и одной командой автоматически сгенерировать HIL-конфигурацию — это автоматически активирует остальные узлы и кадры, от которых зависит iBooster.
Затем в мини-программе через функции предварительной отправки конструируем все шинные сигналы, необходимые этому узлу (рис. 2-2).

Дальше — аппаратные сигналы. Например, сигнал педали реализуется через интерфейс автоматизации электроцилиндра или пользовательский API;
сигналы ввода-вывода и коммутации — через API плат ввода-вывода и релейных плат TOSUN;
специальные сигналы датчиков, такие как скорость колеса, — через API платы симуляции скорости колёс;
управление напряжением питания — через программируемый источник питания с API.
Наконец, открываем модуль автоматизации и пишем серию тест-кейсов для всевозможных испытаний изделия (рис. 2-3).

Разумеется, за всем этим стоит важная предпосылка: вся подготовка вне ПО — механические и гидравлические нагрузки ЭБУ — должна быть завершена заранее.
Когда всё перечисленное готово, можно проектировать и выполнять полностью автоматический безлюдный перебор параметров и испытания, а после их окончания — одной кнопкой автоматически генерировать отчёт по заранее настроенному шаблону.
Детали финальной реализации многообразны и зависят от задачи. Но у нас есть все основания полагать: опираясь на всю эту архитектуру симуляции на базе TSMaster, вы сможете проявить изобретательность и спроектировать самые разные системы HIL-симуляции реального времени.
Начало серии — часть 1: принципы реального времени; обзор всего подхода — в статье «HIL-симуляция контроллера с нуля на TSMaster».