Неверный ответ в режиме OBD2 3
Я инженер-исследователь, работаю над сканером OBD2. Для связи с автомобилями я использую интерфейс ELM327 v1.5. Для тестирования режимов OBD2 я использовал Dacia Logan 2013 (французский автомобиль), индикатор MIL был включен.
При тестировании режима 3 я получаю такой ответ (изображение ниже) через 3 байта после 43
Но когда я проверил техническое описание ELM327 (https://www.elmelectronics.com/wp-content/uploads/2016/07/ELM327DS.pdf стр. 34), то увидел, что после 43 должно быть 6 байтов, чтобы считывать данные парами: каждые 2 байта представляют собой код неисправности.
Как интерпретировать ответ OBD2?
Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/51226/obd2-mode-3-wrong-response
Это проблема протоколов. Автомобиль использует протокол CAN (ISO 15765).
Некоторые протоколы OBDII (J1850, ISO9141 и ISO14230) не отображают количество кодов неисправностей в ответе в режиме 03, поэтому интерпретация ответа такая же, как на странице 34 технического описания ELM327.
Но протокол CAN (ISO 15765) показывает количество кодов неисправностей.
Таким образом,
43 01 01 2C
интерпретируется как :43: реакция в режиме 3
01: сохранён код одной проблемы
01 2C: код неисправности P012C (dtcsearch) / P012C (коды OBD)
Я получил эту информацию от службы технической поддержки elmelectronics