Automotive and Embedded Networks

cancel
Showing results for 
Search instead for 
Did you mean: 

ADCS "Diagnostic Service.vi": Use a custom response service ID to listen for?

Thanks for these details.

 

I also can communicate with these IDs:

 

0x17F873F0

0x17FA73F0

 

Unfortunately this also does not seem to be ISO-TP compliant if I compare it to the details you pointend out (reserved bit is set).

And also the flow control frame is on another ID.

 

The communication is needed for some development- and end-of-line-testing, so may be that's why it's not ISO-TP compliant.

0 Kudos
Message 11 of 12
(3,104 Views)

Ok here is a last idea on how you might be able to make the communication work, although it's a pretty dirty workaround..

 

If your ECU is still somewhat ISO TP compliant, there should be a timeout setting of 1 second that the ECU waits for the missing flow control frame before giving up the transmission. The same timeout is on ADCS's side. If you start the diagnostic request in ADCS and manually send a CAN frame which looks just like the expected flow control frame a couple of milliseconds later, the ECU will start sending consecutive frames.

The Flow Control Frame consists of the following parameters: 30 | Blocksize | STmin

If you set the Flow Control Frame to 30 00 05 , then the ECU should always send the rest of its message without waiting for another flow control frame from ADCS and you are good to go. Don't forget to also set the parameter to 0 in ADCS. You can do this with the VI "Diag Set Property" and the property ID "Receive Block Size (BS)".

0 Kudos
Message 12 of 12
(3,098 Views)