From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
11-13-2017 06:23 AM
I am getting a status = -8005 response from the ndOpenDiagnostic() function.
-8005 means - A DLL required for communication with the ECU could not be loaded. Probably this library is not installed. What DLL am i missing?
Using the following:
NI-9860 LIN interface device (XNET device)
LabWindows 2015, Automotive Diagnostic Command Set 15.0, CAN 14.0 , XNET 16.0
Code:
#define MasterRequestFrame "" // "" takes the default value "MasterReq"
#define SlaveResponseFrame "" // "" takes the default value "SlaveResp"
TD1 DiagStruct = {0,0,0,0,0,0};
WriteData[0] = 0x62;
WriteData[1] = 0x03;
WriteData[2] = 0x22;
WriteData[3] = 0x01;
WriteData[4] = 0x00;
WriteData[5] = 0xFF;
WriteData[6] = 0xFF;
WriteData[7] = 0xFF;
status = ndOpenDiagnostic (“LIN1@nixnet: ADCS_LIN_database”, 10417, 0x62, MasterRequestFrame, SlaveResponseFrame, &DiagStruct);
status2 = ndDiagnosticService (&DiagStruct, 1, &WriteData, word_size, &ReadData, size_word);
Solved! Go to Solution.
11-14-2017 09:38 AM
Hey,
Are you using this module within a cRIO, or cDAQ chassis? If so, do you have the NI RIO driver or the DAQmx driver installed?
Regards,
Shezaan Noorani
11-14-2017 10:23 AM
its actually "ndOpenDiagnosticOnLIN()" and I have both drivers installed.
I changed the interface name to LIN6
11-15-2017 06:02 PM
Hey,
Thank you for providing that image, I was wondering if you have tried to uninstall the XNET or CAN driver and reinstall it to see if it resolves the issue with the dll? Also have you tried uninstalling and reinstalling the Automotive Diagnostic Command set 2015? I would give that a shot to see it would address the issue being associated to a bad install.
Regards,
Shezaan Noorani
11-16-2017 08:07 AM
The function ndOpenDiagnostic() is only applicable to CAN networks. For LIN, try using the ndOpenDiagnosticOnLIN() function.
11-17-2017 09:41 AM
I uninstalled & re-installed the CAN, XNET and ADCS software.
The issue is still exists:
When I perform the following:
sprintf(Interface, "%s","LIN6@nixnet:ADCS_LIN_database");
status = ndOpenDiagnosticOnLIN (Interface, 10417, 0x62, MasterRequestFrame, SlaveResponseFrame, &DiagStruct);
status = -1074384560
sprintf(Interface, "%s","LIN6:ADCS_LIN_database");
status = ndOpenDiagnosticOnLIN (Interface, 10417, 0x62, MasterRequestFrame, SlaveResponseFrame, &DiagStruct);
status = -8005
It is there a compatibility issue with CAN and XNET software or ADCS ?
Thanks,
Dennis
11-17-2017 10:08 AM
We are on the right track with error -1074384560. It indicates that the underlying XNET driver is not aware of the ADCS_LIN_database or where it is located. To resolve it, open the NI-XNET Database editor in the Start Menu -> National Instruments -> NI-XNET folder. Then click on File -> Manage Aliases to open a dialog. If the ADCS_LIN_database is not on the list of Aliases, we can add it by locating it at
C:\Program Files (x86)\National Instruments\<LabVIEW Version>\examples\Automotive Diagnostic Command Set\ADCS_LIN_database.ldf
Then we will need to deploy that database to the target by connecting with the IP address of the cRIO and clicking deploy. You will need to repeat this procedure with any of your own databases as well.
The "@nixnet" in the interface name tells ADCS to use the XNET driver instead of NI-CAN. If "@nixnet" is missing from the interface, ADCS will look for the NI-CAN DLLs and hardware on the target but won't find any on a cRIO
11-17-2017 10:10 AM
Correction: you won't need to deploy the database to a cDAQ target such as the 9171. Deployment only applies to real time targets.
11-17-2017 10:44 AM
I have added the Aliases but I can not find the "IP address of the RT Target".
The cDAQ1 - Ni-9860 device has no IP address.
11-20-2017 02:46 PM
In part but I am now getting status2 = -8260 from the ndDiagnosticService.
printf(Interface, "%s","LIN6@nixnet:ADCS_LIN_database");
status = ndOpenDiagnosticOnLIN (Interface, 10417, 98, "" , "" , &DiagStruct);
Delay(2);
status2 = ndDiagnosticService (&DiagStruct, &resp, &dataIn, word_size, &dataOut, size_word);
When I fill in the MasterRequestFrame and SlaveResponseFrame (ndOpenDiagnosticOnLIN) with 0x3C (60) and 0x3D (61) I get a negative -107 error.