मैं आम तौर पर एक 'कार व्यक्ति' नहीं हूं, इसलिए उम्मीद है कि मैं यहां कुछ मदद पाने के लिए इसे अच्छी तरह समझा सकता हूं:
जब एक OBD-II डिवाइस पर संदेश भेजते हैं, तो मुझे उन अधिकांश कारों में एक प्रतिक्रिया मिलती है जिन्हें मैंने परीक्षण किया है। हालांकि, जिन कारों में जाहिरा तौर पर एक से अधिक ईसीयू चिप होते हैं, मुझे उनमें से प्रत्येक से प्रतिक्रिया मिलती है। उदाहरण के लिए, अगर मैं 3 ECU चिप्स वाले वाहन को 01 0C
PID कमांड भेजता हूं, तो मुझे 3 प्रतिक्रियाएं मिलती हैं जो आमतौर पर बहुत समान होती हैं लेकिन फिर भी भिन्न होती हैं।
एक 01 00
कमांड को 4 बाइट्स लौटाना चाहिए, जो वाहन के समर्थित पीआईडी को बताता है, लेकिन यह प्रत्येक ईसीयू के लिए 4 बाइट्स भी लौटाता है - एक 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 में नहीं है।
यह मुझे लगता है कि शायद एक ईसीयू है जो 'प्राथमिक' चिप के रूप में योग्य है जिसे मैं कमांड भेजते समय सुनता रहूं, और (मुझे लगता है) मैं समझता हूं कि मैं कैन आईडी मास्क / फिल्टर का उपयोग कर सकता हूं केवल उन लोगों पर ध्यान दें जिनकी मुझे आवश्यकता है।
सवाल यह है कि क्या वास्तव में एक 'प्राथमिक ईसीयू' है जिस पर मुझे ध्यान देना चाहिए, या ये सभी प्रतिक्रियाएं समान रूप से महत्वपूर्ण हैं? यदि कोई प्राथमिक है जिसे मुझे लक्षित करने की आवश्यकता है, तो क्या कोई आदेश है जिसे मैं यह निर्धारित करने के लिए भेज सकता हूं कि 'सबसे महत्वपूर्ण' क्या है?
वाहनों पर परीक्षण किया गया:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]