LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

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

0 Kudos
Message 1 of 2
(3,076 Views)
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.
0 Kudos
Message 2 of 2
(3,074 Views)