Анализ данных CAN-шины очень важен при установке систем мониторинга автотранспорта. Ведь бортовые информационные шины данных современных транспортных средств и спецтехники содержат много данных о работе машины – значения датчиков, события погрузки или выгрузки, диагностические коды неисправностей и многое другое. Данные могут передаваться либо по стандартным протоколам обмена (FMS протокол/SAE 1939), характерным для грузовых автомобилей и коммерческой техники, так и по нестандартным (легковые автомобили), либо в недокументированных частях стандартных протоколов.
Для анализа CAN-данных обычно используют интерфейсы CAN-USB, либо непосредственно ГЛОНАСС-трекеры и специальное программное обеспечение, которое позволяет отслеживать получаемые идентификаторы сообщений и байты данных. Путем включения/выключения отдельных датчиков, отключения модулей и изменению режимов работы агрегатов удается установить взаимосвязь между отдельными идентификаторами и нужным нам значением датчика. Эта работа требует высокой квалификации установщика системы ГЛОНАСС-мониторинга и обязательно требует выезда к технике.
Пример работы с популярным устройством CAN-Hacker:
Что же делать, если специалистов по CAN-шине мало, а объектов много?
В этом случае может помочь интернет-сервис облачного декодирования CAN-логов can2sky.com . Для работы с сервисом необходима бесплатная регистрация, а также записанный CAN-лог в текстовом формате. Для загрузки надо будет также указать марку, модель и год транспортного средства. Сервис поддерживает различные форматы логов с помощью универсального загрузчика, поэтому можно загрузить логи, записанные самыми разными устройствами – Кан-хакером, Linux-утилитой candump, терминалами АвтоГРАФ и Galileosky (старый формат), утилитами Busmaster и Peak CAN и проч.
Подробнее о загрузке логов можно прочесть в документе.
После загрузки лога сервер попробует сделать его расшифровку с помощью имеющихся парсеров-декодеров. Декодером являются файлы DBC-формата. DBC-файл описывает правила разбора данных CAN-шины. Его можно создать самому (например, в редакторе Vector CANdb++), можно попробовать найти на нужную Вам машину файл в проекте OpenDBC, либо воспользоваться одним из доступных парсеров на сервисе can2sky.com. В скобках после декодера отображается количество совпадающих идентификаторов.
После загрузки лога мы увидим список как распознанных сообщений CAN – с подписями SPN Name, так и не распознанных, выделенных красным фоном.
Графа Value отображает минимальное и максимальное значение параметра за рассматриваемый период.
Изменить период можно с помощью Time Filter, выбрав лишь необходимый отрезок времени
Если кликнуть по параметру из таблицы PGN – он становится зеленым. Справа появится таблица значений, а внизу – график.
График поддерживает зум , который выполняется с помощью левой клавиши мыши и выделения нужной области. Сбросить зум можно клавишей Reset zoom. Одновременно можно вывести на график несколько параметров для их совместного анализа.
В том числе, эти параметры могут быть из разных логов, таким образом, можно совместно анализировать логи нескольких кан-шин автомобиля.
Расшифровку каждого PGN/SPN в отдельности можно изменить вручную в редакторе SPN.
В зависимости от настроек загруженный Вами лог может быть как публичным (открытым всем желающим) так и приватным (настройка по умолчанию). Публичные логи могут комментироваться другими пользователями.
В расшифровке CAN-шины как где важно находиться в сообществе соратников по ремеслу. Поэтому сервис can2sky.com позволяет найти коллег, занимающихся расшифровкой похожих объектов. Через поиск Вы сможете найти хозяев загруженных логов на нужную Вам технику и отправить им сообщение на электронную почту.
Подробнее о функциях сервиса можно прочесть в описании.
Сервис полностью бесплатный!
Вокруг сервиса сформировалось также телеграм-сообщество https://t.me/candecoder , где всегда рады видеть новых коллег с конструктивными вопросами и ответами.