Вопрос

Как обычно происходит обмен данными через OBD?

Я пытаюсь понять, как на уровне SID (идентификатора службы) и PID (идентификатора параметра) происходит обмен данными между внешним диагностическим устройством и любым ЭБУ (электронным блоком управления) автомобиля, совместимым с OBD.



Чтобы начать обмен данными с ЭБУ, что в первую очередь должно быть отправлено внешним диагностическим устройством по шине CAN? Например, SID 01 PID 0x00? Или диагностическое устройство может напрямую запросить любой PID любого SID?



Кроме того, если предполагается использование протокола UDS, должен ли сканер (совместимый с OBD) иметь стандартизированный идентификатор? Возможно, стандартизирован только функциональный идентификатор, а не физический, но я не знаю, потому что не могу найти эту информацию.
Единственное, что я видел, — это то, что некоторые сканеры часто отправляют код «7DF» (это функциональная адресация?) по шине CAN в начале обмена данными.



Я буду вам признателен, если вы проясните для меня ситуацию.



Перевод вопроса с Mechanics Stack Exchange
Лицензия: CC BY-SA (2.5–4.0)
Оригинальный вопрос: https://mechanics.stackexchange.com/questions/65316/how-does-a-typical-obd-communication-start

1 Комментарий

  1. После инициализации чипа считывателя (например, ELM327) с помощью его собственных команд вы можете отправить любой PID для переключения согласования протокола. Тем не менее полезно начать с обязательного, а не дополнительного PID. Большинство считывателей перебирают все режимы и начинают с запроса «мета» PID, то есть 0100, 0120, 0140 и т. д., чтобы узнать, какие конкретные PID поддерживаются подключённым транспортным средством.


Вы уже ответили на этот вопрос