Я, як правило, не "людина в машині", тому, сподіваюся, я можу пояснити це досить добре, щоб отримати тут допомогу:
Надсилаючи повідомлення на пристрій OBD-II, я отримую одну відповідь у більшості тестованих автомобілів. Однак з автомобілями, які, мабуть, мають більше одного мікросхеми ECU, я отримую відповідь від кожного з них. Наприклад, якщо я надсилаю 01 0C
команду PID на транспортний засіб з 3 мікросхемами ECU, я отримую 3 відповіді, які, як правило, дуже схожі, але все ж різні.
01 00
Команда повинна повертати 4 байта, що встановлюють підтримуваний ИДП транспортного засобу, але також повертає 4 байт для кожного ECU - один з них є повністю конкретизовано 4 байта з декількома прапорами і вимикається, в той час як інші , здається, тільки увімкнено декілька прапорів (поки що ці прапори, здається, завжди є прапорами, які включені до "головної" відповіді, але я не впевнений, якщо це завжди так).
Приклад:
SENT: 01 00
RECEIVED:
00 BF BF AC D3 - This response has the most binary flags turned on
00 98 18 80 11 - 8 flags on here
00 98 18 80 13 - 9 flags on here
Останні два рядки складаються з прапорів, які також позначені у першому рядку, але у рядку 3 є один додатковий прапор, якого у рядку 2 немає.
Мені здається, що, можливо, є один ECU, який кваліфікується як "основний" чіп, який я повинен слухати, коли я надсилаю команди, і (я думаю) я розумію, що я можу використовувати маску / фільтр CAN ID для зверніть увагу лише на ті, що мені потрібні.
Питання: чи дійсно є "первинний ECU", на який я повинен звернути увагу, чи всі ці відповіді однаково важливі? Якщо є основний, на який я повинен орієнтуватися, чи є команда, яку я можу надіслати, щоб визначити, яка є "найбільш важливою"?
Транспортні засоби перевірені на:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]