Настройка CAN: режимы и мастер
Настройки CAN живут в конфигурации прибора, в разделе Сканер CAN: ⚙ Открыть настройки CAN. Отдельная кнопка Настройка CAN 0 / CAN 1 / CAN 2 открывает мастер, который проводит по всей цепочке — от выбора режима до записи параметров в теги.
Что настраивается для каждой шины
Заголовок раздела «Что настраивается для каждой шины»Прибор может иметь до трёх CAN-портов (CAN 0, CAN 1, CAN 2 — набор зависит от модели). У каждого свои параметры:
| Поле | Что задаёт |
|---|---|
| Режим | как прибор работает с шиной (таблица ниже) |
| Скорость шины | Авто, 50000, 83333, 100000, 125000, 250000, 500000 или 1000000 бит/с |
| Таймаут | сколько миллисекунд ждать сообщения, прежде чем считать данные устаревшими; по умолчанию 2000 |
| Не сбрасывать данные | оставить последние принятые значения в тегах после истечения таймаута, а не обнулять их |
| Активный режим | прибор выставляет бит подтверждения (ACK) в шине. Включайте, если пассивно шина не читается — например, разъём OBD-II заведён на отдельный узел, а не на ствол шины |
Скорость Авто означает, что прибор сам перебирает поддерживаемые скорости и фиксирует ту, на которой пошёл обмен. Автоопределение доступно не на всех моделях: на приборах с урезанной аппаратной конфигурацией скорость задаётся явно в диапазоне 10000…1000000 бит/с.
В мастере предлагаются четыре сценария: Из базы ТС (рекомендуется), J1979 (OBD II), J1939 (SPN) и Произвольный фильтр. Под ними лежат режимы прошивки:
| Режим | Номер для CANREGIME | Назначение |
|---|---|---|
| Отключён | 0 | CAN-порт не используется |
| FMS | 2 | стандартный фильтр J1939/FMS, разбор без настройки. Устаревший режим |
| Произвольный фильтр | 3 | приём всех сообщений шины, разбор байтов вручную или по базе ТС |
| J1979 (OBD II), стандартный фильтр, 29 бит | 5 | запрос-ответ по OBD-II, 29-битные идентификаторы |
| J1979 (OBD II), стандартный фильтр, 11 бит | 6 | то же, 11-битные идентификаторы |
| J1979, пользовательский фильтр, 29 бит | 8 | OBD-II с пользовательским набором PID |
| J1979, пользовательский фильтр, 11 бит | 9 | то же, 11 бит |
| EasyLogic | 11 | шина отдаётся алгоритму EasyLogic, разбор внутри алгоритма |
| J1939DA | 14 | автоматический разбор параметров по SPN из справочника J1939DA |
Во вкладке Устройство текущее состояние видно как Режим CAN и Скорость для CAN 0 и CAN 1.
Стандартный фильтр протокола J1939. Если производитель ТС поддерживает FMS (чаще всего это большегрузная и сельхозтехника), прибор считывает и расшифровывает набор параметров без какой-либо ручной настройки:
- общий расход топлива с момента выпуска ТС;
- уровень топлива в баке, %;
- температура охлаждающей жидкости;
- обороты двигателя;
- общий пробег;
- моточасы;
- нагрузка на оси.
Многие производители поддерживают FMS частично либо не поддерживают вовсе. Режим помечен как устаревший: для новой установки предпочтительнее база ТС или J1939DA.
Произвольный фильтр
Заголовок раздела «Произвольный фильтр»Приём всего потока сообщений шины, чтобы найти нужные байты самостоятельно или подставить готовый разбор из базы ТС. Это рабочий режим и для поиска параметров, и для базы транспортных средств. Поддерживаются 11- и 29-битные идентификаторы.
J1979 (OBD-II)
Заголовок раздела «J1979 (OBD-II)»Режим «запрос — ответ»: прибор отправляет запросы в CAN-шину и разбирает ответы. Подключение — только через диагностический разъём OBD-II или напрямую к шине; бесконтактные считыватели не подходят.
Прибор получает уровень топлива в баке, температуру охлаждающей жидкости, обороты двигателя, коды ошибок, показания датчика массового расхода воздуха, статус датчика неисправности двигателя и поддерживаемый ТС стандарт OBD. Часть этих данных видна во вкладке Диагностика, часть можно передать на сервер мониторинга.
Отправка запросов по J1979 на транспортном средстве, которое этот протокол не поддерживает, может привести к неполадкам в работе бортового оборудования. Включайте режим осознанно.
EasyLogic
Заголовок раздела «EasyLogic»Инициализация шины передаётся алгоритму EasyLogic: приём и разбор сообщений происходят внутри алгоритма. Этот режим нужен, например, для приёма активных кодов диагностики J1939 и для воспроизведения записанного лога в шину.
Инициализировать приём с шины следует только в одном алгоритме. Параллельно работать с одной шиной может несколько алгоритмов: у каждого свои фильтры сообщений и свой буфер — но инициализация должна быть одна.
J1939DA
Заголовок раздела «J1939DA»Автоматический разбор параметров по номерам SPN из справочника J1939DA. Режим доступен не на всех приборах: требуется поддержка файлового хранилища (microSD или eMMC) в прошивке. Если в конфигурации прибора нет раздела Протокол J1939DA, эта прошивка режим не содержит.
Настройка командами
Заголовок раздела «Настройка командами»Те же параметры задаются одной командой — это основной способ при удалённом конфигурировании через SMS или ПО мониторинга.
CANREGIME Mode,BaudRate,TimeOut,DoNotCleanAfterTimeOutMode— номер режима из таблицы выше;BaudRate— скорость в бит/с; 0 включает автоопределение (на приборах с урезанной аппаратной конфигурацией допустимый диапазон 10000…1000000 и автоопределения нет);TimeOut— таймаут ожидания сообщения, мс (0…100000);DoNotCleanAfterTimeOut— 0 или 1.
Для второго и третьего портов используются CAN1REGIME и CAN2REGIME.
Примеры:
CANREGIME 2,500000,3000,0 FMS, 500 кбит/сCANREGIME 3,500000,3000,0 произвольный фильтр, 500 кбит/сCANREGIME 5,500000,2000,0 J1979, 29 бит, 500 кбит/сCANREGIME 5,0,2000,0 J1979, 29 бит, скорость автоCANREGIME 6,0,2000,0 J1979, 11 бит, скорость автоАктивный режим включается отдельной командой:
ACTIVECAN 1Передача полученных данных на сервер
Заголовок раздела «Передача полученных данных на сервер»Разобранные значения кладутся в теги протокола, а теги отмечаются для передачи в разделе Протокол конфигурации прибора: отметьте нужный тег в столбце основного пакета и примените настройки.
Имена тегов CAN и их количество:
| Группа тегов | Диапазон | Размер значения |
|---|---|---|
CAN_A0, CAN_A1, CAN_B0, CAN_B1 | 4 тега | служебные группы FMS |
CAN8BITR0 … CAN8BITR30 | 31 тег | 1 байт |
CAN16BITR0 … CAN16BITR14 | 15 тегов | 2 байта |
CAN32BITR0 … CAN32BITR14 | 15 тегов | 4 байта |
CAN8BITR31использовать нельзя. В прошивке 48.28 проверка номера тега пропускает 31, тогда как массив фильтров рассчитан на номера 0…30, — запись уходит за границу массива. Последний допустимый тег —CAN8BITR30.
Отметить тег в основном пакете можно и командой: MainPackBit N,1, где N —
номер бита тега в протоколе Galileosky. Соответствие такое: CAN_A0…CAN_B1 —
биты 33…36; CAN8BITR0…CAN8BITR14 — биты 37…51, CAN8BITR15…CAN8BITR30 —
биты 129…144; CAN16BITR0…CAN16BITR4 — биты 55…59, CAN16BITR5…CAN16BITR14 —
биты 145…154; CAN32BITR0…CAN32BITR4 — биты 60…64, CAN32BITR5…CAN32BITR14 —
биты 161…170.
Проверка
Заголовок раздела «Проверка»- Во вкладке Диагностика включите канал CAN (детальный поток — CAN детально) и убедитесь, что сообщения идут.
- Во вкладке Устройство проверьте, что Режим CAN и Скорость соответствуют заданным.
- Если сообщений нет — пройдите по списку «Если шина молчит»: чаще всего дело в неверной скорости или в том, что разъём OBD-II заведён не на ствол шины.
См. также: Подключение прибора к CAN-шине · Поиск параметров в CAN-шине · База транспортных средств и CAN bot