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

Внешние 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_*. Если нет — обработчик протокола на сервере придётся дописывать самостоятельно.

МодульПорт107x7x LiteXS
CAN-LOG 4.0RS-485 через переходник UART ↔ RS-485дадада?
CAN-LOG 4.0RS-232[0] / RS-232[1]даданетнет
SEO CANlogRS-485 через переходник UART ↔ RS-485дадада?
SEO CANlogRS-232[0] / RS-232[1]даданетнет
Duotec DTA-CANRS-485 напрямуюдадада?
Duotec DTA-CANRS-232 через переходник RS-485 ↔ RS-232даданетнет

RS-232 (HAS_RS232) в прошивке 48.28 есть только у 10 и полноразмерного 7x; у 7x Lite и XS его нет.

Общее для всех трёх модулей: земли (GND) прибора и модуля должны быть соединены, питание на модуль подаётся отдельно.

Нужен переходник UART ↔ RS-485.

Схема подключения CAN-LOG по RS-485

Соединение прямое: RS485A переходника — RS485A прибора, RS485BRS485B. Питание на конвертер подаётся отдельно.

Схема подключения CAN-LOG по RS-232

Соединение перекрёстное: TX прибора — RX CAN-LOG, RX прибора — TX CAN-LOG.

Схема подключения SEO CANlog по RS-232 Схема подключения SEO CANlog по RS-485

По RS-232 — перекрёстно, по RS-485 — через переходник UART ↔ RS-485, прямо.

Схема подключения DTA-CAN по RS-232 через переходник Схема подключения DTA-CAN по RS-485

Обмен с DTA-CAN идёт по протоколу DTA-CAN поверх RS-485. К RS-485 прибора устройство подключается напрямую; для подключения к RS-232 прибора нужен переходник RS-485 ↔ RS-232, включённый в интерфейс RS-485 самого DTA-CAN. Со стороны RS-232 соединение перекрёстное.

  1. Тип периферии порта.

    МодульRS-485RS-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».

  2. CAN-сканер. Встроенный разбор CAN нужно выключить, иначе он будет перетирать теги, которые пишет алгоритм.

    • CAN-LOG 4.0 и SEO CANlog — Тип фильтра: CAN отключен;
    • DTA-CAN — на вкладках CAN0 и CAN1 Тип фильтра: CAN отключен или Easy Logic, и обязательно отметить Не обнулять данные.

    ⚙ CAN-сканер

  3. Освободите порт. Удалите алгоритмы, которые уже используют выбранный порт:

    CLEARSCRIPT
  4. Проверьте связь. Алгоритм скачивается с ресурсов Galileosky — нужен рабочий GPRS или Wi-Fi.

  5. Загрузите алгоритм.

    CAN-LOG 4.0:

    SCRIPT galileosky/can_log_40_485 # RS-485
    SCRIPT 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/seocanlogarp2en

    Duotec DTA-CAN:

    Язык диагностикиRS-232[0]RS-232[1]RS-485
    РусскийSCRIPT galileosky/dtacanarp0ruSCRIPT galileosky/dtacanarp1ruSCRIPT galileosky/dtacanarp2ru
    АнглийскийSCRIPT galileosky/dtacanarp0enSCRIPT galileosky/dtacanarp1enSCRIPT galileosky/dtacanarp2en

    ⚙ Консоль команд

  6. Дождитесь загрузки. На медленном канале — до 20 минут. Имя алгоритма появится в идентификационных данных прибора.

    ⚙ Устройство

    При локальном подключении алгоритм можно залить бинарным файлом.

    ⚙ Загрузка бинарника Easy Logic

  7. Перезагрузите прибор (RESET). Без перезагрузки порт может не инициализироваться.

  8. Проверьте данные — поля CAN на вкладке «Устройство» должны заполниться.

Отметьте нужные теги в основном пакете секции «Протокол».

⚙ Основной пакет

После старта алгоритм инициализирует порт, обнуляет все используемые теги и переходит в цикл приёма. SEO CANlog и DTA-CAN шлют данные автоматически; дополнительные параметры алгоритм запрашивает сам. Принятые данные пишутся в теги, ошибки уходят в диагностику. Если данных от устройства нет 10 секунд, теги CAN8BITR0, CAN_A1 и CAN8BITR2 снова обнуляются.

Базовый набор (протокол 4.0):

ТегПараметр
CAN_A1байт 4 — уровень топлива; байт 3 — температура охлаждающей жидкости; байты 1–2 — обороты двигателя
CAN_B0пробег, беззнаковое целое, × 5
CAN8BITR0скорость, ÷ 2
CAN8BITR1, CAN8BITR2, CAN8BITR3второй, первый и младший байты префикса S
CAN8BITR4CAN8BITR7третий, второй, первый и младший байты префикса P

Полный набор:

ТегПараметрПересчёт
CAN_A0Топливо, израсходованное с момента выпуска машины, л÷ 2
CAN_A1Уровень топлива / температура ОЖ / оборотысм. выше
CAN_B0Пробег автомобиля× 5
CAN_B1Общий расход топлива× 0,05
CAN8BITR0Скорость÷ 2
CAN16BITR0CAN16BITR4Нагрузка на 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
ТегПараметрЕд.Пересчёт
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
CAN16BITR0CAN16BITR4Нагрузка на 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Обороты молотильного барабанаоб/мин
ТегПараметрЕд.Пересчёт
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Положение педали акселератора%
CAN16BITR0CAN16BITR4Нагрузка на 1…5 оськг÷ 2
CAN16BITR7Уровень AdBlue%× 0,1
CAN16BITR8Уровень AdBlueл× 0,1
CAN32BITR0Полное время работы двигателяч÷ 100
CAN32BITR1Уровень топливал÷ 10
CAN32BITR9Номер установленной программы CAN-модуля

Строковый протокол CAN-LOG отдаёт эти флаги строкой вида S1B2F02; в протоколе Galileosky каждый байт едет отдельным однобайтным тегом, и сервер разбирает их по битам.

Пример: S1B2F02 = теги со значениями 1B, 2F, 02, то есть

  • 1B = 0001 1011 — динамическое зажигание, ключ в замке, штатная сигнализация активирована, зажигание включено;
  • 2F = 0010 1111 — нажат ножной тормоз, открыты капот, багажник, двери водителя и пассажира;
  • 02 = 0000 0010 — автомобиль открыт со штатного брелока.
БитSEO CANlogDTA-CAN
0зажигание включенозажигание включено
1заводская сигнализация активированазаводская сигнализация активирована
2автомобиль закрыт штатным брелокомавтомобиль закрыт штатным брелоком
3ключ в замке зажиганияключ в замке зажигания
4зарезервированодинамическое освещение
5зарезервированооткрыта дверь переднего пассажира
6зарезервированооткрыта задняя дверь
7зарезервированозарезервировано
БитСобытие
0передняя левая (водительская) дверь открыта
1открыты двери пассажиров
2открыт багажник
3открыт капот
4ручной тормоз задействован
5нажат ножной тормоз
6двигатель работает
7Webasto включён
БитSEO CANlogDTA-CAN
0отправлен сигнал закрытия с заводского пультато же
1отправлен сигнал открытия с заводского пультато же
2багажник открыт штатным пультомто же
3переход в режим sleep modeмодуль отправил сигнал защиты о переустановке
4…7зарезервированобит 6 — переход в sleep mode; биты 4, 5, 7 зарезервированы
БитИндикатор
0STOP (остановка)
1давление / уровень масла
2температура / уровень охлаждающей жидкости
3система стояночного тормоза
4отсутствие зарядки аккумуляторной батареи
5AIRBAG
6, 7зарезервировано
БитИндикатор
0Check Engine (MIL)
1неисправность внешних световых приборов
2низкое давление в шинах
3износ тормозных колодок
4предупреждение
5ABS
6низкий уровень топлива
7наступление времени ТО
БитИндикатор
0ESP
1свечи накаливания
2FAP (сажевый фильтр)
3EPC (электронный контроль мощности)
4парковочные огни
5фары ближнего света
6фары дальнего света
7зарезервировано
БитИндикатор
0…5зарезервировано
6передний ремень безопасности пассажира не пристёгнут
7ремень безопасности водителя не пристёгнут

Префикс WA — сельхоз- и коммунальная техника (только DTA-CAN)

Заголовок раздела «Префикс WA — сельхоз- и коммунальная техника (только DTA-CAN)»
БитСобытие
0включён молотильный барабан
1включена разгрузочная труба
2включена гидравлика
3включён силовой блок отбора мощности
4…7зарезервировано
БитСобытие
0чрезмерный люфт под молотильным барабаном
1открыт вход в зерновой бункер
2зерновой бункер заполнен на 100 %
3зерновой силос заполнен на 70 %
4забит фильтр гидравлического масла
5низкое давление масла в гидросистеме
6низкий уровень гидравлического масла
7забит фильтр гидравлических тормозов
БитСобытие
0забит масляный фильтр двигателя
1забит топливный фильтр
2забит воздушный фильтр
3аварийная температура масла в гидроподвеске
4аварийная температура масла в гидроцилиндрах
5аварийное давление масла в двигателе
6аварийный уровень охлаждающей жидкости
7перелив секции гидроблока
БитСобытие
0включён выгрузной шнек при сложенной разгрузочной трубе
1нет оператора
2забивание соломотряса
3наличие воды в топливе
4скорость вентилятора очистки
5скорость барабана
6, 7зарезервировано

Нумерация битов в этой таблице восстановлена по порядку строк: в донорской документации все шесть строк подписаны «Бит 0». Смысл битов задаёт алгоритм вендора, в прошивке его нет, сверить не с чем — уточните раскладку у Duotec, если разбираете этот байт на сервере.

БитСобытие
0зарезервировано
1низкий уровень воды в баке
2включена задняя гидравлика
3автономный двигатель запущен
4джойстик вправо
5джойстик влево
6джойстик вперёд
7джойстик назад
БитСобытие
0щётка включена
1подача воды включена
2пылесосы
3разгрузка бункера
4мойка высокого давления
5рассеивание соли (песка) включено
6низкий уровень соли (песка) в баке
7зарезервировано

Есть у алгоритмов SEO CANlog и DTA-CAN:

ADIAG <m>

m: 0 — обычный режим, 1 — расширенный. Ответ: a.diag=<m>.

Расширенный режим нужен только для поиска неисправностей и должен выключаться сразу после — он занимает ресурсы прибора. При запуске алгоритма включается обычный режим.

Сообщения видны при включённом канале Диагностика алгоритмов и скриптов.

⚙ Каналы диагностики

СообщениеЧто означает
p%di!порт инициализирован успешно
p%di?ошибка инициализации порта: не хватает памяти, прибор не перезагружен после загрузки алгоритма (рядом будет Port Initialization error) либо предупреждение об устаревшей прошивке
store 0x%X?ошибка сохранения данных от устройства — возможно, изменился протокол
er=%dошибка обмена: −1 нет связи, −2 ошибка передачи данных; детали — в предшествующих сообщениях расширенной диагностики
No data %d sнет данных за указанное время
Полное время работы двигателя: %d спример принятого параметра

Расширенная: seoCanLogH — вызов основного обработчика, seoCanLog_sM — отправка запроса устройству.

СообщениеЧто означает
порт %d инициализирован!порт инициализирован успешно
порт %d инициализирован?ошибка инициализации порта — см. описание выше
сохранение?ошибка сохранения данных от устройства
ошибка=%dошибка обмена: −1 нет связи, −2 ошибка передачи
Нет данных %d снет данных за указанное время
Полное время работы двигателя: %d чпример принятого параметра

Расширенная: dtacanGcD — запрос текущих данных, dtacan_eT — транзакция с устройством, dtacan_sM — отправка запроса.

Фрагмент данных с сервера Wialon:

Тег сервераЗначениеТег GalileoskyИнтерпретация
can_a01763379CAN_A0израсходовано 881 689,5 л
can_a1446229483 = 0x1A98EBEBCAN_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_b036212644CAN_B0пробег 36212644 × 5 = 181 063 220 м
can_b117633781CAN_B1израсходовано с момента сброса 17633781 × 0,05 = 881 689,05 л
can_r050CAN8BITR0скорость 50 км/ч
can_r19CAN8BITR10000 1001 — ключ в замке, зажигание включено
can_r266CAN8BITR20100 0010 — двигатель работает, открыта дверь пассажира
can_r30CAN8BITR3событий нет

Отдельные теги (fuel_level, temp_aqua, taho) сервер отдаёт уже пересчитанными — двойной пересчёт применять не нужно.

  • Раздел про Galileosky 5.0 и алгоритм can_log_40_232GS50 — приборы 5.0 вне области поддержки этой справки.
  • Скриншоты конфигуратора 5 и окна Wialon заменены ссылками go:// и текстом.

См. также: Последовательные порты RS-232 и RS-485 · Запись лога CAN и воспроизведение · Поиск параметров в CAN-шине · Тахографы · Передача данных на сервер · Вкладка «Терминал»