Декодер кода ошибки OBD-II по символам
Выберите пять символов кода — увидите, как этот код записывается двумя байтами в ответе блока управления на запрос сканера.
Калькулятор отвечает на вопрос: как выглядит код ошибки в сыром ответе блока управления. На запрос режима $03 блок отправляет код в виде двух байтов, и приложение для сканера превращает их в привычную запись вроде P0420. Здесь движение обратное: вы выбираете пять символов кода, а калькулятор показывает, какие байты соответствуют этому коду. Это пригодится, когда вы смотрите на сырой журнал адаптера и хотите понять, какой код в нём закодирован. Байты калькулятор выводит десятичными числами, а в журнале адаптера они записаны в шестнадцатеричном виде: например, 4 и 32 — это 04 20 (таблица примеров ниже).
Как это считается
По данным производителя микросхемы ELM327, первая шестнадцатеричная цифра двухбайтовой записи одновременно кодирует и первую букву кода, и его второй знак. Остальные три знака записываются как есть, в шестнадцатеричной системе (A = 10, B = 11, … F = 15).
Первый знак ответа = номер буквы × 4 + второй знак кода (P = 0, C = 1, B = 2, U = 3)
Первый байт = первый знак ответа × 16 + третий знак кода
Второй байт = четвёртый знак × 16 + пятый знак
| Знак в ответе | Начало кода | Описание |
|---|---|---|
| 0 | P0 | силовой агрегат, стандартный (SAE) |
| 1 | P1 | силовой агрегат, производителя |
| 2 | P2 | силовой агрегат, стандартный (SAE) |
| 3 | P3 | силовой агрегат, совместный |
| 4 | C0 | шасси, стандартный (SAE) |
| 5 | C1 | шасси, производителя |
| 6 | C2 | шасси, производителя |
| 7 | C3 | шасси, зарезервировано |
| 8 | B0 | кузов, стандартный (SAE) |
| 9 | B1 | кузов, производителя |
| A | B2 | кузов, производителя |
| B | B3 | кузов, зарезервировано |
| C | U0 | сеть, стандартный (SAE) |
| D | U1 | сеть, производителя |
| E | U2 | сеть, производителя |
| F | U3 | сеть, зарезервировано |
Примеры
| Код | Первый знак | Байты (шестнадцатеричные) | Двухбайтовое число | Перейти |
|---|---|---|---|---|
| P0420 | 0 | 04 20 | 1 056 | |
| P0133 | 0 | 01 33 | 307 | |
| U1016 | D | D0 16 | 53 270 |
Примеры P0133 и U1016 взяты из даташита ELM327: ответ 0133 означает P0133, а D016 — U1016. Для P0420 расчёт выполнен по той же схеме.
Вопросы о калькуляторе
Почему лишний ноль в начале (0133 вместо 133)?
Код всегда занимает два байта, поэтому первый байт у P0133 — 01, а не 1. Первая цифра 0 означает начало P0 согласно таблице.
Можно ли с помощью калькулятора узнать значение кода?
Нет. Калькулятор лишь превращает символы в байты. Значение кода, причины и проверки — на странице кода в каталоге.
Зачем мне байты ответа?
Чаще всего они не нужны: приложение раскладывает их само. Это полезно, если вы читаете сырой журнал адаптера или отлаживаете собственную программу.
Популярные коды
Что означает каждый символ кода: система, производитель, подсистема.
Источники: ELM327 Data Sheet (Elm Electronics, раздел «Interpreting Trouble Codes»), Maryland Department of the Environment «Decoding DTCs» (2009).
Читайте также
-
Коды марки
Структура кода OBD-II: что означает каждый символ
Код ошибки состоит из буквы и четырёх знаков. Разбираем, что кодирует каждый из них, на пр...
-
Коды марки
Серии кодов P0–P3, C, B, U
Таблица диапазонов кодов OBD-II: что охватывают серии P00xx–P09xx, коды производителя P1,...
-
Коды марки
Сервисы (режимы) OBD-II $01–$0A
Десять режимов диагностики по стандарту J1979: от текущих данных до постоянных кодов. Что...
-
Гайд
Год выпуска по VIN: 10-й символ
Выберите 10-й символ VIN и тип 7-го символа — увидите модельный год по правилу США. Для ев...
-
Гайд
Суммарная топливная коррекция STFT + LTFT
Введите краткосрочную и долгосрочную топливные коррекции для обоих банков цилиндров — каль...
-
Гайд
Как сбросить ошибку и когда этого не делать
Сброс гасит Check Engine, но стирает и данные, нужные для диагностики. Разбираем, что имен...