OBD1 ALDL communication with Labview VISA

Hello all,
I am new to serial communication with labview.
Task:
trying to send a command and receive data from a 1987 corvettes ECM using VISA serial block in labview.... and failing hard
Troubleshooting the problem:
Hardware: works with EFI live V4 (software that communicates with cars), send and receives data all day long, so my hardware is not the problem
software: it is something i am doing wrong in my coding
Example code form EFI live V4:
37:30.137: Send: $80,$57,$01,$00,$28
37:30.137: Finished writing frame
37:30.137: Wait 10 ms after writing, before reading...
37:30.147: Start reading frame
37:30.147: Aldl frame header byte: $80
37:30.147: Aldl frame length byte: $57
37:30.147: Recv: $80,$57,$01,$00,$28
37:30.147: Finished reading frame
37:30.147: MAX232 echo: $80,$57,$01,$00,$28
37:30.147: Wait 10 ms after writing, before reading...
37:30.157: Start reading frame
37:30.160: Aldl frame header byte: $80
37:30.160: Aldl frame length byte: $95
37:30.241: Recv: $80,$95,$01,$1E,$5B,$00,$00,$00,$00,$00,$44,$44,$1D,$00,$9C,$D6,$00,$00,$FF,$66,$00,$80,$80,$00,$80,$64,$80,$FF,$00,$80,$00,$27,$27,$00,$00,$00,$77,$00,$3A,$00,$43,$00,$00,$00,$00,$00,$00,$00,$00,$01,$BD,$00,$00,$00,$00,$00,$00,$D5,$2A,$22,$00,$07,$00,$00,$0C,$00,$DE
37:30.241: Finished reading frame
Example code protocol i tryed into the visa block in labview:
$80,$57,$01,$00,$28
$80,$57,$01,$00,$28\n
$80,$57,$01,$00,$28\r\n
$80$57$01$00$28
$80$57$01$00$28\n
$80$57$01$00$28\r\n
80 57 01 00 28
80 57 01 00 28\n
80 57 01 00 28\r\n
8057010028
8057010028\n
8057010028\r\n
VISA read Result:
i just get an eco back of the same command i sent
Question:
is there something simple i am missing in the command protocol or a possible setting i am overlooking?
also what is the purpose of the “$” in the Hex command?   
background info:
vehicle : 1987 corvette
ECM type: 16198259
com. protocol : ALDL OBD1
labview v8.5
baud rate: 8192
data: 8 bit
parity: none
stop: 1
buffer size: 256

Are you actually supposed to be sending hex? You need details on the actual format of the data. I don't think viewing the output of some other program will tell you what is truly being sent and received unless its a sniffer such as portmon.
You can right click on the string control and select hex display. You also did not include the actual VI so no one knows if you have it set to send \r and \n correctly.

Similar Messages

  • TCP/IP communication with LabVIEW Full?

    Hi,
    I would like to know if the TCP/IP VIs are included with the Base or Full version of LabVIEW?
    I was looking at the different versions of LV and one of the features of the Pro version is 'Network Communication'.
    I have done TCP/IP communication a while ago and I am quite sure it was with the Full version. I have the Pro version now but this is for a customer.
    This brings another question: Is there a trick to be sure your code is going to work on a system with LV Base if you develop on a system with LV Pro?
    Thanks!

    I think that was a good answer to your first question. To answer your second question, if you are creating executables to be run on a computer with LabVIEW Base there will be no problem running the executable because LabVIEW Base has the run time engine. If you are sending VIs to another computer with LabVIEW Base they will not be able to access any VIs that are not included in there package. There is no simple way to tell that these VIs are not included except through the link in the previous post. In LabVIEW 8.6 many of the help documents state what LabVIEW package installs the VI. If all of the VIs state that they are installed with LabVIEW Base you will have no problems.
    Vince M
    Applications Engineer

  • Tcp/ip communication with LabVIEW

    Does anyone have experience building an application with LabVIEW that
    communicates over a socket? I new to LV, but it appears that the
    application I have in mind is possible. Specifically, the LV
    application would open a socket (port and IP known ahead of time) and
    send a character to that socket. Depending on the character sent, the
    application on the other end (a UNIX process) would send back a one
    integer value to indicate the number of packets to expect. The LV
    application would next need to parse each packet for such things as the
    packet length, data length and so forth and then distribute those data
    to appropriate sub-processes. The header value types are integer,
    double, byte and character. The data values are all 4-
    byte integers.
    The sending code (on the UNIX side) was written in C. The aggregate
    throughput is relatively low; no more than 2,000 bytes per second,
    including packet headers.
    If I can get this to work, the results would represent a significant
    cost savings over competing alternatives. As a federal employee, I'm
    always looking for the most cost effective solutions.
    Thanks.
    -Robert
    Basically, I'm just looking for confirmation that this sort of thing is
    possible with LV. And, I'd like to get a better idea of how hard it
    would be to do.
    Sent via Deja.com http://www.deja.com/
    Share what you know. Learn what you don't.

    Hi everyone,i am currently trying to communicate with two computers at the moment using TCP/IP.I have done a simple server and client VI but the server doesnt seem to be writing the string im trying to send and it also gives an error message
    Error 1 occurred at TCP Write in Server.vi
    Possible reason(s):
    LabVIEW:  An input parameter is invalid. For example if the input is a path, the path might contain a character not allowed by the OS such as ? or @.
    Please find attached the simple server and client VIs i have done.can you help me?
    Thanks
    Osowoaji
    Attachments:
    Server.vi ‏13 KB
    Client.vi ‏13 KB

  • How to use a namespace in a C++ code communicated with labview

    I have a long code written in c++.  Now I want to acquire data with labview, send some data points as an entry to my c++ code and it will return a value to Labview.  I tried with a simple sum of two elements and it worked, but in my long code I have so use some namespaces and subfunctions.  If I try to compile it does not accept a namespace such as std.
    Can anybody help me?

    I'm not certain the difference (and there isn't an attachment). However, if the functions you are exposing from your DLL are not marked as extern "C", then you'll have a lot of difficulty calling it from LabVIEW. You don't want to deal with the C++ name mangling, so keep the API simple and straight C. Behind the function signature, however, you can use whatever you want.
    If you are already doing this, can you answer the following
    1. What, exactly, is going wrong?
    2. What version of LV?
    3. What version and platform is the C++ compiler?
    Brian Tyler
    http://detritus.blogs.com/lycangeek

  • Fast low level Ethernet communication with LabVIEW

    Hello, I want to read Ethernet packets with LabVIEW (an private protocol, not UDP or TCP or others). The hardware writes 40 000 packets per second. I want to use winPcap API to capture data. I’ve seen the example «packet_sniffer_project » (and others). It’s an great job. But the soft reads only 1 packet at each time (wrapper dll calls « pcap_next_ex » function) and I lose packets. With my computer, I read 25 000 packets per second. How can I read more than one packet at each time? (or all the Ethernet buffer) Thank You
    Micke

    Hi,
    maybe an example that I posted will help you
    http://decibel.ni.com/content/docs/DOC-11373
    cosmin 

  • Reading data from mlx90129 rfid tag chip by using spi communication with labview?

    Hi,
     i have evb90129 evalution board in that mlx90129 chip and external memory (cat25128) and three external sensors are there, i am logging data from chip by using rfid reader it ok i am reading. at the same time i configured spi communication and  i am trying to read data i am reading data from internal memory not from external memory i tried but i didnt suceed , now can i use labview to read data from mlx chip and external memory. for spi communication i am using sparkfunction atmega168 microcontroller and also i have spi to usb cable? now can i communicate or i required any devies? is it possible?
    thanks in advance,
    biji.

    I suspect the culprit to be the first parameter to your function actually. Calling another function requires the caller to allocate any buffer with a big enough size for the function to write something into. Allocate that array by using Initialize Array with U8 as type and the correct number as size. Pass this size also as read_length. While your code doesn't make use of this I think the third parameter to your function is either wrong or unnecessary.
    As you use it now it is really nothing more than a local stack variable which you could declare inside the fucntion just as well. On the other hand what you probably want to do is have a function prototype like:
    extern "C" _declspec(dllexport) unsigned char read_Sensor(unsigned *char read_data, unsigned long read_length, unsigned long *byte_transfered);
    But you will have to do some modifications in your C code to support that parameter correctly.
    That all said, doing the same in LabVIEW using VISA functions would have been done with about two VISA nodes, no DLL headaches and probably already long ago working.
    Rolf Kalbermatter
    Rolf Kalbermatter
    CIT Engineering Netherlands
    a division of Test & Measurement Solutions

  • USB with LABVIEW / VISA

    Hi all,
    I am a beginner in Labview. I had to develop a small prototype to read data from RS232. With VISA's functions and labview examples, everything worked fine.
    Now I would like to interface some USB devices by using similar VISA's components. In order to acquire skills in USB programming, I would like to build a simple program which for instance would get information on a simple USB device (as a USB KEY, or a USB mouse...).
    I already succesfully created specific visa drivers with the drivers wizard, installed them, see them with MAX.
    I studied the LV examples USBRawControl.VI and USBRawBulkMain.VI. But I do not succeed in getting any results. I guess I enter the wrong parameters in the example. Can anyone explain me a bit more how it works ? Or give me a set of parameters to test the LV example and get any results ?
    Thanks a lot.
    Jérémy

    No, there is no international standard in order to get/receive data from a USB device. That's exactly the problem. How the vendor implements a USB serial adapter could be completely different than implementing a USB storage device.
    You would need to ask the vendor about the data transfer mechanism - i.e. bulk or control pipe. Bulk is probably the simplest since you can just use a VISA Write or VISA Read so you would need a list of the commands to send and how the received data is formatted. This is what I used and since we wrote the firmware for the USB device, it was fairly simple. Look at the shipping example called USB - RAW Control to see how much information you need to read/write with this mechanism. If you got this to work, you would still need information on how to translate the control buffer data. I've never had to formally request this but you misght want to search the forum for posts regarding USB RAW to see if you can find more information.
    If you are getting a commercial sensor, then it is very likely that they have a dll available that can be integrated into multiple programming environments. In most cases, this is a much better solution than trying to develop your own VISA driver.

  • Using SignalExpress with LabVIEW VIs

    Hi everyone,
    a short question about interaction of SignalExpress and LabVIEW: does the integration of LabVIEW Code work although LabVIEW is not installed? I may have an application where users need to use some VIs in SignalExpress but they don't need to edit them. So it would be nice not to have too spend the money on antoher LabVIEW license.
    Cheers
    Oli
    Programming languages don't create bad code, programmers create bad code....

    Hi Oli,
    take a look into Knowledge Base Entry 3LAGNBL2: http://digital.ni.com/public.nsf/websearch/F6D5EF4620EE12EB86256FFE007D2086?OpenDocument, it tells you the requirements for doing that.
    Furthermore you will find useful information about creating these steps in the following docs:
    http://zone.ni.com/devzone%5Cconceptd.nsf/webmain/5A807DFBE89D7EAD86256ED30008D88A/$File/WP2466.pdf
    http://zone.ni.com/devzone/conceptd.nsf/webmain/B19A4046EADBFA6C86256EE90078C35E
    Hope it helps!
    Good luck programming your plug- ins and kind regards
    Stefan
    Impossible is nothing - nothing is impossible

  • Device works fine with MAx but not with Labview visa serial

    I have a Monarch rpm sensor hooked up to Monarch tachometer , it gives error while coding in labview and works fine in Max if the sensor doesn't read 0. I have written simple RS-232 programs never had an error but this one is giving errors ..not ablt to fix it..please help
    Solved!
    Go to Solution.

    No device can actually measure a speed of zero.  It can only specify that the speed is less than some minimum, which depends on how long you are willing to wait for an answer.
    I do not know anything about your instrument, but I would guess that you are getting an error which is the equivalent of "The instrument has waited the maximum permissible amount of time and did not detect any measurable motion."  This is the instrument's way of saying that the speed may be zero, or very slow, or something is broken so that it cannot make a measurement but it cannot detect the problem.
    Look at the manual for you instrument to see how it responds to the zero speed condition.  This error may be normal.  If so, you need to capture the particular error code and handle it however you think is appropriate.
    Lynn 

  • Can i communicate with labview, using ethernet or seriel modbus.

    Is it possible to communicate with a i/o module and labview. I can communicate with ethernet, canbus(cscan, devicenet), rs232(modbus).
    What is the easiest solusion.
    Is it necessary to buy PC-cards for the communication or have only to download some drivers.
    Thx

    Hello,
    To communicate with a CAN/DeviceNET bus you will need an interface card in your PC. NI has such cards along with LabVIEW VIs:
    http://sine.ni.com/apps/we/nioc.vp?cid=1329〈=US
    http://sine.ni.com/apps/we/nioc.vp?cid=1311〈=US
    To communicate with Modbus, you will NOT need any special cards but you do need software drivers for it (you'll obviously need an Ethernet card for TCP/IP and Serial port for RS232). There are several options for these drivers, however:
    1. Write your own driver VIs. You'll basically implement the Modbus protocol in LabVIEW. Modbus is a simple and open protocol.
    2. Try to search the Net for such existing VIs. I believe someone has already written such Modbus VIs.
    3. Use the Industrial Automatio
    n OPC Servers suite from NI:
    http://sine.ni.com/apps/we/nioc.vp?cid=4584〈=US
    4. Use any third-party OPC Server for Modbus.
    NOTE: in case you opt 3 or 4 above: though you may use DataSocket in LabVIEW as an OPC Client, you may want to consider LabVIEW-DSC which has a built-in OPC Client, and hence better support for OPC.
    Hope this gives you some options.
    Regards,
    Khalid

  • Lifelines trackit EEG recording with LabVIEW

    Hi, I am trying to control a lifelines trackit EEG (www.llines.com) recorder using LabVIEW via serial communication (DB9). Does anyone has any experiences connecting this device with labview? I've done several communication via serial communication with labview before but not as tough and difficult as the current task. I am not able to understand the device (trackit) command in order for me to apply the Basic Serial Read and Write VI. Please advice. I have the Lifelines trackit recorder Interface specification in softcopy as reference but do not know how to attach here. Please let me know if you guys need the  copy as reference. TQVM
    Host Transmit Write Data and Write Command
    [SOP] <AddrHi> <AddrLo> [Chr(W)] <ParamBlock> <Index> [EOP]
    Or:
    [SOP] <AddrHi> <AddrLo> [Chr(W)] <ParamBlock> <Index> [Data]# [EOP]
    Or:
    [SOP] <AddrHi> <AddrLo> [Chr(W)] <ParamBlock> <Index> <Data># [EOP]
    Or:
    [SOP] <AddrHi> <AddrLo> [Chr(W)] <ParamBlock> <Index> {Data}# [EOP]

    Is there a demo program from the manufacturer that works?? you can use portmon or NI spy to capture the serial datastream and reverse engineer the labview code. Sometimes ya have to think like a hacker.
    http://technet.microsoft.com/en-us/sysinternals/bb896644.aspx
    http://www.ni.com/support/gpib/max/nispy.htm
    Message Edited by unclebump on 02-16-2009 08:34 PM

  • USB Communication with Cygnal Kit C8051F320-TB

    Hi i am using Cygnal development kit C8051F320 - TB.
    I want to communicate it with LabVIEW.
    Some members in discussion forum earlier have posted queries regarding communication with LabVIEW to USBExpress development kit from Cygnal.
    My question is, " is it possible to use same DLL (sif32xusb.dll) supplied with USBExpress with this kit ? " .
    If anybody has tried then please send me vi along with firmware.
    Thanking you
    Ishant

    Hello Ishant,
    Based in the excerpt from the USBXpress programming guide, you should be able to:
    "The Silicon Laboratories USBXpress Development Kit provides a complete host and device software solution for
    interfacing Silicon Laboratories C8051F32x microcontrollers to the Universal Serial Bus (USB). No USB protocol or
    host device driver expertise is required. Instead, a simple, high-level Application Program Interface (API) for both
    the host software and device firmware is used to provide complete USB connectivity."
    It looks like aa1982 got it working on this post:
    usb communication with silicon lab c8051f320
    And both are using the C8051F32x series controllers, you may want to get in contact with the owner of that thread to see if he encountered any problems.
    Xaq

  • How can i use labview for communicating with pic18 microcontroller through usb port?

    Hi all,
    I want to make a DAQ card using pic 18 microcontroller which has a built-in usb protocol. I have the firmware of this
    controller which will  make it as a usb device. How can i receive the analog voltages from this DAQ card in Labview? or i mean to say that how i can communicate labview with the Pic 18 microcontroller through usb port? I have also the
    mpusbapi.dll file which is for Visual C++. Can i make changes in this dll file to make it compatible with labview?

    Which labview version do you have. Up to labview 7.1 it was no USB raw communication options. I have heard it did not work well in 7.1, but from 8.x most of the errors were fixed.
    Here is a link it should be useful http://forums.ni.com/ni/board/message?board.id=170&message.id=340676&query.id=365864#M340676
    Besides which, my opinion is that Express VIs Carthage must be destroyed deleted
    (Sorry no Labview "brag list" so far)

  • Need urgent help with communicating with the HP 4155B analyser with Labview

    i folks,
    I'm currently trying to communicate with our HP 4155B semiconductor pamaremter analyser.  I do not have experience with GPIB yet. I have installed the NI VISA.
    I was wondering if anyone could help with getting me started on how to start communicating with the device using Labview.
    I'm not certain where to start.
    Kind regards
    Rob

    Hi,
    Thanks for the help. I now have communication with the instrument.
    I was wondering if it's possible to to setup a data measurement (I-V Sweep) and be able to read the measurement data in realtime as it is being measured. So I basically see the graph updating itself on the PC during the measurement.
    Is this possible? Could anyone give advice on how I can go about this or are there any examples that can help me understand how to do this?
    I'm not completely sure how to initialise the instruemnt for communication and handle VISA WRITEs and READs. within LabView
    Best regards
    Rob

  • Example VIs for winsock with LabVIEW 7.0

    Are there any example VIs for TCP communications with winsock using LabVIEW 7.0?

    I would like to join the request - I would like to know how to use WinSock from within LabVIEW to use a modem to dial a number and connect to another PC with a modem. An extra complicaiton is the fact that I need to be able to vary the number (to access numerous data acquisition stations).
    Message Edited by alysko on 03-08-2006 03:57 PM
    Message Edited by alysko on 03-08-2006 03:58 PM

Maybe you are looking for

  • CTL populates more tables

    Hi, I write this ctl: LOAD DATA APPEND INTO TABLE ETF_LYXOR_LINE1 WHEN (STRUCTURE_LINE_COUNTING_UNIT = '1') FIELDS TERMINATED BY '     ' TRAILING NULLCOLS   STRUCTURE_LINE_COUNTING_UNIT,   TRACKER_LOCAL_TRADING_CODE,   TRACKER_ISIN,   TRACKER_MNEMO_C

  • OAS 4.0.8.x and Netscape

    Dear Friends, I am hoping there will soon be an OAS group. We have installed OAS 4.0.8 on a Sun Solaris box. We also have Netscape 4.65 installed. When we use Netscape to view OAS, the navigation trees for the various functions are not displayed. Eve

  • Home move total disaster...losing the will to live

    Moved house 4 weeks ago and the BT move was a total disaster. I currently have a neighbours land line to my BT Acccount as well as my own. I can see all the calls they make, and I am being billed for them. I also have their Infinity attached to my ac

  • Reagrding free version for  oracle e-business suite 11i

    hello everybady, Are you happy ? i hope so.... I am new member of this group , I want to install demo ( free) version of oracle apps on window 7 for practise . Please help me....

  • Mobile App - transform the screen - only vertical view

    Hi, here's my problem: My mobile application is a game. I wish that the application does not tailor to the position of the phone and was always vertical. Now screen reacts to automatically change (horizontally and vertically) and my app does not look