Ben genellikle bir 'araba insanı' değilim, umarım burada biraz yardım alabilecek kadar iyi açıklayabilirim:
Bir OBD-II cihazına mesaj gönderirken, test ettiğim çoğu otomobilde bir cevap alıyorum. Ancak, görünüşe göre birden fazla ECU yongası olan arabalarda, her birinden bir yanıt alıyorum. Örneğin, 3 ECU yongalı bir araca bir 01 0C
PID komutu gönderirsem , genellikle çok benzer ancak yine de farklı olan 3 yanıt alırım.
Bir 01 00
komutun, aracın desteklenen PID'lerini belirten 4 bayt döndürmesi gerekir, ancak bu aynı zamanda her ECU için 4 bayt döndürür - biri sadece birkaç bayrağın açık ve kapalı olduğu 4 bayt, diğerleri ise sadece bir avuç bayrak açıldı (şimdiye kadar bu bayraklar her zaman 'ana' yanıta dahil olan bayraklar gibi görünüyor, ancak durumun her zaman böyle olup olmadığından emin değilim).
Misal:
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
Son iki satır, ilk satırda da işaretlenen bayraklardan oluşur, ancak satır 3'te, satır 2'de olmayan bir ek bayrak bulunur.
Bana öyle geliyor ki, belki de komut gönderirken dinlemem gereken 'birincil' çip olarak nitelendirilen tek bir ECU var ve (sanırım) bir CAN ID maskesi / filtresi kullanabileceğimi anlıyorum sadece ihtiyacım olanlara dikkat et.
Soru şu: Gerçekten dikkat etmem gereken bir 'birincil ECU' var mı, ya da tüm bu cevaplar eşit derecede önemli mi? Hedeflemem gereken birincil bir kod varsa, hangisinin 'en önemli' olduğunu belirlemek için gönderebileceğim bir komut var mı?
Test edilen araçlar:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]