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

Запись лога CAN и воспроизведение

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

Запись живёт в мастере настройки CAN, на шаге поиска аналоговых параметров: раздел Сканер CANНастройка CANПоиск аналогов → ⚙ Открыть настройки CAN.

  1. Подключите прибор к ТС и к компьютеру по USB, задайте режим и скорость шины.
  2. Выберите Параметр — из каталога или своё название.
  3. Нажмите Начать запись.
  4. Выполняйте действия по рецепту (таблица ниже) и оставляйте комментарии в моменты, когда искомое состояние меняется: введите текст и нажмите Enter. Каждая метка попадает в лог со временем.
  5. Нажмите Стоп и сохранить.
  6. Приложение предложит выгрузить запись на сервер — Выгрузить или Пропустить. Если сети нет, запись сохранится локально и уйдёт при появлении связи.

Записей можно сделать несколько подряд («Записать ещё параметр») — все они уходят на сервер одним пакетом по кнопке Завершить.

Разбор аналоговых параметров выполняется на сервере, а не на приборе: приложение только пишет поток CAN и ваши метки. Результат приходит на указанный при первой выгрузке email.

Эти правила важнее любого отдельного рецепта:

  • Сфотографируйте приборную панель так, чтобы на ней были видны значения или состояния искомых параметров. Без фотографии разобрать лог намного труднее.
  • Минимизируйте посторонние изменения. Пока ищете один параметр, не открывайте двери, не нажимайте кнопки, не трогайте ничего лишнего: каждое действие добавляет в шину изменения, которые придётся отсеивать.
  • Фиксируйте время и порядок действий. Комментарии в записи — самый надёжный способ; если их не ставили, запишите последовательность и приблизительное время отдельно.
  • Фиксируйте количество повторений. Знание, что состояние менялось ровно 4 раза, резко сужает круг кандидатов.
  • Пишите отдельный лог на каждый параметр. Смешанная запись разбирается дольше, чем несколько коротких.

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

ПараметрЧто делать при записи
Уровень топлива в бакеЗафиксируйте текущий уровень. Начать запись → включить зажигание → начать заправку или слив → закончить заправку/слив → завести ТС (если возможно) → подождать 2 минуты → закончить запись. Разбейте заправку на итерации по 5 л и записывайте, сколько залили и сколько было заправок. Уровень может не меняться при выключенном зажигании.
Температура охлаждающей жидкостиЕсли температура ниже 30 °C — включите зажигание; если выше 60 °C — заведите двигатель. Начать запись → подождать 5 минут → запустить и заглушить двигатель при включённом зажигании → подождать 10 минут → закончить запись.
Обороты двигателяВключить зажигание → начать запись → 2 минуты → завести ТС → 3 минуты → заглушить, зажигание оставить включённым → 2 минуты → завести → поднять обороты до 2000–3000 → около 1 минуты → отпустить педаль → закончить запись.
Общий расход топливаЗаписывайте по 30 минут в день на протяжении 7 дней.
Моментальный расход топливаЗавести ТС → писать лог 1–2 минуты → заглушить. Повторить 3 раза. Затем поднять обороты до 2000–3000 и записать.
Общий расход / общий пробегЗаписать лог до поездки и после поездки длиной не менее 5–10 км, либо вести запись в течение поездки на 5 км.
МоточасыНачать запись до начала поездки → писать 2 минуты → закончить. Повторить 3 раза. Для каждого лога зафиксируйте показание моточасов.
Нагрузка на осиРазгрузить ТС → включить зажигание → начать запись → загружать ТС → закончить запись. По возможности грузите интервалами и фиксируйте, сколько загрузили (уровень или вес).
СкоростьВключить зажигание → начать запись → завести ТС → совершить небольшую поездку → сделать 1–2 остановки по 2 минуты → заглушить → закончить запись. Зафиксируйте пороги скорости, до которых разгонялись, и время остановок.
Замок зажигания / положение ключаНачать запись (чтобы шина проснулась — закройте и откройте центральный замок с брелка) → вставить ключ → 1 минута → вынуть ключ → включить зажигание → 1 минута → выключить зажигание → 1 минута → завести → 1 минута → заглушить → 1 минута → завести → 2 минуты → закончить запись.
Двери / багажник / капотВключить зажигание → начать запись → открыть → 10 секунд → закрыть. Повторить 4 раза → закончить запись.
Ручной тормозВключить зажигание → начать запись → опустить ручник → 10 секунд → поднять ручник. Повторить 4 раза → подождать 2 минуты → закончить запись.
Педаль тормоза (флаг, положение, степень нажатия)Включить зажигание → начать запись → нажать педаль → 5–10 секунд → плавно отпустить → 5–10 секунд; повторить 2–3 раза. Затем резко нажать → 5–10 секунд → резко отпустить; повторить 2–3 раза → закончить запись.
Положение педали газаВключить зажигание → начать запись → нажать педаль (каждый раз чуть сильнее) → 5–10 секунд → плавно отпустить. Повторить 3 раза → закончить запись.
Габаритные огни, ближний и дальний свет, аварийкаВключить зажигание → начать запись → включить режим → 3–5 секунд → выключить. Повторить 3 раза → закончить запись. Зафиксируйте, в каком порядке включали режимы.
Стеклоочистители, обогрев стекла, круиз-контроль, кнопка A/CТот же рецепт, что и для света: включить → 3–5 секунд → выключить, 3 раза, с фиксацией порядка.
Ремень водителя / пассажираВключить зажигание → отстегнуть все ремни → начать запись → пристегнуть ремень → 5–10 секунд → отстегнуть. Повторить 4 раза → закончить запись. Зафиксируйте порядок (водитель, пассажир).
Положение дроссельной заслонкиВключить зажигание → начать запись → завести ТС → 1 минута → заглушить; повторить 2–3 раза. Затем плавно поднять обороты и вернуть на холостые, 2–3 раза. Затем резко поднять обороты и вернуть, 2–3 раза → закончить запись.
Режим КПП, задняя передача, выбранная передачаВключить зажигание → начать запись → зафиксировать текущее положение КПП → переключить режим → 5 секунд → переключить на следующий, пока не пройдёте все режимы → закончить запись. Зафиксируйте порядок переключений.
Флаг низкого уровня топлива, ESP, ABSВключить зажигание → начать запись → зафиксировать состояние индикации ошибки на приборной панели → изменить его (воспроизвести неисправность или сбросить) → завести ТС → 2–3 минуты → заглушить → закончить запись.
Вращение рулевого колесаВключить зажигание → начать запись → повернуть руль в крайнее левое положение → 5–10 секунд → вернуть в свободное → 5–10 секунд → повернуть в крайнее правое → 5–10 секунд. Повторить 3–4 раза → закончить запись.
Флаг нажатия педали сцепленияВключить зажигание → начать запись → нажать сцепление → 5–10 секунд → отпустить → 5–10 секунд. Повторить 3–4 раза → закончить запись. Зафиксируйте количество повторений.

Записанный лог можно проиграть обратно в CAN-шину — например, чтобы отладить разбор на столе или перелить сообщения из одной шины в другую. Делает это отдельный алгоритм EasyLogic, а не само приложение.

Порядок:

  1. Убедитесь, что в разделе Система конфигурации прибора включён модуль CAN, примените настройки и перезагрузите прибор.
  2. Для порта, в который будет идти воспроизведение, задайте режим EasyLogic и нужную скорость шины.
  3. Загрузите алгоритм: при наличии интернета на приборе — командой SCRIPT galileosky/canrecplayer; при локальном подключении — заливкой бинарного файла в разделе EasyLogic.
  4. Запустите воспроизведение командой PLAYCANRECSTART, остановите — PLAYCANRECSTOP.

Формат команды запуска:

PLAYCANRECSTART d,s,f0,f1,...,f9
  • d — номер CAN-порта, в который идёт воспроизведение;
  • s — номер CAN-порта внутри лога (для формата .rec укажите любое значение, например 0);
  • f0f9 — имя файла лога в числовом виде: каждое знаковое десятичное big-endian число кодирует 4 символа имени (коды CP-1251), последний символ имени — 0, максимум 40 символов.

Пример: воспроизвести в CAN 1 файл canlogs\log.rec:

PLAYCANRECSTART 1,0,1667329644,1869050716,1819240238,1919247104

где 1667329644 = 63 61 6E 6C (canl), 1869050716 = 6F 67 73 5C (ogs\), 1819240238 = 6C 6F 67 2E (log.), 1919247104 = 72 65 63 00 (rec).

Ответ на команду — rcv cmd. go to diag; воспроизведение начинается через 3 секунды. Ход работы виден во вкладке Диагностика при включённом канале Диагностика алгоритмов и скриптов.

Диагностические сообщения (префикс can<N> — номер шины):

СообщениеЗначение
init! / init?успешная инициализация CAN-порта / ошибка (проверьте параметры шины)
fSize("<имя>")=<N>имя воспроизводимого файла и его размер в байтах
fRead?ошибка файловой системы или файл повреждён
f("<имя>") format?неподдерживаемый формат файла
fWrongнарушена структура файла лога
send?ошибка отправки в шину — проверьте подключение и наличие в шине получателя
mode?для порта выбран неверный режим (нужен EasyLogic)
rec play doneвоспроизведение завершено

Алгоритм читает файлы .rec и .rec2, которые создавал CAN-логгер Конфигуратора 5. Конфигуратор 6 такие файлы не создаёт: запись ведётся во внутреннем формате и выгружается на сервер, а не сохраняется на диск для последующего воспроизведения. Функция применима только к логам, записанным ранее. Требуется прибор с microSD-картой или eMMC.

Из инструментов CAN-логгера Конфигуратора 5 не перенесены: сохранение лога в файл .rec и его загрузка с диска, локальное воспроизведение лога в окне сканера, цветные маркеры зон записи, кнопка «Копировать для отправки». Вместо цветных маркеров используйте текстовые метки-комментарии.


См. также: Подключение прибора к CAN-шине · Поиск параметров в CAN-шине · База транспортных средств и CAN bot · Настройка CAN: режимы и мастер