Por lo general, no soy una "persona del automóvil", así que espero poder explicar esto lo suficientemente bien como para obtener ayuda aquí:
Cuando envío mensajes a un dispositivo OBD-II, recibo una respuesta en la mayoría de los autos que he probado. Sin embargo, con los autos que aparentemente tienen más de un chip ECU, recibo una respuesta de cada uno de ellos. Por ejemplo, si envío un 01 0C
comando PID a un vehículo con 3 chips de ECU, recibo 3 respuestas que generalmente son muy similares pero aún diferentes.
Se 01 00
supone que un comando devuelve 4 bytes que indican los PID admitidos del vehículo, pero esto también devuelve 4 bytes para cada ECU, uno de los cuales es de 4 bytes completamente desarrollados con varios indicadores activados y desactivados, mientras que los otros parecen tener solo un puñado de banderas activadas (estas banderas hasta ahora parecen ser siempre banderas que están incluidas en la respuesta 'principal', pero no estoy seguro si este es siempre el caso).
Ejemplo:
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
Las últimas dos líneas consisten en banderas que también están marcadas dentro de la primera línea, pero la línea 3 tiene una bandera adicional que la línea 2 no tiene.
Me parece que tal vez hay una sola ECU que califica como el chip 'primario' que debería estar escuchando cuando envío comandos, y (creo) entiendo que puedo usar una máscara / filtro CAN ID para solo pon atención a las que necesito.
La pregunta es: ¿existe realmente una 'ECU primaria' a la que deba prestar atención, o son todas estas respuestas igualmente importantes? Si hay uno primario al que necesito apuntar, ¿hay un comando que pueda enviar para determinar cuál es el 'más significativo'?
Vehículos probados en:
2011 Chevy Cruze [2 ECUs]
2015 BMW M5 [3 ECUs]
2015 Range Rover Autobiography [3 ECUs]