Вопрос

Как мне просмотреть данные в режиме 06 в OBDii

Режим 06 в OBD2 позволяет получить представление о том, с какими неисправностями автомобиль может столкнуться в будущем.
Но я не могу понять, какую команду нужно отправить, чтобы получить данные в режиме 06. Там есть TID$01 CID$01, так как же отправить команду? 060101 или 0601?
Пожалуйста, помогите.



Кроме того, как мне расшифровать эту информацию? Она не является универсальной для всех производителей. Тогда почему в приложении Torque Pro указано, что MID$01 TID$01 — это датчик O2 Bank1 Sensor1?



Автомобиль: Hyundai i10 Era 2010 года (бензиновый)



Отправив команду 0600, я получил:



7E8 06 46 00 80 00 00 01


При отправке команды 0601 я получил:



7E8 10 37 46 01 01 0A 0E 66 
7E8 21 0E 66 0E 66 01 02 0A
7E8 22 0E 66 0E 66 0E 66 01
7E8 23 07 0A 00 00 00 00 0C
7E8 24 D8 01 08 0A 1D 70 13
7E8 25 18 22 90 01 09 10 00
7E8 26 78 00 78 05 F0 01 0A
7E8 27 10 00 00 00 00 00 00


Отправив команду 0605, я получил:



7E8 10 0B 46 00 80 00 00 01 
7E8 21 00 80 00 00 01 00 00


Для любой другой команды 06xx (включая 060101, то есть режим 06, идентификатор 01, код 01) я получаю сообщение «НЕТ ДАННЫХ».
Пожалуйста, помогите мне расшифровать эти данные.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/28051/how-do-i-get-to-see-my-mode-06-in-obdii

14 Комментариев

  1. Вот анализ вашего результата:



    0600 => 7E8 06 46 00 80 00 00 01



    Это обычный запрос для проверки поддержки PID (или MID, как они называются в режиме 6 для CAN). В вашем случае указано, что поддерживаются бит 1 и бит 32, следовательно, можно попробовать команды 0601 и 0620. 0605 явно не поддерживается, поэтому результат не определён (и, честно говоря, 7E8 10 0B 46 00 80 00 00 01 7E8 21 00 80 00 00 01 00 00 всё равно не выглядит как правильный результат для 0605. Я бы ожидал NO DATA).



    Теперь перейдём к реальным данным. Ваш результат был



    7E8 10 37 46 01 01 0A 0E 66 
    7E8 21 0E 66 0E 66 01 02 0A
    7E8 22 0E 66 0E 66 0E 66 01
    7E8 23 07 0A 00 00 00 00 0C
    7E8 24 D8 01 08 0A 1D 70 13
    7E8 25 18 22 90 01 09 10 00
    7E8 26 78 00 78 05 F0 01 0A
    7E8 27 10 00 00 00 00 00 00


    Давайте уберём адресный заголовок и мультифрейминг, тогда мы получим следующее:



    01 01 0A 0E 66 0E 66 0E 66
    01 02 0A 0E 66 0E 66 0E 66
    01 07 0A 00 00 00 00 0C D8
    01 08 0A 1D 70 13 18 22 90
    01 09 10 00 78 00 78 05 F0
    01 0A 10 00 00 00 00 00 00


    Получается, что 6 результатов теста — это 9 байт, что пока верно. Я добавил пояснительные заголовки к четвёртому результату теста:



    MID TID UASID  VHI VLO  MINHI MINLO MAXHI MAXLO
    01 08 0A 1D 70 13 18 22 90


    MID 01 означает, что вы получите именно то, что запросили с помощью 0601, что, согласно стандарту SAE1979(DA), является результатом для «датчика контроля выхлопных газов, блок 1 — датчик 1».



    TID 08 означает «максимальное напряжение датчика для тестового цикла». UASID 0A — это определение единицы измерения и масштабирования, которое означает «напряжение» и «0,122 мВ на бит без знака».



    VHI/LO используется для вычисления фактического значения теста, в результате чего



    ( 0x1d * 0x100 + 0x70 ) * 0.122 = 919.392


    Минимальное и максимальное значения вычисляются соответствующим образом, в результате чего получается минимальное значение 596.336 и максимальное значение 1079.456, что означает, что тест пройден (ура!).



    Я ввёл ваши данные в своё приложение OBD2 для iOS, где в данный момент работаю над диагностикой MODE 6. Вот скриншот с результатом:



    Режим 6 диагностики компонентов OBD2 Expert


  1. Насколько мне известно, алгоритмы и базы данных для декодирования в режиме 6 доступны только тем разработчикам инструментов для сканирования, которые подписаны на систему NASTF.
    NASTF.org
    Это отраслевая организация, которая выступает посредником между производителями оригинального оборудования и производителями инструментов. Многие производители инструментов не являются её членами, а тех, кто производит клоны, в группу не принимают.



    Данные в режиме 6 никак не стандартизированы, каждый производитель сообщает о них по-своему. Некоторые сообщают много данных по каждой модели, другие — очень мало. Как и в случае со всеми данными сканирования, они меняются и становятся лучше по мере развития OBD11. До 2006 года точность не требовалась. До этого данные были очень разрозненными.



    На технических сайтах производителей оригинального оборудования, к которым у меня есть доступ, нет данных о декодировании в режиме 6.
    Некоторые сканеры гораздо лучше других справляются с декодированием и отображением данных. Лучший универсальный сканер, который я видел, — это сканер от Automotive Test Solutions. Я не нашёл дешёвый сканер, который бы хорошо справлялся с этой задачей.



    Ford отлично справляется с режимом 6 и даже добавляет несколько полезных функций, таких как график пропусков зажигания.


  1. @SoumyaSen да, байт UASID (единица измерения и масштабирование) имеет около сотни SAE-определений. SAE J1979DA содержит карту, и для каждой записи есть имя, спецификация единицы измерения и множитель, линейное смещение, а также то, должно ли значение обрабатываться как знаковое или беззнаковое, например: Напряжение, мВ, 0,1 мВ на бит, без знака, -3276,8
  1. Я изучал режим 6. Вот ссылка, которая может вам помочь.
    http://www.counterman.com/unlock-the-mysteries-of-mode-06/
    Крайне сложно найти точную информацию о данных в режиме 6, поскольку производители, похоже, держат её в секрете. Самое близкое к тому, что я нашёл для Hyundai, — это ссылка, по которой можно задать вопросы техническим специалистам (и, вероятно, заплатить за это немалую сумму). www.justanswer.com › Вопросы об автомобилях › Ремонт Hyundai


  1. Это потрясающая информация! То есть вы, по сути, преобразовали шестнадцатеричное число в десятичное и умножили на коэффициент. У меня есть вопрос: как определить, что преобразование шестнадцатеричного числа в десятичное должно привести к отрицательному числу? Я имею в виду, что при преобразовании любого шестнадцатеричного числа в десятичное я получаю положительный результат. Как мне узнать, может ли/должно ли значение быть отрицательным? Есть ли в данных какой-то бит для этого?
  1. @Ben: Я согласен...
  1. Оказывается, создать аккаунт можно бесплатно, но для просмотра контента требуется платная подписка. В любом случае, я думаю, ему придётся заплатить, чтобы расшифровать идентификаторы тестов и результаты.
  1. @Ben: только что проверил сайт. Думаю, он предназначен для дилеров Hyundai, а не для широкой публики... Конечно, я могу ошибаться. Вы пытались зарегистрироваться на этом сайте?
  1. Ещё один сайт, который стоит попробовать, — hyundaitechinfo.com. Не помню, бесплатный он или нет.
  1. @cdunn режим 6 зависит от производителя. Для доступа к спискам вам потребуется подписка, которую они запрашивают.
  1. Есть ли у вас ссылка на спецификацию OBDii, в которой указан формат этих сообщений? У меня такое чувство, что это набор полей, специфичный для конкретного производителя, но с него можно начать.
  1. 7E8 10 13 46 81 80 AF FF B9 7E8 21 FD 12 02 EE 81 82 05 7E8 22 81 CA 62 8F 9D 71 00. Это режим 06, середина 81-го ответа для той же машины, что и выше
  1. 7E8 10 37 46 01 01 0A 0E 66 7E8 21 0E 66 0E 66 01 02 0A 7E8 22 0E 66 0E 66 0E 66 0E 66 01 7E8 23 07 0A 00 00 00 00 0C 7E8 24 D8 01 08 0A 1D 70 13 7E8 25 18 22 90 01 09 10 01 7E8 26 40 00 78 05 F0 01 0A 7E8 27 10 02 94 00 C8 09 C4. это режим ответа 06 mid 01 для Hyundai I10.... Пожалуйста, подскажите, как определить эту шестнадцатеричную строку, какой метод использовать
  1. Я думаю, что первые 4 цифры — это CID, а последние 4 — результат. Насколько я знаю, вам нужен список TID автомобилей Hyundai, чтобы точно знать, какой тест за что отвечает.
Вы уже ответили на этот вопрос