09-13-2006 04:33 AM
I have no solution either, but I have the same problem on a Dell Latitude D800 running LV7.1, transmitting on a serial port at 115'200 baud. I realize this post is not helpful, but since it's yet another Dell, it might be another confirmation that the problem is with the computer rather than with the program.
cheers
Martin
09-14-2006 04:05 PM
Hello,
Along with your serial communication's specific parameters (amount of data and the baud rate, for example), overrun errors can depend on the speed and memory of the computer system. If the computer's speed and memory are not able to keep up with the higher baud rate, some possible fixes to consider include:
1) Read more data from the port at a time
2) Read from the port more often (this could be affected by any other time-consuming operations/code that run between reads)
3) You can experiment with increasing the buffer size by using the "VISA Set I/O Buffer Size.vi". However, this may only delay the time it takes for the buffer overrun to occur. Please refer to the following KnowledgeBase or the VI's help file (where there is a link to a shipping example that uses the VI) for more information:
Setting the Serial Port Buffer Size for Receiving or Transmitting Data with VISA
4) You can monitor the data on the port using the "VISA Bytes at Serial Port" VI/property node on the Serial function palette. This might help you highlight the difference between two different systems and how they are handling the same amount of data on their serial ports. Another very useful VISA troubleshooting tool that might help in the same way is the NI-SPY utility. NI-SPY can "track the calls your application makes to National Instruments test and measurement drivers (NI-VISA). It highlights functions that return errors so you can spot functions that failed quickly. NI-Spy can also log these functions to disk so you can check them after the capture of data.
Daryl E
National Instruments
Applications Engineer
09-14-2006 04:43 PM
09-15-2006 08:08 AM
09-15-2006 09:27 AM
I would also like to stress (like others in this thread) that this does not seem to be a problem of reading the buffer too infrequently. My labview program is essentially doing nothing else than reading the data, and it's doing this on a centrino 1.5GHz system (or something very close to this, i'd have to look up the actual frequency). at any rate, the computer is by far fast enough to read the data.
To really make sure that this is the case, I displayed the number of bytes at the serial port on my VI's front panel, so I can see whether the buffer fills up or not, and I can see how large the number is when the program crashes. It turns out that the number of bytes at serial port is always very little (a few 100 at most), and when it finally crashed, there were about 700 bytes there. I did this with the standard 4K buffer, and also with an enlarged 64K buffer - same result.
I finally "solved" my problem by simply disabling automatic error handling in the VI - so now the error might occur once every few minutes, but all that might happen is that I lose some data points - which in my application is uncritical.
best regards
Martin
06-22-2007 07:06 AM
For what it's worth to anyone reading this thread...
We've seen a similar problem with intermittent buffer overrun errors when the buffers clearly weren't full. We found that the VISA flush vi wasn't always clearing the buffer full status. Using two flushes in sequence seemed to fix the problem.
09-02-2009 01:24 AM - edited 09-02-2009 01:27 AM
Hi all,
To add to the frustration and confusion; I have this problem on my 4-NI-USB/232 box, but not on my Dell computer port. However, we have this problem on another DELL com-port though.
I can provoke this error using the erroraneous box anywhere, and using a "good" box will make it work anywhere... So could this be something related to the actual RS232/UART chips that has gotten some kind of hickup?
I am using LV8.6.1 and NI-serial 3.5
12-08-2009 03:30 PM
06-08-2010 01:18 PM
03-25-2011 02:39 PM