LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Serial Communication problem in LabVIEW 7.0

I recently upgraded my test computer from a 450 Mhz machine to a
Del 2.8 Ghz Pentium 4processor with 512meg's of ram using Windows 2000 for the operating system running LabVIEW 7.0.

I use the serial port to communicate with a piece of hardware,
Rs232, 115200 baud, 8 bits, 2 stop bits. NO hardware or software handshaking

The hardware is capable of receiving data from the computer at a full 115200 baud up to 65k transfers at a time with no extra delays.

The problem that the serial data coming from the new Dell computer will send out 2 bytes then waits 2 to 3 milliseconds and sends 2 more bytes.

I generated a separate serial VI that will jest shove data out the serial port.
The VI is a VISA configure serial po
rt, into a while loop that contains 6 VISA Write VI
And on the backside of the wile loop a VISA close.

The above VI will generate the serial data stream as stated above
EXCEPT when I put a PROBE on each of the ERROR OUT of the 6 writes, then the serial port will generate a continuous serial data stream with no millisecond breaks.

I have changed the FIFO Buffer settings (all the possible combinations) of the serial port in Windows 2000, and that has hade no effect.

Any help would be greatly appreciated

James Zumstein

E-mail Zumstein1@llnl.gov
0 Kudos
Message 1 of 4
(3,046 Views)
Greetings!

Serial port commucations problems can be a real joy, can't they? 🙂 Have you tried communicating with your instrument with Hyperterm? Usually Hyperterm is capable of operating with almost no overhead, so you can see if there's any strange symbols being transmitted that might be holding things up. There might be an extra CR being inserted, or something like that, which will show up as heiroglyphics in Hyperterm. See if all your symbols coming back are valid. This is where I usually start.

Hope this helps.

Eric
Eric P. Nichols
P.O. Box 56235
North Pole, AK 99705
0 Kudos
Message 2 of 4
(3,046 Views)
Yes I have. I am also monitoring the serial port on my target machine (Valid Data "FRAME" and "EMPTY") so I can see each byte sent. There are no extra characters sent by the LabVIEW code. The LabVIEW code sends 2 bytes and waits 2 to 3 milliseconds and sends again.

I have also set up the Measurement & Automation for my com1 port and opened a VISA session. The VISA session works as expected, that is if I send 10 bytes, they come out as 10 bytes no spaces between them.
0 Kudos
Message 3 of 4
(3,043 Views)
James,
After reviewing your VI I see that you are running your while loop with no "waits". Ideally VISA handles the comms for you but the serial port uses CPU resources quite heavily. Also I don't quite understand the 2 stop bits since you are not using any handshaking or parity, therefore loading your datastrem with two extra bytes of nothing. You may want to check your UART setting for the comm port in process.

Kup
0 Kudos
Message 4 of 4
(3,043 Views)