Вопрос

Классификация DTC: активная, прошлая или потенциальная

Scantools всегда классифицирует DTC как активный/текущий, исторический/прошлый, потенциальный/в памяти. Как они это классифицируют?



Пример необработанных данных:



80 F1 5A 05 58 01 C1 00 20 0A


Можете ли вы помочь классифицировать его как прошлое, настоящее или потенциальное?




  • 80 F1 5A : заголовок

  • 05 : 5 байт данных для дальнейшего анализа;

  • 58 : ответ на запрос 0x18,

  • 01 : 1 DTC,

  • C1 00 : это DTC

  • 20 : Я не уверен

  • 0A : контрольная сумма/конец ответа



Я предполагаю, что 20 как-то связано с классификацией DTC по истории, настоящему и потенциалу.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/47351/classifying-a-dtc-as-active-past-or-potential

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

  1. после 2008 года каждый ЭБУ имеет 4 режима записи неисправностей: Тип 7, Тип А, Тип 18 и тип 19 ожидающий, текущий, исторический и постоянный. Хитрость в том, чтобы знать, как запрограммировать Adreno другого чипа с поддержкой CAN, чтобы задавать каждому ECH волшебные вопросы. Я знаю, но я беру за это плату...


  1. РЕДАКТИРОВАТЬ: я потратил больше времени на изучение этого вопроса. Производитель конкретного автомобиля имеет большое влияние на этот процесс. В кодах неисправностей OBD2 есть несколько стандартных пунктов, но не требуется указывать время или возраст, а именно это, как мне кажется, вы и ищете в необработанных данных.

    Я думаю, что единственный способ ответить на этот вопрос — получить доступ к инженерным материалам/информации от производителя. Возможно, поискав, вы сможете найти инженера, который работал над разделом OBD2 и может рассказать вам о производителе, на которого он работал. Хотя, поскольку стандарт был принят (в США) в 1996 году, я готов поспорить, что большинство систем не сильно изменились.
    По своему личному опыту «уговоров» моей машины пройти техосмотр я знаю, что сохранённый код может стать не сохранённым. Это наводит меня на мысль, как я уже сказал ниже, что данные логически разделены в памяти ЭБУ.



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



    Я не совсем понимаю, что вы имеете в виду под «активным/текущим, историческим/прошлым, потенциальным/сохраняющимся в памяти», но в системе OBD2 есть две классификации кодов неисправностей: потенциальные/ожидающие и зарегистрированные/сохраняющиеся. Я не думаю, что эта информация хранится в коде неисправности, поскольку в автомобилях, совместимых с OBD2, они логически разделены.



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



    Распространённый пример ожидающего кода — мой Infiniti I30, у которого всегда есть ожидающий код датчика коленчатого вала. По какой-то причине это состояние возникает при запуске, но никогда не повторяется, поэтому код неисправности не переходит в состояние «записано/сохранено», а индикатор Check Engine не загорается.



    Короче говоря, классификация состояний «ожидает» и «сохраняется» зависит от производителя автомобиля.



    Хороший ответ, в котором рассказывается о некоторых аспектах, которые необходимо учитывать при работе с OBD2, можно найти на другом сайте Stack Exchange: Записываются ли коды неисправностей с отметкой времени в журнал с историей кодов неисправностей?


  1. Кроме того, я не говорю о режимах obd2 3 или 7. Я имею в виду внутренний поток данных в автомобиле, который не имеет никакого отношения к диагностическому сканеру.
  1. Я не думаю, что в коде неисправности есть отметка времени. Я думаю, что автомобиль обрабатывает их в двух разных очередях. Я не знаю, потому что у разных производителей это происходит по-разному. В режиме 2 возвращаются данные стоп-кадра, в которых есть отметка времени. Отметка времени в коде неисправности не нужна, так как нет гарантированной точки отсчёта времени.
  1. Из вашего ответа я понял, что в OBD-II есть режимы 0x03 и 0x07, верно? Но я не об этом спрашиваю. Если вы посмотрите на профессиональный сканер, то увидите, что он выдаёт код (например, P0128), краткое описание и статус, например «активно» или «в памяти» (некоторые сканеры показывают «текущее» или «в истории»). Я хочу знать, как они определяют, является ли ошибка активной или находится в истории.
  1. Текущие/активные коды DTC означают, что компьютер распознаёт неисправность в данный момент.
    Исторические/прошлые коды означают, что неисправность была обнаружена, но не является «активной в данный момент».
    Потенциальные/хранящиеся в памяти коды означают, что неисправность была обнаружена, но не является активной и не возникала во время второго цикла работы двигателя.
    При некоторых неисправностях индикатор проверки двигателя загорается сразу. При других неисправностях индикатор проверки двигателя загорается только после двух циклов работы двигателя с неисправностью.

    Извините, я не знаю, что означают эти коды. Надеюсь, это поможет.


  1. Это не ответ на вопрос
  1. Я проанализировал исходные данные
  1. Отличный вопрос.
  1. Нет, @finleyarcher. я спрашиваю о том, как классифицировать необработанные данные как текущие или прошлые на основе битов статуса
  1. Это то, что вы ищете? en.wikipedia.org/wiki/OBD-II_PIDs
Вы уже ответили на этот вопрос