01-19-2023 04:44 PM
Using the Automotive Diagnostic Command Set 18.5,
LabWindows/CVI 2015 on WIN7 Host PC
NI-USB-8506
ndStartDiagnosticSession command call is hanging up during program execution and never exits.
Seems some infinite Tx/Rx loop is happening between the ECM and the Interface.
When executing the program in debug configuration, simply stopping and resuming the execution of the program clears the problem and the program continues
The sequence flow:
int = ndOpenDiagnosticOnLIN (Interface, 10417, 98, "MasterReq" , "SlaveResp" , &DiagStruct);
SUCCESS
int = ndStartDiagnosticSession(&DiagStruct,dataIn,0) No return,
Program just HANGS here in an indefinite Tx/Rx interchange between interface and ECM.
*
*
Manually break execution & resume >
SUCCESS
int = ndDiagnosticService (&DiagStruct, &resp, &dataIn, word_size, dataOut, &size_word);
SUCCESS
I've tried increasing the Timeout Diag & Timeout FC (Bs) properties without success.
Looking for ideal way to handle this condition
Is there a timeout top force the exit?
Is this something I may need to address in the ADCS_Lin_Database?
Thanks
01-20-2023 11:29 AM
to re-phrase and clarify if it helps....
The ECU at some point begins to transmit repeated negative responses of {7F 10 12} indefinitely, indicating an unsupported sub function error occurs.
No timeout from the ndStartDiagnosticSession command ever occurs,
therefore the program execution is stalled at that point in the code indefinitely waiting for this function to exit.
Ultimately I need to resolve what | why the negative response.
However I need a way to break out of this condition to continue and handle it in the code.
Somewhat green here so I am unsure whether this is done using a timeout property of the ADCS, editing the ADCS_LIN_Database, or other.