Работа с программой CAN Scanner

В данной статье мы разберём работу CAN сканера, нахождение ID адреса, отвечающего за работу необходимого нам блока, и формирование пакета сообщений для имитации работы определённого узла или блока автомобиля.

 

 

К примеру, рассмотрим работу CAN сканера, имитирующего передачу в приборную панель от блока ABS по CAN шине информацию о пробеге и скорости движения автомобиля Hyundai ix35 2011 года выпуска.

Известно, что в составе электрической схемы автомобиля имеется CAN шина, скорость передачи данных которой 500 кБит/с. В свою очередь данная шина выведена в унифицированный диагностический разъём OBD-II на контакты 6 CAN H и 14 CAN L, что позволяет подключиться CAN сканером.

После того как сканер подключен к автомашине, выбираем в Главном меню Настройки, где задаём данные настройки опций подключения к CAN шине и режима работы сканера. Данные настройки задаются перед установкой соединения с CAN шиной.

Рисунок 1.


Рисунок 2.

Заданные настройки CAN шины должны соответствовать данным на рисунке 2.

Далее на панели пиктограмм нажимаем значок Соединение со сканером.


Рисунок 3.

После того как сканер подключился к автомашине, в окне Приём будут отображены все принятые сообщения CAN шины.


Рисунок 4.

Для удобства окно Приём можно развернуть на весь экран.


Рисунок 5.

Из всей массы идущих сообщений в CAN шине нам необходимо найти сообщение, отвечающее за работу спидометра автомобиля Hyundai ix35.

Для этого в сканере предусмотрена функция трассировки, то есть записи всей последовательности принимаемых сообщений. В нашем случае, если идёт речь о спидометре автомобиля, то, соответственно, записать сообщения, идущие в шине, следует во время движения автомобиля.


Рисунок 6.

Разгоняем автомобиль до скорости примерно 60 км/ч. В некоторых случаях, при записи трассировки принимаемых сообщений на различных автомобилях показатель скорости будет другим, где-то чуть больше, где-то меньше.

После того как трассировку записали во время движения автомобиля, получим следующие данные (их желательно сохранить).


Рисунок 7.


Рисунок 8.

Далее записанную последовательность принятых сообщений воспроизводим обратно в сеть. При этом, на приборной панели будут меняться показания стрелки спидометра, тахометра и показания одометра. Если это происходит, то в трассировке принятых сообщений находится ID адрес, отвечающий за работу необходимого нам узла.

Теперь необходимо из всей массы принятых сообщений выделить сообщения с нужным ID адресом. Для этого необходимо воспользоваться функцией - Деактивировать сообщения в списке трассировки с заданным ID.


Рисунок 9.


Рисунок 10.

Всего в списке принятых сообщений находится 21 сообщение (рисунок 5). Данная процедура исключения много времени, как правило, не занимает. После каждого исключения сообщения необходимо воспроизводить оставшиеся сообщения в сеть и смотреть за изменением интересующих нас узлов и механизмов до тех пор, пока, в нашем случае это показания одометра, перестанут изменяться. Следовательно, после того как показания одометра перестали реагировать на воспроизведение оставшихся в списке сообщений, последнее деактивированное сообщение с заданным ID и есть предположительно искомый адрес.

Следующим этапом проверим наше предположение о найденном ID адресе.

Деактивируем все сообщения в списке трассировки нажатием на панели пиктограмм соответствующего значка.


Рисунок 11.

Из рисунка 12 видно, что все сообщения стали не активны, что подтверждает отсутствие знака # напротив каждого сообщения в окне Приём.


Рисунок 12.

Теперь воспользуемся функцией Активации сообщения в списке трассировки с заданным ID нажатием на панели пиктограмм соответствующего значка.


Рисунок 13.

Рисунок 14.

Воспроизводим выбранные сообщения и, если показания одометра вновь стали изменяться, то сообщение с заданным ID и есть искомое.

Теперь необходимо записать трассировку только нужного ID адреса, в нашем случае ID 440. Для этого воспользуемся функцией фильтрации принятых сообщений.


Рисунок 15.

Зададим в настройке фильтров сообщений ID 440 как показано на рисунке 16.


Рисунок 16.

Вновь воспользуемся функцией трассировки - записи последовательности принимаемых сообщений, идущих в шине во время движения автомобиля.

Получим следующую принятую последовательность сообщений ID 440, которую следует также сохранить для дальнейшей работы. В таком виде подобрать необходимое сообщение или пакет сообщений для имитации того или иного узла будет гораздо проще, да и удобнее.


Рисунок 17.

Следующая процедура будет заключаться в конфигурации сообщения или пакета сообщений для имитации необходимого нам узла и, как следствие, реагировании на это других механизмов или узлов. В нашем случае – это показания одометра.

Выбираем любое сообщение из окна Приём и копируем его в окно Передача.

Для этого на панели пиктограмм нажимаем соответствующий значок.


Рисунок 18.

При такой конфигурации сообщений, как показано на рисунке 19, показания одометра меняются примерно со скоростью 200 км/ч.


Рисунок 19.

Скопированные сообщения подаём обратно в сеть, можем поменять период от 1 мс до 1000 мс примерно, в нашем случае 20 мс.


Рисунок 20.

В принципе, мы рассмотрели один из примеров нахождения ID адреса и формирования пакета сообщений для имитации определённого узла или блока автомобиля при помощи CAN сканера. Кроме того, этот же пакет сообщений можно перенести в CAN конструктор, и уже им имитировать работу того или иного узла автомобиля.

В некоторых случаях на определённых автомобилях скорость передачи данных CAN шины отличается от рассмотренной в нашем примере. Возможны варианты скорости шины 250 кБит/с, 50 кБит/с.

На таких машинах как Volkswagen, Škoda, Audi, BMW, Chrysler, Mitsubishi и Mercedes моторная CAN шина от блока ABS не выведена на диагностический разъём OBD-II. Примеры работы с перечисленными марками  автомобилей мы рассмотрим в наших следующих статьях.