RBS (residual bus simulation) — остаточная симуляция шины: на основе базы данных бортовой сети (CAN/LIN/FlexRay/Ethernet) симулируется коммуникационное поведение отдельных узлов сети. Разбираем процесс LIN RBS в TSMaster.

Ключевые слова: TSMaster, LIN, RBS, остаточная симуляция шины, LDF, transmit_lin_async, панель.

1. Подготовка аппаратного подключения

Подключите LIN-аппаратуру TOSUN. В режиме симуляции главного узла LIN-устройству TOSUN требуется внешнее питание — чтобы уровень сигнала LIN-шины соответствовал тестируемому изделию. Схема подключения — на рис. 1-1.

Схема подключения LIN
Рис. 1-1. Схема подключения LIN-аппаратуры

Примечание: модели TC1012P, TC1016P и TC1026P питаются по USB и внешнего питания не требуют.

2. Процесс LIN RBS в TSMaster

2.1. Импорт LDF-файла

Загрузите LDF-файл через «Базу данных» или просто перетащите его в TSMaster. Видны узлы LDF-файла (главный узел выделен красным); база данных содержит таблицы планировщика узлов, определения сообщений и сигналов (рис. 2-1).

Импорт LDF
Рис. 2-1. Импорт LDF-файла и просмотр узлов

2.2. Выбор LIN-канала

В разделе «Аппаратное обеспечение» → «Выбор канала» выберите LIN и задайте количество каналов приложения. В выпадающем списке выбора канала доступны реальные аппаратные каналы с именем устройства и серийным номером (на рис. 2-2 — TC1016).

Выбор LIN-канала
Рис. 2-2. Выбор аппаратного LIN-канала

2.3. Настройка симуляции LIN-шины

2.3.1. Активация главного и подчинённого узлов. Откройте модуль «Симуляция» → «Симуляция LIN-шины». В окне остаточной симуляции LIN для каналов с привязанной базой данных доступны флажки активации сети, узлов, таблиц планировщика и сообщений (рис. 2-3).

Активация узлов RBS
Рис. 2-3. Флажки активации сети, узлов и планировщика

Красным отмечен главный узел (например, HVAC). Отметьте сеть → узел → таблицу планировщика — и RBS начнёт симулировать этот узел. После запуска симуляции приём и передачу сообщений узла видно в окне информации о сообщениях (рис. 2-4).

Сообщения симулируемого узла
Рис. 2-4. Сообщения симулируемого узла в окне Trace

2.3.2. Параметры конфигурации. Модуль RBS в TSMaster содержит следующие параметры (рис. 2-5):

Параметры RBS
Рис. 2-5. Параметры конфигурации модуля RBS
  • Автозапуск остаточной симуляции — если включено, модуль RBS запускается автоматически при подключении приложения.
  • Автоматически отправлять сообщение при изменении сигнала — если включено, сообщение отправляется сразу при изменении входящего в него сигнала.

2.4. Изменение значений сигналов симулируемого узла

2.4.1. Изменение прямо в окне LIN RBS. После активации нужных узлов сети и таблицы планировщика раскройте «Планировщик → Сообщение → Сигнал»: в колонке байтов данных сигнала видно текущее симулируемое значение — введите новое значение прямо здесь (рис. 2-6).

Изменение сигнала в RBS
Рис. 2-6. Изменение значения сигнала в окне RBS

2.4.2. Изменение сигналов из C-скрипта. После настройки модуля RBS откройте C-мини-программу: доступны события LIN — приёма, отправки и предотправки. Чтобы присваивать значения сигналам симуляции шины:

  1. Шаг 1. Создайте события отправки и предотправки LIN для нужного сообщения. В событии отправки определите сообщение с присваиваемым сигналом и отправьте его функцией transmit_lin_async — это нужно для вызова события предотправки LIN (рис. 2-7, 2-8).
  2. Шаг 2. Внутри события предотправки присваивайте значения сигналам напрямую. После компиляции и запуска скрипта в окне сообщений видно, что значение сигнала изменилось (рис. 2-9, 2-10).
События LIN в скрипте
Рис. 2-7. События отправки и предотправки LIN в C-мини-программе
Отправка transmit_lin_async
Рис. 2-8. Отправка сообщения функцией transmit_lin_async
Присваивание в предотправке
Рис. 2-9. Присваивание сигнала в событии предотправки
Изменённый сигнал в Trace
Рис. 2-10. Изменённое значение сигнала в окне сообщений

2.4.3. Изменение сигналов через панель.

  1. Шаг 1. Создайте панель в «Симуляция» → «Панель» и добавьте элемент ввода (в примере — переключатель). Двойным щелчком по элементу выберите LIN-сигнал (рис. 2-11) и привяжите сигнал отправляемого сообщения симулируемого узла (рис. 2-12).
  2. Шаг 2. После запуска симуляции меняйте значение сигнала элементом панели — в окне сообщений видно, что значение изменилось (рис. 2-13, 2-14).
Выбор LIN-сигнала
Рис. 2-11. Выбор LIN-сигнала для элемента панели
Привязка сигнала
Рис. 2-12. Привязка сигнала отправляемого сообщения узла
Панель с элементом
Рис. 2-13. Изменение сигнала элементом панели
Результат в Trace
Рис. 2-14. Изменённое значение сигнала в окне сообщений