Перейти к содержимому
Черновик: материал сгенерирован и ещё не вычитан.

Поиск параметров в CAN-шине

Если производитель ТС не поддерживает FMS и в базе транспортных средств нужной модели нет, параметры приходится искать вручную: включить приём всего потока шины, заставить параметр измениться и увидеть, какие байты при этом меняются.

Порядок работ: подключиться к шине → выбрать режим Произвольный фильтр и скорость → открыть Настройка CAN и запустить приём → найти байты → задать формулу → записать значение в тег протокола.

Монитор: посмотреть, что вообще идёт в шине

Заголовок раздела «Монитор: посмотреть, что вообще идёт в шине»

Первый экран — монитор сырых сообщений. Кнопка Старт запускает захват, Стоп останавливает, Очистить сбрасывает накопленное.

СтолбецЧто показывает
IDидентификатор сообщения
Шинаномер CAN-порта, с которого пришло сообщение
Данныебайты кадра
Кол-восколько раз сообщение пришло с момента запуска
Периодсредний интервал между сообщениями

Кнопка Закрепить у строки включает автопрокрутку к ней — удобно, когда интересующий идентификатор тонет в потоке. Экспорт CSV выгружает накопленную таблицу для разбора вне приложения.

Если после Старт ничего не появляется, а появляется сообщение «Ошибка запуска диагностики. Проверьте подключение», — вернитесь к проверкам подключения и к выбранной скорости шины.

Запуск монитора временно переводит CAN-порт в служебный режим сканера и включает диагностические каналы CAN и CAN детально. По кнопке Стоп прибор возвращается в исходный режим. Не выдёргивайте кабель посреди захвата: конфигурация восстанавливается именно при остановке. Мониторинг работает только при локальном подключении — при удалённом доступе диагностика недоступна.

Фильтры: разбор конкретного идентификатора

Заголовок раздела «Фильтры: разбор конкретного идентификатора»

Экран произвольного фильтра показывает те же сообщения, но с разбором по байтам и битам: ⚙ Открыть настройки CAN → Настройка CANПроизвольный фильтр. Строки появляются двумя способами:

  • нажать Начать приём и дождаться, пока сообщения придут из шины сами (кнопка на время захвата показывает «Запуск…», остановка — Стоп);
  • нажать + Добавить фильтр и ввести CAN ID (hex) вручную — так можно подготовить разбор заранее или сделать вторую строку для того же идентификатора, чтобы разбирать в нём разные поля.

Поле поиска над таблицей принимает PID или байты (hex) — это быстрый способ найти строку в длинном списке.

Переключатель По битам показывает данные побитово, Компактно — сжимает таблицу. Столбцы:

СтолбецЧто в нём
Данныебайты кадра; двойной клик по байту задаёт его значение вручную
Значениедесятичное значение выделенных бит после применения формулы
Кол-во / Периодчастота прихода сообщения
Тегтег протокола, в который пишется значение
Формуламатематическая обработка «на лету»
Прот.передавать ли значение в основном пакете
Комментарийпометка для себя (в прошивку прибора не сохраняется)

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

Это главный инструмент поиска. Подберите длительность так, чтобы фоновый «шум» шины успевал погаснуть, а изменение, которое вы вызываете руками (открыли дверь, нажали педаль), было хорошо видно. Оптимальное значение подбирается экспериментально под каждый автомобиль.

Кликом отмечаются биты или байты, которые составляют искомое значение. Ограничение — 4 байта (32 бита) на один параметр. Выделять можно не только соседние биты: допустимы разрозненные биты и биты из разных байт одного сообщения. Отмеченные позиции превращаются в маску, которая сохраняется в настройках тега.

Если в одном сообщении нужно разобрать несколько независимых полей — добавьте ещё одну строку с тем же CAN ID через + Добавить фильтр и выделите в ней другие биты.

В столбце Формула задаётся выражение, которое применяется к выделенному значению до записи в тег. Выделенные данные обозначаются как v. Подсказка в поле — Инфикс: v * 0.1 + 5.

Доступные операции:

ОперацияЗнак
сложение, вычитание+ -
умножение, деление* /
остаток от деления%
побитовое И, ИЛИ, исключающее ИЛИ& `
битовый сдвиг влево, вправо< >
группировка( )

Длина выражения ограничена 40 символами. Некорректное выражение подсвечивается сообщением «Некорректная формула» и не применяется.

Результат виден в столбце Значение сразу — сверьте его с реальными показаниями на приборной панели ТС.

В столбце Тег выберите тег, размер которого подходит под выделенные данные:

  • CAN8BITR0CAN8BITR30 — 1 байт;
  • CAN16BITR0CAN16BITR14 — 2 байта;
  • CAN32BITR0CAN32BITR14 — 4 байта.

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

CAN8BITR31 не существует как рабочий слот: в прошивке 48.28 проверка номера пропускает 31 при массиве фильтров на 31 элемент (0…30). Ограничьтесь CAN8BITR30.

CAN8BITR<N> ID,Shift,BigEndian,Port,Formula,MaskH,MaskL,Attribute,Comment
  • ID — идентификатор сообщения в десятичном виде;
  • Shift — смещение полезных данных в кадре, байт;
  • BigEndian — порядок байт: 0 — от младшего к старшему, 1 — от старшего к младшему;
  • Port — номер CAN-порта;
  • Formula — формула «на лету»;
  • MaskH / MaskL — старшая (байты 4–7) и младшая (байты 0–3) половины маски;
  • Attribute — скрытые данные или нет;
  • Comment — комментарий.

Команда без аргументов возвращает текущую настройку тега:

Команда: CAN8BITR2
Ответ: Can 8bit R2:ID=1365,Shift=1,BigEndian=0,Port=0,Formula=,Mask_H=0,Mask_L=65280,Attribute=0,Comment=0

Тот же формат у CAN16BITR<N> и CAN32BITR<N>. На приборах с урезанной аппаратной конфигурацией команда принимает только первые четыре аргумента — формула и маска в них недоступны.

Часть возможностей старого Конфигуратора 5 в конфигуратор 6 не перенесена:

  • отправка сообщений в CAN-шину из интерфейса. Команды CANSEND, CAN0SEND, CAN1SEND, CAN2SEND доступны из терминала команд;
  • «Копировать для отправки» и список исходящих сообщений;
  • чекбокс «Следить» у строки — вместо снятия сообщения с мониторинга пользуйтесь поиском и закреплением строки;
  • графики и онлайн-калькулятор систем счисления;
  • цветные маркеры зон в записи лога.

См. также: Настройка CAN: режимы и мастер · Запись лога CAN и воспроизведение · База транспортных средств и CAN bot