Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

RS 232: How to avoid "Queue overflowed" ?

Hello,

I've got a measurement system which delivers 400 values (each of them is a 16-bit-integer) via the RS 232 to the PC. I would like to visualize and record these values.

To get an idea how LabVIEW handles communication with RS 232, I had a look at the example "LabVIEW <-> Serial.VI", which reads a given amount of bytes from the RS 232 and displays the data on the display. The problem is the high transfer rate, which causes the error message x4001, meaning: "Serial port VI error, receiving queue overflowed".

I think I've to use something like a buffer, but I don't have any idea how to realize this in LabVIEW.

Can anybody help me, please ?

Matthias


Thanks a lot, Matthias
0 Kudos
Message 1 of 2
(5,260 Views)
Matthias,

Normally a queue overflow occurs because you are not reading the data fast enough, not that the buffer it too small. When you ran the example did you tell it to read 800 bytes (all your data) with the timeout set high enough for all the data to arrive? If so and the error occurred then see below.

If you would like to set the size of the buffer refer to the following Knowledge Bases.

http://digital.ni.com/public.nsf/websearch/DF626A27C756AC98862565950055D062?OpenDocument

http://digital.ni.com/public.nsf/websearch/98F799364B833C2A86256ADC00732073?OpenDocument

If none of these solutions work you may need to transmit the data at a slower rate.

Evan Collier
Applications Engineer
National Instruments
0 Kudos
Message 2 of 2
(5,260 Views)