Saya biasanya bukan 'orang mobil', jadi semoga saya bisa menjelaskan ini dengan cukup baik untuk mendapatkan bantuan di sini:
Saat mengirim pesan ke perangkat OBD-II, saya menerima satu respons di sebagian besar mobil yang telah saya uji. Namun, dengan mobil yang ternyata memiliki lebih dari satu chip ECU, saya mendapat respons dari masing-masing. Misalnya, jika saya mengirim 01 0C
perintah PID ke kendaraan dengan 3 chip ECU, saya menerima 3 respons yang umumnya sangat mirip tetapi masih berbeda.
Sebuah 01 00
perintah seharusnya mengembalikan 4 byte yang menyatakan PID didukung kendaraan, tapi ini juga kembali 4 byte untuk setiap ECU - salah satu yang sepenuhnya fleshed 4 bytes dengan beberapa bendera dan mematikan, sementara yang lain tampaknya hanya memiliki beberapa bendera dihidupkan (bendera-bendera ini sejauh ini tampaknya selalu menjadi bendera yang termasuk dalam respons 'utama', tapi saya tidak yakin apakah ini selalu terjadi).
Contoh:
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
Dua baris terakhir terdiri dari flag yang juga ditandai di dalam baris pertama, tetapi baris 3 memiliki satu flag tambahan yang baris 2 tidak.
Sepertinya saya bahwa mungkin ada ECU tunggal yang memenuhi syarat sebagai chip 'primer' yang harus saya dengarkan ketika saya mengirim perintah, dan (saya pikir) saya mengerti bahwa saya bisa menggunakan masker / filter CAN ID untuk hanya memperhatikan yang saya butuhkan.
Pertanyaannya adalah: Apakah benar-benar ada 'ECU primer' yang harus saya perhatikan, atau apakah semua tanggapan ini sama pentingnya? Jika ada yang utama yang perlu saya targetkan, apakah ada perintah yang dapat saya kirim untuk menentukan mana yang 'paling signifikan'?
Kendaraan diuji pada:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]