Вопрос

Тип и уровень топлива в монотопливных автомобилях OBD-II

Я создаю приложение, похожее на Torque, и у меня возникли проблемы с командами Fuel Type и Fuel level для автомобилей, которые работают только на одном виде топлива, например на дизельном или бензиновом.



С автомобильным битопливом, таким как бензин + CNG, с pids 0151 (тип топлива) и 012F (уровень топлива) я могу прочитать информацию, которую ищу..... Но для автомобилей, в которых используется только дизельное топливо или только бензин, эта команда возвращает 7F 01 22, что означает "нет доступного pid"....



Я хотел бы узнать, можно ли с помощью какого-нибудь распространённого диагностического устройства считывать такие данные с автомобилей, работающих на одном виде топлива.



Я пробовал на трёх разных автомобилях: двух Fiat Panda (один дизельный, другой бензиновый) и одном бензиновом Smart. На всех трёх автомобилях появляется одно и то же сообщение об ошибке...



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/50231/obd-ii-fuel-type-and-level-of-monofuel-cars

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

  1. Как я вижу, у вас 4 машины:




    • Дизельный Citroen C3 2009 года

    • Fiat Panda 2009

    • Дизельный Fiat Panda 2009 года выпуска

    • Порше Кайен с дизельным двигателем



    У них монотопливная система, поэтому уровень и тип топлива не отображаются в системе ECU.
    Возможно, они подключены напрямую к бортовому компьютеру автомобиля!



    Это большая проблема, потому что в моём приложении мне нужно считывать уровень топлива!!


  1. Ответ за 22 доллара означает, что условия не соответствуют требованиям многих стандартов OBD2.



    PID $2F определяется в соответствии со стандартом SAE J1979




    FLI должен отображать номинальную вместимость топливного бака в процентах от максимальной. Данные FLI могут поступать непосредственно от датчика, косвенно через последовательную шину передачи данных автомобиля или определяться стратегией управления с использованием других входных данных от датчиков. Транспортные средства, работающие на газообразном топливе, должны отображать процентную долю доступной топливной емкости. Если в двухтопливном автомобиле два бака, по одному для каждого вида топлива, то данные о входном уровне топлива должны поступать из бака, в котором находится тот вид топлива, на котором работает двигатель.




    PID $51 имеет примечание в стандарте SAE J1979




    Для битопливных и гибридных автомобилей при первом запуске в условиях, когда топливо не используется и автомобиль не может определить, какое топливо будет использоваться при запуске двигателя или автомобиля, может отображаться надпись «Нет в наличии» ($00). В качестве альтернативы данные могут отражать тип топлива, использовавшегося автомобилем при предыдущем выключении, и обновляться после запуска автомобиля, когда можно определить тип топлива.




    Я бы предположил, что вы получаете такой ответ, потому что машина не заводится. Вы можете приобрести спецификацию J1979 здесь: http://standards.sae.org/j1979_201202/



    Или же можно просто поискать этот документ в Google. ;)


  1. Да, я знаю... как вы можете прочитать в моём посте, с моими двумя автомобилями, работающими на биотопливе, всё в порядке, и они по-прежнему работают... но некоторые автомобили, работающие на монотопливе (пока что все), не могут определить уровень топлива!
  1. Я не знаю, является ли автомобиль, на котором вы проводите тестирование, неисправным, но могу подтвердить, что текущий автомобиль, для которого я разрабатываю программное обеспечение (Audi RS3 2017 года выпуска), корректно реагирует как на 01 2F, так и на 01 51. Возможно, это ограничение автомобиля, на котором вы проводите тестирование.
  1. Насколько мне известно, ELM327 использует стандарт SAE J1979 и интерпретирует каждую команду в соответствии с протоколом, используемым автомобилем. В моем битопливном автомобиле не возникло проблем, он определил, какое топливо используется в данный момент. Но с монотопливом я получаю такой ответ... и автомобиль включен, не только приборная панель, но и двигатель...
  1. Я знаю, но возможно ли, что в монотопливном автомобиле не используются pid 0151 и 012F? Как узнать уровень бензина на приборной панели?
  1. Внедрение 012F является добровольным. Производитель автомобиля просто не стал внедрять PID в эту модель. Вы можете узнать, какие PID внедрены, запросив информацию по кодам 0100, 0120, 0140 и далее.
  1. ELM327 — это интерпретатор для 12 стандартных протоколов. Если они присутствуют, то команды pid будут одинаковыми... Проблема в том, что «возможно, в ЭБУ однотопливного автомобиля нет датчика уровня топлива?».
  1. У разных автомобилей разные протоколы CAN, из-за чего может меняться расположение PID?
  1. Я этого не знаю... но если бы у моего Fiat Punto, работающего на бензине и сжатом природном газе, были такие датчики... почему бы и нет? Есть ли какие-то другие датчики для определения уровня и типа топлива?
  1. Вы уверены, что в этих автомобилях есть такие датчики? Или производители использовали «закрытый» код?
  1. Сообщение 7F 01 22 — это ответ ЭБУ. Я использую PIDs 01 51 (тип топлива) и 01 2F (уровень топлива), и ЭБУ моего битопливного автомобиля отвечает 41 51 0D (0D = КПГ), и всё в порядке. Но автомобиль моего друга, работающий только на бензине, отвечает 7F 01 22, что означает «нет датчика».... Я пробовал на трёх машинах, и везде одна и та же проблема. С BiFuel auto таких проблем нет.
  1. Вы уверены, что PID 7F 01 22 является универсальным? и используется для монотоплива? Или он предназначен специально для битоплива?
Вы уже ответили на этот вопрос