Внешние CAN-модули: CAN-LOG, SEO CANlog, DTA-CAN
Статья о внешнем модуле-считывателе, который подключается к CAN-шине вместо прибора. Если вам нужна запись CAN-трафика самим прибором и её воспроизведение — это соседняя статья «Запись лога CAN».
Внешний CAN-модуль сам подключается к CAN-шине машины, разбирает её и отдаёт
готовые параметры прибору по последовательному порту. Прибор принимает их
алгоритмом Easy Logic и раскладывает по тегам CAN_* протокола Galileosky.
Поддерживаются три семейства модулей:
- CAN-LOG (протокол 4.0) — легковой и грузовой транспорт;
- SEO CANlog — модели
U245_59_10_235910xx,U245_59_20_235920xx,U245_59_30_235930xx,U245_59_40_235940xx,U445_79_40_337940xx; сельхозтехника, комбайны; - Duotec DTA-CAN — легковой, грузовой транспорт, сельхоз- и коммунальная техника.
Проверьте, что ваше ПО мониторинга умеет принимать и разбирать теги
CAN_*. Если нет — обработчик протокола на сервере придётся дописывать самостоятельно.
Применимость
Заголовок раздела «Применимость»| Модуль | Порт | 10 | 7x | 7x Lite | XS |
|---|---|---|---|---|---|
| CAN-LOG 4.0 | RS-485 через переходник UART ↔ RS-485 | да | да | да | ? |
| CAN-LOG 4.0 | RS-232[0] / RS-232[1] | да | да | нет | нет |
| SEO CANlog | RS-485 через переходник UART ↔ RS-485 | да | да | да | ? |
| SEO CANlog | RS-232[0] / RS-232[1] | да | да | нет | нет |
| Duotec DTA-CAN | RS-485 напрямую | да | да | да | ? |
| Duotec DTA-CAN | RS-232 через переходник RS-485 ↔ RS-232 | да | да | нет | нет |
RS-232 (HAS_RS232) в прошивке 48.28 есть только у 10 и полноразмерного 7x;
у 7x Lite и XS его нет.
Подключение
Заголовок раздела «Подключение»Общее для всех трёх модулей: земли (GND) прибора и модуля должны быть соединены, питание на модуль подаётся отдельно.
CAN-LOG 4.0 по RS-485
Заголовок раздела «CAN-LOG 4.0 по RS-485»Нужен переходник UART ↔ RS-485.

Соединение прямое: RS485A переходника — RS485A прибора, RS485B — RS485B.
Питание на конвертер подаётся отдельно.
CAN-LOG 4.0 по RS-232
Заголовок раздела «CAN-LOG 4.0 по RS-232»
Соединение перекрёстное: TX прибора — RX CAN-LOG, RX прибора — TX
CAN-LOG.
SEO CANlog — подключение
Заголовок раздела «SEO CANlog — подключение»

По RS-232 — перекрёстно, по RS-485 — через переходник UART ↔ RS-485, прямо.
Duotec DTA-CAN
Заголовок раздела «Duotec DTA-CAN»

Обмен с DTA-CAN идёт по протоколу DTA-CAN поверх RS-485. К RS-485 прибора устройство подключается напрямую; для подключения к RS-232 прибора нужен переходник RS-485 ↔ RS-232, включённый в интерфейс RS-485 самого DTA-CAN. Со стороны RS-232 соединение перекрёстное.
Настройка прибора
Заголовок раздела «Настройка прибора»-
Тип периферии порта.
Модуль RS-485 RS-232 CAN-LOG 4.0 Отключен ( RS485FN 5)Нет ( RS2320 0/RS2321 0)SEO CANlog Отключен ( RS485FN 5)Нет Duotec DTA-CAN Фотокамера Galileosky и ДУТ ( RS485FN 2), Только обработчики RS485 в Easy Logic (RS485FN 4) или Обработчик фотокамеры в Easy Logic и ДУТ (RS485FN 7)Нет ⚙ Тип периферии RS-232 ⚙ Тип периферии RS-485
Распиновка, скорости и правила подключения портов — в статье «Последовательные порты RS-232 и RS-485».
-
CAN-сканер. Встроенный разбор CAN нужно выключить, иначе он будет перетирать теги, которые пишет алгоритм.
- CAN-LOG 4.0 и SEO CANlog — Тип фильтра: CAN отключен;
- DTA-CAN — на вкладках
CAN0иCAN1Тип фильтра: CAN отключен или Easy Logic, и обязательно отметить Не обнулять данные.
⚙ CAN-сканер
-
Освободите порт. Удалите алгоритмы, которые уже используют выбранный порт:
CLEARSCRIPT -
Проверьте связь. Алгоритм скачивается с ресурсов Galileosky — нужен рабочий GPRS или Wi-Fi.
-
Загрузите алгоритм.
CAN-LOG 4.0:
SCRIPT galileosky/can_log_40_485 # RS-485SCRIPT galileosky/can_log_40_232 # RS-232[0]SCRIPT galileosky/can_log_40_232_1 # RS-232[1]SEO CANlog:
Язык диагностики RS-232[0] RS-232[1] RS-485 Русский SCRIPT galileosky/seocanlogarp0ruSCRIPT galileosky/seocanlogarp1ruSCRIPT galileosky/seocanlogarp2ruАнглийский SCRIPT galileosky/seocanlogarp0enSCRIPT galileosky/seocanlogarp1enSCRIPT galileosky/seocanlogarp2enDuotec DTA-CAN:
Язык диагностики RS-232[0] RS-232[1] RS-485 Русский SCRIPT galileosky/dtacanarp0ruSCRIPT galileosky/dtacanarp1ruSCRIPT galileosky/dtacanarp2ruАнглийский SCRIPT galileosky/dtacanarp0enSCRIPT galileosky/dtacanarp1enSCRIPT galileosky/dtacanarp2en⚙ Консоль команд
-
Дождитесь загрузки. На медленном канале — до 20 минут. Имя алгоритма появится в идентификационных данных прибора.
⚙ Устройство
При локальном подключении алгоритм можно залить бинарным файлом.
⚙ Загрузка бинарника Easy Logic
-
Перезагрузите прибор (
RESET). Без перезагрузки порт может не инициализироваться. -
Проверьте данные — поля
CANна вкладке «Устройство» должны заполниться.
Передача данных на сервер
Заголовок раздела «Передача данных на сервер»Отметьте нужные теги в основном пакете секции «Протокол».
⚙ Основной пакет
Как работает алгоритм
Заголовок раздела «Как работает алгоритм»После старта алгоритм инициализирует порт, обнуляет все используемые теги и
переходит в цикл приёма. SEO CANlog и DTA-CAN шлют данные автоматически;
дополнительные параметры алгоритм запрашивает сам. Принятые данные пишутся в
теги, ошибки уходят в диагностику. Если данных от устройства нет 10 секунд,
теги CAN8BITR0, CAN_A1 и CAN8BITR2 снова обнуляются.
Теги CAN-LOG 4.0
Заголовок раздела «Теги CAN-LOG 4.0»Базовый набор (протокол 4.0):
| Тег | Параметр |
|---|---|
CAN_A1 | байт 4 — уровень топлива; байт 3 — температура охлаждающей жидкости; байты 1–2 — обороты двигателя |
CAN_B0 | пробег, беззнаковое целое, × 5 |
CAN8BITR0 | скорость, ÷ 2 |
CAN8BITR1, CAN8BITR2, CAN8BITR3 | второй, первый и младший байты префикса S |
CAN8BITR4…CAN8BITR7 | третий, второй, первый и младший байты префикса P |
Полный набор:
| Тег | Параметр | Пересчёт |
|---|---|---|
CAN_A0 | Топливо, израсходованное с момента выпуска машины, л | ÷ 2 |
CAN_A1 | Уровень топлива / температура ОЖ / обороты | см. выше |
CAN_B0 | Пробег автомобиля | × 5 |
CAN_B1 | Общий расход топлива | × 0,05 |
CAN8BITR0 | Скорость | ÷ 2 |
CAN16BITR0…CAN16BITR4 | Нагрузка на 1…5 ось, кг | ÷ 2 |
CAN32BITR0 | Полное время работы двигателя | ÷ 100 |
CAN32BITR1 | Уровень топлива, л | ÷ 10 |
CAN32BITR2 | Время сбора урожая, мин | — |
CAN32BITR3 | Убранная площадь, га | ÷ 10 000 |
CAN32BITR4 | Эффективность скашивания, га/ч | ÷ 100 000 |
CAN32BITR5 | Количество убранного зерна, кг | — |
CAN32BITR6 | Пробег до очередного ТО, км | — |
CAN32BITR7 | Превышение пробега до ТО, км | — |
CAN32BITR8 | Пробег после ТО, км | — |
CAN8BITR15 | Положение педали акселератора, % | × 0,4 |
CAN8BITR16 | Нагрузка на двигатель, % | — |
CAN8BITR17 | Обороты молотильного барабана, об/мин | — |
CAN8BITR18 | Зазор подбарабанья, мм | — |
CAN8BITR19 | Нагрузка ретардера, % | — |
CAN8BITR20 | Температура наружного воздуха, °C | — |
CAN16BITR5 | Влажность зерна, % | ÷ 10 |
CAN16BITR6 | Мгновенный расход топлива, л/ч | × 0,05 |
CAN16BITR7 | Уровень AdBlue, % | × 0,1 |
CAN16BITR8 | Уровень AdBlue, л | × 0,1 |
Теги SEO CANlog
Заголовок раздела «Теги SEO CANlog»| Тег | Параметр | Ед. | Пересчёт |
|---|---|---|---|
CAN_A0 | Топливо с момента выпуска машины | л | ÷ 2 |
CAN_A1 байт 3 | Уровень топлива | % | × 0,4 |
CAN_A1 байт 2 | Температура охлаждающей жидкости | °C | − 40 |
CAN_A1 байты 0–1 | Обороты двигателя | об/мин | × 0,125 |
CAN_B0 | Пробег | м | × 5 |
CAN_B1 | Топливо с момента сброса счётчика | л | × 0,05 |
CAN8BITR0 | Скорость | км/ч | — |
CAN8BITR15 | Положение педали акселератора | % | × 0,4 |
CAN8BITR16 | Нагрузка на двигатель | % | − 125 |
CAN8BITR18 | Зазор подбарабанья | мм | — |
CAN8BITR19 | Нагрузка ретардера | % | − 125 |
CAN8BITR20 | Температура наружного воздуха | °C | − 60 |
CAN16BITR0…CAN16BITR4 | Нагрузка на 1…5 ось | кг | ÷ 2 |
CAN16BITR5 | Влажность зерна | % | ÷ 10 |
CAN16BITR7 | Уровень AdBlue | % | × 0,1 |
CAN16BITR8 | Уровень AdBlue | л | × 0,1 |
CAN32BITR0 | Полное время работы двигателя | ч | ÷ 100 |
CAN32BITR1 | Уровень топлива | л | ÷ 10 |
CAN32BITR2 | Время сбора урожая | мин | — |
CAN32BITR3 | Убранная площадь | га | ÷ 10 000 |
CAN32BITR4 | Эффективность скашивания | га/ч | ÷ 1 000 000 |
CAN32BITR5 | Количество убранного зерна | кг | — |
CAN32BITR6 | Пробег до очередного ТО | км | — |
CAN32BITR7 | Превышение пробега до ТО | км | — |
CAN32BITR8 | Пробег после ТО | км | — |
CAN32BITR10 | Обороты молотильного барабана | об/мин | — |
Теги DTA-CAN
Заголовок раздела «Теги DTA-CAN»| Тег | Параметр | Ед. | Пересчёт |
|---|---|---|---|
CAN_A0 | Топливо с момента выпуска машины | л | ÷ 2 |
CAN_A1 байт 3 | Уровень топлива | % | × 0,4 |
CAN_A1 байт 2 | Температура охлаждающей жидкости | °C | − 40 |
CAN_A1 байты 0–1 | Обороты двигателя | об/мин | × 0,125 |
CAN_B0 | Пробег | м | × 5 |
CAN8BITR0 | Скорость | км/ч | — |
CAN8BITR16 | Нагрузка на двигатель | % | — |
CAN8BITR17 | Положение педали акселератора | % | — |
CAN16BITR0…CAN16BITR4 | Нагрузка на 1…5 ось | кг | ÷ 2 |
CAN16BITR7 | Уровень AdBlue | % | × 0,1 |
CAN16BITR8 | Уровень AdBlue | л | × 0,1 |
CAN32BITR0 | Полное время работы двигателя | ч | ÷ 100 |
CAN32BITR1 | Уровень топлива | л | ÷ 10 |
CAN32BITR9 | Номер установленной программы CAN-модуля | — | — |
Префикс S — флаги состояния безопасности
Заголовок раздела «Префикс S — флаги состояния безопасности»Строковый протокол CAN-LOG отдаёт эти флаги строкой вида S1B2F02; в протоколе
Galileosky каждый байт едет отдельным однобайтным тегом, и сервер разбирает их
по битам.
Пример: S1B2F02 = теги со значениями 1B, 2F, 02, то есть
1B=0001 1011— динамическое зажигание, ключ в замке, штатная сигнализация активирована, зажигание включено;2F=0010 1111— нажат ножной тормоз, открыты капот, багажник, двери водителя и пассажира;02=0000 0010— автомобиль открыт со штатного брелока.
CAN8BITR1 — второй байт префикса S
Заголовок раздела «CAN8BITR1 — второй байт префикса S»| Бит | SEO CANlog | DTA-CAN |
|---|---|---|
| 0 | зажигание включено | зажигание включено |
| 1 | заводская сигнализация активирована | заводская сигнализация активирована |
| 2 | автомобиль закрыт штатным брелоком | автомобиль закрыт штатным брелоком |
| 3 | ключ в замке зажигания | ключ в замке зажигания |
| 4 | зарезервировано | динамическое освещение |
| 5 | зарезервировано | открыта дверь переднего пассажира |
| 6 | зарезервировано | открыта задняя дверь |
| 7 | зарезервировано | зарезервировано |
CAN8BITR2 — первый байт префикса S
Заголовок раздела «CAN8BITR2 — первый байт префикса S»| Бит | Событие |
|---|---|
| 0 | передняя левая (водительская) дверь открыта |
| 1 | открыты двери пассажиров |
| 2 | открыт багажник |
| 3 | открыт капот |
| 4 | ручной тормоз задействован |
| 5 | нажат ножной тормоз |
| 6 | двигатель работает |
| 7 | Webasto включён |
CAN8BITR3 — младший байт префикса S
Заголовок раздела «CAN8BITR3 — младший байт префикса S»| Бит | SEO CANlog | DTA-CAN |
|---|---|---|
| 0 | отправлен сигнал закрытия с заводского пульта | то же |
| 1 | отправлен сигнал открытия с заводского пульта | то же |
| 2 | багажник открыт штатным пультом | то же |
| 3 | переход в режим sleep mode | модуль отправил сигнал защиты о переустановке |
| 4…7 | зарезервировано | бит 6 — переход в sleep mode; биты 4, 5, 7 зарезервированы |
Префикс P — флаги контрольных ламп
Заголовок раздела «Префикс P — флаги контрольных ламп»CAN8BITR4 — старший байт префикса P
Заголовок раздела «CAN8BITR4 — старший байт префикса P»| Бит | Индикатор |
|---|---|
| 0 | STOP (остановка) |
| 1 | давление / уровень масла |
| 2 | температура / уровень охлаждающей жидкости |
| 3 | система стояночного тормоза |
| 4 | отсутствие зарядки аккумуляторной батареи |
| 5 | AIRBAG |
| 6, 7 | зарезервировано |
CAN8BITR5 — второй байт префикса P
Заголовок раздела «CAN8BITR5 — второй байт префикса P»| Бит | Индикатор |
|---|---|
| 0 | Check Engine (MIL) |
| 1 | неисправность внешних световых приборов |
| 2 | низкое давление в шинах |
| 3 | износ тормозных колодок |
| 4 | предупреждение |
| 5 | ABS |
| 6 | низкий уровень топлива |
| 7 | наступление времени ТО |
CAN8BITR6 — первый байт префикса P
Заголовок раздела «CAN8BITR6 — первый байт префикса P»| Бит | Индикатор |
|---|---|
| 0 | ESP |
| 1 | свечи накаливания |
| 2 | FAP (сажевый фильтр) |
| 3 | EPC (электронный контроль мощности) |
| 4 | парковочные огни |
| 5 | фары ближнего света |
| 6 | фары дальнего света |
| 7 | зарезервировано |
CAN8BITR7 — младший байт префикса P
Заголовок раздела «CAN8BITR7 — младший байт префикса P»| Бит | Индикатор |
|---|---|
| 0…5 | зарезервировано |
| 6 | передний ремень безопасности пассажира не пристёгнут |
| 7 | ремень безопасности водителя не пристёгнут |
Префикс WA — сельхоз- и коммунальная техника (только DTA-CAN)
Заголовок раздела «Префикс WA — сельхоз- и коммунальная техника (только DTA-CAN)»CAN8BITR8 — первый байт префикса WA
Заголовок раздела «CAN8BITR8 — первый байт префикса WA»| Бит | Событие |
|---|---|
| 0 | включён молотильный барабан |
| 1 | включена разгрузочная труба |
| 2 | включена гидравлика |
| 3 | включён силовой блок отбора мощности |
| 4…7 | зарезервировано |
CAN8BITR9 — второй байт префикса WA
Заголовок раздела «CAN8BITR9 — второй байт префикса WA»| Бит | Событие |
|---|---|
| 0 | чрезмерный люфт под молотильным барабаном |
| 1 | открыт вход в зерновой бункер |
| 2 | зерновой бункер заполнен на 100 % |
| 3 | зерновой силос заполнен на 70 % |
| 4 | забит фильтр гидравлического масла |
| 5 | низкое давление масла в гидросистеме |
| 6 | низкий уровень гидравлического масла |
| 7 | забит фильтр гидравлических тормозов |
CAN8BITR10 — третий байт префикса WA
Заголовок раздела «CAN8BITR10 — третий байт префикса WA»| Бит | Событие |
|---|---|
| 0 | забит масляный фильтр двигателя |
| 1 | забит топливный фильтр |
| 2 | забит воздушный фильтр |
| 3 | аварийная температура масла в гидроподвеске |
| 4 | аварийная температура масла в гидроцилиндрах |
| 5 | аварийное давление масла в двигателе |
| 6 | аварийный уровень охлаждающей жидкости |
| 7 | перелив секции гидроблока |
CAN8BITR11 — четвёртый байт префикса WA
Заголовок раздела «CAN8BITR11 — четвёртый байт префикса WA»| Бит | Событие |
|---|---|
| 0 | включён выгрузной шнек при сложенной разгрузочной трубе |
| 1 | нет оператора |
| 2 | забивание соломотряса |
| 3 | наличие воды в топливе |
| 4 | скорость вентилятора очистки |
| 5 | скорость барабана |
| 6, 7 | зарезервировано |
Нумерация битов в этой таблице восстановлена по порядку строк: в донорской документации все шесть строк подписаны «Бит 0». Смысл битов задаёт алгоритм вендора, в прошивке его нет, сверить не с чем — уточните раскладку у Duotec, если разбираете этот байт на сервере.
CAN8BITR12 — пятый байт префикса WA
Заголовок раздела «CAN8BITR12 — пятый байт префикса WA»| Бит | Событие |
|---|---|
| 0 | зарезервировано |
| 1 | низкий уровень воды в баке |
| 2 | включена задняя гидравлика |
| 3 | автономный двигатель запущен |
| 4 | джойстик вправо |
| 5 | джойстик влево |
| 6 | джойстик вперёд |
| 7 | джойстик назад |
CAN8BITR13 — шестой байт префикса WA
Заголовок раздела «CAN8BITR13 — шестой байт префикса WA»| Бит | Событие |
|---|---|
| 0 | щётка включена |
| 1 | подача воды включена |
| 2 | пылесосы |
| 3 | разгрузка бункера |
| 4 | мойка высокого давления |
| 5 | рассеивание соли (песка) включено |
| 6 | низкий уровень соли (песка) в баке |
| 7 | зарезервировано |
Команда изменения режима диагностики
Заголовок раздела «Команда изменения режима диагностики»Есть у алгоритмов SEO CANlog и DTA-CAN:
ADIAG <m>m: 0 — обычный режим, 1 — расширенный. Ответ: a.diag=<m>.
Расширенный режим нужен только для поиска неисправностей и должен выключаться сразу после — он занимает ресурсы прибора. При запуске алгоритма включается обычный режим.
Диагностика
Заголовок раздела «Диагностика»Сообщения видны при включённом канале Диагностика алгоритмов и скриптов.
⚙ Каналы диагностики
SEO CANlog — диагностика
Заголовок раздела «SEO CANlog — диагностика»| Сообщение | Что означает |
|---|---|
p%di! | порт инициализирован успешно |
p%di? | ошибка инициализации порта: не хватает памяти, прибор не перезагружен после загрузки алгоритма (рядом будет Port Initialization error) либо предупреждение об устаревшей прошивке |
store 0x%X? | ошибка сохранения данных от устройства — возможно, изменился протокол |
er=%d | ошибка обмена: −1 нет связи, −2 ошибка передачи данных; детали — в предшествующих сообщениях расширенной диагностики |
No data %d s | нет данных за указанное время |
Полное время работы двигателя: %d с | пример принятого параметра |
Расширенная: seoCanLogH — вызов основного обработчика, seoCanLog_sM —
отправка запроса устройству.
DTA-CAN
Заголовок раздела «DTA-CAN»| Сообщение | Что означает |
|---|---|
порт %d инициализирован! | порт инициализирован успешно |
порт %d инициализирован? | ошибка инициализации порта — см. описание выше |
сохранение? | ошибка сохранения данных от устройства |
ошибка=%d | ошибка обмена: −1 нет связи, −2 ошибка передачи |
Нет данных %d с | нет данных за указанное время |
Полное время работы двигателя: %d ч | пример принятого параметра |
Расширенная: dtacanGcD — запрос текущих данных, dtacan_eT — транзакция с
устройством, dtacan_sM — отправка запроса.
Пример разбора на сервере
Заголовок раздела «Пример разбора на сервере»Фрагмент данных с сервера Wialon:
| Тег сервера | Значение | Тег Galileosky | Интерпретация |
|---|---|---|---|
can_a0 | 1763379 | CAN_A0 | израсходовано 881 689,5 л |
can_a1 | 446229483 = 0x1A98EBEB | CAN_A1 байт 3 = 0xEB = 235 | уровень топлива 235 × 0,4 = 94 % |
CAN_A1 байт 2 = 0xEB = 235 | температура ОЖ 235 − 40 = 195 °C | ||
CAN_A1 байты 1, 0 = 0x1A98 = 6808 | обороты 6808 × 0,125 = 851 об/мин | ||
can_b0 | 36212644 | CAN_B0 | пробег 36212644 × 5 = 181 063 220 м |
can_b1 | 17633781 | CAN_B1 | израсходовано с момента сброса 17633781 × 0,05 = 881 689,05 л |
can_r0 | 50 | CAN8BITR0 | скорость 50 км/ч |
can_r1 | 9 | CAN8BITR1 | 0000 1001 — ключ в замке, зажигание включено |
can_r2 | 66 | CAN8BITR2 | 0100 0010 — двигатель работает, открыта дверь пассажира |
can_r3 | 0 | CAN8BITR3 | событий нет |
Отдельные теги (fuel_level, temp_aqua, taho) сервер отдаёт уже
пересчитанными — двойной пересчёт применять не нужно.
Что не переносится в conf6
Заголовок раздела «Что не переносится в conf6»- Раздел про Galileosky 5.0 и алгоритм
can_log_40_232GS50— приборы 5.0 вне области поддержки этой справки. - Скриншоты конфигуратора 5 и окна Wialon заменены ссылками
go://и текстом.
См. также: Последовательные порты RS-232 и RS-485 · Запись лога CAN и воспроизведение · Поиск параметров в CAN-шине · Тахографы · Передача данных на сервер · Вкладка «Терминал»