Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Can i monitor engine performnce in real time using Labview?

Hi,
 
  I'm very new to LabView and programming in general.  I would like to use LV to monitor real time engine performance via a Serial to USB connection, creating a simple VI to monitor relevant sensor outputs such as RPM, water temp etc.  Is this possible simply using the software and the connection to the vehicle ECU, or will i need to connect via external diagnostic equipment?
 
       Thanx,
 
                  Sadz.
0 Kudos
Message 1 of 12
(20,534 Views)
does the ECU comunicate via CAN bus? if so you can connect directly via NI CAN hardware
- James

Using LV 2012 on Windows 7 64 bit
0 Kudos
Message 2 of 12
(20,528 Views)
  The ECU is an MBE967EF connected via a serial type connection.
 
           Sadz
0 Kudos
Message 3 of 12
(20,518 Views)
the connector may be a db9 but it may not be serial
- James

Using LV 2012 on Windows 7 64 bit
0 Kudos
Message 4 of 12
(20,515 Views)
 
 
  Thanks for the help with this.  Here is a wiring diagram of the serial cable which connects the ECU to the serial - USB cable.
 
 
 
 
 
              Sadz.
0 Kudos
Message 5 of 12
(20,509 Views)
do you know what protocol they are using? is it OBDII ?
- James

Using LV 2012 on Windows 7 64 bit
0 Kudos
Message 6 of 12
(20,482 Views)
Hi,
 
  I've had a chat with the company that manufacture the ECU (MBE systems) and have been told that it is not OBD2 compliant.  It uses a specific MBE systems protocol that is restricted for the specific purpose that people cannot manipulate it! 
 
  A piece of software is supplied with the ECU called Easimap 5 (http://www.sbdev.co.uk/Engine_Management_Systems/ECU/easimap_software/Easimap5_016Demo.exe) , which is used to map the ECU and also has the ability to do what i want to design in LabView, simple real-time diagnostic read and display.
 
  Does the specific protocol mean that LabView cannot be used, or is there a way around this?
 
  I have been playing around and got the communication link between the ECU and the Easimap software, however i cannot get any data using LabView (using the Instrument I/O assistant - or the DAQ assistant as it is a none DAQ specific piece of equipment).
 
 
  Help!!
 
            Adam
0 Kudos
Message 7 of 12
(20,463 Views)
Adam,

I've worked quite a bit with interfacing third party ECUs and other serial equipment. Based on the pinout and the information you provided, the ECU almost definitely uses RS232 for low-level communications for sending data back and forth. So, getting LabVIEW to communicate with the ECU on a byte level should be fairly trivial.  Now comes the hard part. We have no way of knowing HOW to talk to the ECU without some documentation from the ECU manufacturer.  Without knowing what specific commands can be sent and received from the ECU, or knowing if it implements a specific protocol that communicates over RS232, we will not be successful in communicating with it. This is like being able to hear and see someone, but not understanding their language.  

Without cooperation from MBE systems, you will have to resort to reverse engineering the commands for the ECU.  This could be accomplished by "sniffing" the serial communications while using the Easimap software.  I can't recommend doing this unless you are very well versed in serial communications, the workings of the ECU, and don't have any fear of possibly "bricking" your ECU. 🙂

So, my recommendation is, unless you can get some documentation from MBE, you will not have much success, no matter what programming language you use (LabVIEW, C, Visual Basic, etc).

What are you trying to accomplish? We've had users implement ECUs using NI's CompactRIO (http://ni.com/compactrio) platform and modules from Drivven, Inc (http://www.drivven.com/). 

Hope this helps a bit...
--Paul Mandeltort
Automotive and Industrial Communications Product Marketing
Message 8 of 12
(20,448 Views)
Hi Paul,
 
  Thanks for the help, and a great explanation!
 
  I'll give you a brief background summary.  I've been asked by a group curently building a small race car based on a Honda CBR 600 engine to design a program to monitor real-time engine output.  Unfortunately the Honda engine has no management system installed so cannot be used, but they have an externally built Caterham kit car based on a 1600 Ford engine with an MBE 967ef management system.  This is potentially the same management system that will be fitted to the Honda engine, so i have been asked to use this to develop the program.  I have also been specifically asked to use LabView as they have recently purchased the software and for the possibility for future development.  At the moment they require simple engine output values to be displayed in order to monitor performance, such as RPM, water temp and throttle position etc.
 
  I have discussed the problem with a colleague who also suggested using the RS232 connection to listen and intercept communications between the ECU and the Easimap software, however he did not mention 'bricking' the ECU which i don't think would be appreciated! : )
 
  I am currently contacting the guy at MBE that i previously dealt with, in a last ditch attempt to try and acquire some protocol information.  I'll let you know if I make any progress, would it be possible to contact you a bit more directly or would you prefer to stick to using the NI forums?
 
    Regards,
                    Adam
0 Kudos
Message 9 of 12
(20,427 Views)

Right,

  I've managed tp get some information from an MBE systems rep, though i'm unsure on how helpful it will prove, as stated earlier i'm not perticularly versed in Labview.

  In the document it suggests putting the ECU into 'broadcast mode' where a set of 16 parameters are permanently transmitted.  This transmission is for datalogging functions using the easimap software.  It also describes how the sent message packet is structured and gives a table of available parameters, engine speed etc.

  So does this mean that Labview could recieve information as a datalogging function, and is this achievable using only Labiew proffesional or would hardware/software add ons be required?  Also would i have enough information to be able to seperate the message packet into the key values i need and design a real-time output display?

         Adam

0 Kudos
Message 10 of 12
(20,362 Views)