1

Тема: Считывание диаг. информации

Всем привет.

Есть задача считать показания датчиков (обороты, скорость, температура и т.д) с моторной шины (500к) с дальнейшей отправкой этих данных по UART.
Так как попытки отмониторить данные не увенчались успехом, решил попробовать через запрос-ответ.
Подключил ELM и параллельно canny.
Через CCM прекрасно видно как ELM общается с блоком управления двигателем:
ELM отправляет
7e0 02 01 05 00 00 00 00 00
(тут все понятно 7е0 - ID ECU, 02 - значимый байт, MODE, PID запроса температуры)   
ECU отвечает
7e8 03 41 05 45 AA AA AA AA
(и тут все понятно 7е8 = ID запроса+8, 03 - значимый байт, 41 = MODE+40, PID,  данные в значимом байте)
далее по формуле вычисляем, что температура = 29 градусов.

Вроде как все прекрасно, формат сообщений понятен, бери отправляй запросы, получай ответы, НО
отключив ELM и отправив через CCM запрос 7e0 02 01 05 00 00 00 00 00 получаем тишину.
При повторной отправке -  пусто, на третий раз получаем CANERR!.

Собственно в чем вопрос. Может кто-то делал подобное? Может какие-то нюансы есть?
на фото лог


з.ы. еще вопрос. При работе CCM постоянно моргает COVF!. В хелпе написано, что используйте аппаратную фильтрацию, как ее использовать?

Вложений в сообщении

Снимок.PNG, 39.59 кб, 695 x 447
Снимок.PNG 39.59 кб, скачивался 113 раз, последний раз 2016-10-28 

2

Re: Считывание диаг. информации

отправив через CCM запрос 7e0 02 01 05 00 00 00 00 00 получаем тишину.
При повторной отправке -  пусто, на третий раз получаем CANERR!.

Данный симптом указывает на то, что отправленное вами сообщение никто не принял. Причин может быть несколько, и так как вы не указали о какой модели автомобиля речь, то попробуем погадать:
- проблема с физическим подключением плохой контакт, перепутана полярность, большая паразитная емкость линии и т.п.
- отсутствие терминирующего сопротивления меджду CAN-H и CAN-L (возможно оно необходимо и в ELM оно есть, поэтому при его отключении ничего не работает)
- ELM подключается физически к чему-либо еще кроме CAN в диагностическом разъеме (замыкает какие-либо контакты, подает куда-либо напряжение, или цифровой сигнал и т.п.) что необходимо для включения диагностического CAN, и  отключение ELM приводит к полному отключению CAN в данном сегменте сети.
- ELM подключается только к CAN, но в самом начале, данный сегмент настроен на прием только определенного(ных) ID, (и это не 7Е0), посылка которого, переводит автомобиль в режим приема запросов с 7Е0

В хелпе написано, что используйте аппаратную фильтрацию, как ее использовать?

Снять-установить фильтр сообщений с выделенным идентификатором в контрольной панели CannyCanMonotor можно при помощи клавиши Пробел. Подробнее о фильтрации в ccm (там чуть выше про клавиши управления): http://wiki.canny.ru/index.php?title=CA … 0.BB.D0.B8

3

Re: Считывание диаг. информации

Понятно, фильтрами я пользуюсь, просто смутило "аппаратная фильтрация".

По теме, с CCM получилось отправлять запросы и получать ответы (поигрался  фильтрами).

авто Opel Astra J