06-07-2016 01:06 AM
I am using Automotive Diag Command Set to communicate with a LIN ECU via diagnostics. I have a basic questions regarding timeout.
I open diagnostics and try to send any request to the ECU, i.e. request seed. It the ECU doesn't respond within the defined timeout, I get an error -8260 from the ADCS, which is plausible. In this case the request will be sent, but there is no response from the ECU.
But sometimes I get the error -1074384886, whereas NOTHING will be sent to the LIN bus, so there can't be also any response from the ECU. The error means:
NI-XNET: (Hex 0xBFF6300A) The operation timed out. Solution: specify a timeout long enough to complete the operation, or change the operation in a way that it can get completed in less time (e.g. read less data).
I don't really understand this. Which timeout I should set? The only property I can set is the "TimeoutDiagCommand" by calling the Set Diag Property.vi. But this timeout should be the timeout until the ECU must respond...
- LabVIEW 2014
- XNET 15.0
- ADCS 15.0
Madottati
06-09-2016 02:28 PM
The ADCS toolkit is built on top of the NI-XNET API and if we drill down into most of the functions you will find one of three VIs that do most of the low level heavy lifting: Diagnostic Service.vi, Diagnostic Frame Send.vi, and Diagnostic Frame Recieve.vi. Internally, these VIs call a XNET read or write and in the case of Diagnostic Frame Receive there is a timeout input that can be used. My initial suspicion is that the timeout for Diagnostic Frame Revieve.vi is triggering the XNET error somewhere in your code. Are you using a shipping example to create the issue? Are you using the Demo ECU (LIN).vi shipping example or a live ECU? Are you able to reproduce the issue with the shipping examples and demo ECU so that I can easily reproduce the problem on my end?
It would also be nice to know what hardware you are using to help us identify the available troubleshooting steps that you are capable of performing.
Are you using the XNET bus monitor to view the traffic on the LIN bus or are you using a 3rd party monitor?