We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Please answer me:
1. What is the difference between CAN Node ID & CAN Message ID? How the CAN Node ID helpful in Communication?
( I am not a native English speaker. )
There are several CAN devices on a CAN-Bus. Device-A, Device-B, Device-C.
Device-A is configured to only receive CAN-Messages with CAN-IDs 0xA10, 0xA50; Device-B is configured to only receive CAN-Messages with CAN-IDs 0xB10, 0xB50, 0xB70; Device-C is configured to only receive CAN-Messages with CAN-IDs 0xC10, 0xC50, 0xC90;
So there are CAN-Nodes: A-0xA10, A-0xA50, B-0xB10, B-0xB50, B-0xB70, C-0xC10, C-0xC50, C-0xC90.
TP Layer (ISO-15765) is responsible to deliver UDS (ISO-14229) Data from one device to another, even the UDS data is more than 8 bytes.
DS Layer is on the top of TP Layer.
Device-A: A-0xA10 for receiving Runtime data. A-0xA50 for receiving UDS data. (Runtime Diagnostic is possible)
When Device-C wants to send UDS data to Device-A, it sends the UDS data (100 Bytes) with CAN-ID 0xA50 via TP Layer (more than 100 Bytes). Once Device-A's TP Layer receives the UDS data (more than 100 Bytes), TP Layer passes the UDS data (100 Bytes) to it's DS Layer. Device-A's DS Layer then analyzes the UDS data, fetches the Service-ID......
For automotive, in the real world, the UDS solution is decided by Car manufacturers, and controlled by very less solution providers. Since you have CANoe, I believe you should have a better way to learn UDS and ISO 15765-2.
Is it possible that one ECU will request another ECU for diagnostic data using Services? I think it is not possible. Tester needs to send Diag services for diagnosing the ECU. One ECU can't diagnose other ECU.
Please let me know does CAN ID '0' is valid or not?