Вопрос

Режим OBD-II и PIDs, специально разработанные для электромобилей?

Я работаю над разработкой протокола связи CAN для электромобиля. Мне интересно, знает ли кто-нибудь, существует ли стандартный режим MODE и PID для сообщений OBD-II, передаваемых по шине CAN в электромобилях (PEV)? Как указано в стандартах SAE J1979, ISO-15031-5 и ISO-15765-4 для гибридных автомобилей и автомобилей с двигателем внутреннего сгорания?



Все ресурсы, которые я нашёл в интернете, утверждают, что обычно информация о транспортном средстве для межмодульной связи не передаётся в формате OBD-II (ISO-15765-4) по шине CAN, за исключением случаев, когда это требуется для обслуживания/диагностики. Как правило, электронные блоки управления в автомобиле не поддерживают сообщения OBD-II CAN, за исключением случаев, когда им необходимо предоставить информацию диагностическому регистратору/устройству. Сообщения OBD-II в автомобилях (легких и тяжелых) обычно передаются по автомобильной шине CAN (в моем случае CAN2.0b/ISO-11898-2) в специальных форматах сообщений CAN (ISO-15765). Моя единственная проблема заключается в том, что мне нужно использовать эти сообщения OBD-II через CAN (ISO-15765-4) для моей приборной панели, работающей на Android. В Android нет встроенной поддержки CAN, и я пытаюсь использовать библиотеку C/C++ с открытым исходным кодом от OpenXC для чтения сообщений CAN в стиле OBD-II и преобразования их в формат JSON, удобный для Android (насколько я понимаю).



Мы будем признательны за любые советы, ресурсы и информацию о том, как использовать CAN-сообщения в стиле OBD-II для электромобилей.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/43464/obd-ii-mode-and-pids-specifically-used-for-electric-vehicles

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

  1. Похоже, что все (многие участники этого форума) путают, что такое OBD и что такое CAN.



    OBDII — это стандарт, принятый в США в 1996 году. Этот стандарт обязателен для исполнения и включает в себя три пункта. Во-первых, автомобиль должен предоставлять стандартный список данных (PIDs). Во-вторых, автомобиль должен уметь обнаруживать и предоставлять стандартный список кодов неисправностей (DTC). В-третьих, разъём под приборной панелью, к которому подключается устройство, должен быть стандартным для всех автомобилей. OBDII включает в себя пять протоколов связи.



    CAN — это протокол связи, и этим всё сказано. CAN — один из пяти протоколов, встроенных в OBDII. CAN стал обязательным протоколом связи в 2008 году. Любое транспортное средство, выпущенное после 2008 года, должно быть способно передавать обязательные данные и обязательные коды неисправностей по протоколу CAN. Кроме того, CAN должен быть подключен к стандартному разъёму в специально отведённом для этого месте.



    С электромобилями всё сложнее. Для соответствия стандарту OBDII 90 % данных и кодов неисправностей неприменимы. Скорость автомобиля и положение дроссельной заслонки — единственные первичные идентификаторы, которые приходят мне на ум. То же самое с кодами неисправностей: вам нужно определить неисправность для скорости автомобиля и положения дроссельной заслонки.


  1. @RaaziR Помимо основных идентификаторов, которые есть у бензиновых и электрических автомобилей, всё остальное зависит от производителя и выходит за рамки стандартов OBD.
  1. В предыдущем комментарии я написал ISO 16765-4, хотя на самом деле должно быть ISO 15765-4. Прошу прощения за это.
  1. В своем вопросе я спрашивал, знает ли кто-нибудь о стандарте (ах) извлечения информации на электромобиле. Самый простой способ сделать это на ICE - использовать порт OBD-II, расположенный под рулевым колесом. OEM-производители передают данные для обслуживания через этот порт; ДАННЫЕ ПЕРЕДАЮТСЯ По CANbus (следовательно, сообщения типа CAN OBD-II, ISO 16765-4 является отраслевым стандартом с 2008 года). Однако, похоже, что конкретного стандарта для чисто электромобилей не существует. Я хотел узнать, известно ли кому-нибудь, какие режимы/сервисы и PID-коды используются в электромобилях. Насколько я могу судить, это зависит от производителя.
  1. Я мог бы добавить кое-что к тому, что вы здесь написали... шина CAN (Controller Area Network) — это сеть внутри автомобиля, которая позволяет различным системам взаимодействовать друг с другом, а также выводить данные через DLC (Data Link Connector).
Вы уже ответили на этот вопрос