Третья часть серии о HIL-симуляции реального времени на TSMaster. После того как в части 2 встраиваемый код ЭБУ был сгенерирован автоматически и интегрирован в среду выполнения TSMaster, разберём, как алгоритм ЭБУ обменивается данными с внешним миром: модель автомобиля CarSim без RT-лицензии, CarSim Controller и автоматическое управление моделью из TSMaster.

Ключевые слова: HIL, TSMaster, CarSim Controller, CarSim engine, реальное время, модель автомобиля, динамика.

1. Симуляция реального времени без RT

Независимо от того, выполняется алгоритм ABS в мини-программе TSMaster или в реальном аппаратном ЭБУ, ему обязательно нужны входные сигналы от внешней среды — скорости колёс и т.п., а его выходы должны воздействовать на внешнюю среду. Под внешней средой понимаются автомобиль в целом и остальные контроллеры. Очевидно, в процессе симуляции должна участвовать модель автомобиля — обычно это RT-версия CarSim.

Опираясь на исследование реального времени из части 1, можно использовать и не-RT версию CarSim: достаточно в реальном времени вызывать соответствующие API-функции CarSim, чтобы перенести модель автомобиля на обычный ПК.

2. CarSim Controller

В этом примере используется CarSim Controller — инструмент, разработанный TOSUN специально для CarSim. Фактически это аналог RT-версии CarSim, способный с высокой точностью симулировать модель автомобиля на персональном компьютере (рис. 2-1).

CarSim Controller
Рис. 2-1. CarSim Controller — управление моделью CarSim в реальном времени

Сначала через CarSim Controller откройте экземпляр автоматизации CarSim и выберите конфигурацию модели автомобиля для запуска. Здесь, как и раньше, используется покрытие split-mu: слева — высокий коэффициент сцепления, справа — низкий (рис. 2-2).

Конфигурация split-mu
Рис. 2-2. Выбор конфигурации автомобиля и покрытия split-mu

Вернитесь в CarSim Controller и нажмите кнопку запуска — процесс симуляции можно наблюдать в реальном времени (рис. 2-3).

Запуск симуляции
Рис. 2-3. Запуск симуляции в CarSim Controller

Сейчас автомобиль медленно движется — он на холостом ходу. Переключитесь на таблицу входных интерфейсов: здесь видны переменные интерфейса потоков CarSim — аналог входов S-function CarSim в Simulink. Отфильтруйте уже назначенные интерфейсные переменные — видны предварительно настроенные входы дросселя, торможения и т.д. Управлять моделью автомобиля в реальном времени можно как через интерфейс, так и через API (рис. 2-4).

Таблица входных интерфейсов
Рис. 2-4. Таблица входных интерфейсных переменных CarSim

Например, отпустим дроссель и приложим к левому переднему колесу тормозное давление 15 МПа: на видео видно, как левое переднее колесо блокируется, а остальные колёса продолжают нормально вращаться. Так выглядит ручное управление динамикой автомобиля.

3. Автоматическое управление моделью из TSMaster

Разумеется, TSMaster может применять к модели автомобиля воспроизводимое автоматическое управление. Для этого в TSMaster загружается клиент CarSim Controller — библиотека мини-программ CarSim engine (рис. 3-1).

Библиотека CarSim engine
Рис. 3-1. Библиотека мини-программ CarSim engine в TSMaster

Откройте библиотеку мини-программ: CarSim engine предоставляет набор API-функций автоматического управления — автоматическое изменение различных параметров автомобиля CarSim, управление динамической моделью в реальном времени и другие команды для безлюдной автоматизации. Так функции реального времени уровня CarSim RT выполняются на обычном ПК. Преимущества HIL прямо на персональном компьютере очевидны: вся настройка и развёртывание параметров локальны и по сравнению с традиционным HIL выполняются практически мгновенно.

Программная платформа TSMaster позволяет легко вмешиваться в любую переменную алгоритма ЭБУ. Отметим: CarSim Controller — лишь один из множества способов перевести динамическое ПО CarSim под управление в реальном времени; по тому же принципу реализуется управление и для другого динамического ПО, например CarMaker.

Продолжение — в части 4: мост между алгоритмом ЭБУ и моделью автомобиля.