02-18-2015 07:39 AM
Hello All,
Just wondering whether anyone has had any succes with reading OBDII data from a without using the Automotive Diagnostics Command Set add in for LabVIEW.
I mean, just using the standard CAN or XNET vi's?
I would like to read engine RPM and vehicle speed etc.
I have been able to read these PID's by downloading an evaluation version of the add-in, but I am slightly reserved to spending £900 for the software if it can be done otherwise.
Thanks
Rhys.
02-18-2015 07:52 AM
The OBDII port is essentially just a CAN connector - you should be able to read the CAN messages from the port using either NI's CAN hardware or another CAN device (e.g. Kvaser/PCAN). That's the easy part.
The hard part is decoding the messages - you can use XNET to do this (XNET Conversion VIs) but you need to either create your own database of the messages/signals or use an existing one. You can either do this using the XNET software to build the database yourself or use a CANdb (.dbc) file or any of the other sort of database file that XNET supports for the CAN signal definitions.
I can't say I've ever tried it in my own car, but we do a lot of stuff with CAN and use both NI and non-NI hardware to do this and then use XNET to parse the messages into signal data.
02-18-2015 10:16 AM
DIDs and PIDs aren't signals, and the XNet conversion library will be little help for reading this information since you generally need to issue a request before a response is sent. Then theres other issues with multi-frame messages that XNet doesn't support. It can be done but is a manual process of getting raw frames and doing the conversion. That's why these toolkits were made.
By the way you'll probably find more help on the automotive subforum.
http://forums.ni.com/t5/Automotive-and-Embedded-Networks/bd-p/30
You'll probably need to look into the ISO spec on how to read DIDs and PIDs. I might be wrong but I think it is ISO 15765 or something.
Unofficial Forum Rules and Guidelines
Get going with G! - LabVIEW Wiki.
17 Part Blog on Automotive CAN bus. - Hooovahh - LabVIEW Overlord
02-18-2015 10:56 AM
Thanks for your initial replies.
I have connected a CDAQ with a 9862 CAN module to the OBD connector of the car.
I am able to read some data using the Bus Monitor. But the data that I require (engine rpm) is not visible.
As you mentioned, I believe that a request has to be sent for other information, and constructing that data frame for the request is the difficult part (unless I'm using the ADCS of course)
Rhys