Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

slow communication speed using serial port

I have recently upgraded from Labview v5 on a windows 3.1 platform to Labview 7 on windows 2000 profesional platform. The vi I am running communicates to Analogue devices 6B via the serial port. The conumication to the analogue devices is now running atleast 20 times slower. Does anybody know why this may be?
0 Kudos
Message 1 of 4
(3,661 Views)
There are a variety of possible reasons.

Did you make a copy of your VIs and ensure that they were all compiled and saved for LV 7? If not, they will use extra memory until you do so.

Windows 2000, because it has a more secure kernel than Windows 3.1, is going to be inherently slower at some things. It wouldn't surprise me if serial I/O were one of those things.

How have you shown that it is the serial I/O that is the only cause for the slowdown? Have you used the VI profiler?

Are you using the serial compatibility VIs in LabVIEW 7? How easy would it be for you to use VISA directly?

What size transfers are you using? At what speed? If you are doing lots of small transfers at a high baud rate, you might consider using VISA directly, and
setting the relevant Reads and Writes to "Do I/O Synchronously". This will improve the turnaround time for the VISA Reads and Writes (at the expense of consuming the thread until the I/O completes).

I hope something in here helps. The more precise you can be about your application, the easier it will be for us to help.

Brian
0 Kudos
Message 2 of 4
(3,660 Views)

I have recently had similar problem upgrading from Windows 95 and Labview 5.1 to Windows XP and Labview 7.1.  

I installed the driver for the version of Labview I was using using from

https://sine.ni.com/apps/utf8/niid_web_display.download_page?p_id_guid=E3B19B3E9208659CE034080020E74... .  Then replaced the input and outputs with the new drivers. 

Using the Updated AI-Read for B12 module and the AO-SET for B21 module the cycle rate was about 5 minutes for 1,000 cycles of the VI. After some trouble shooting I found that the AO-SET function did not work properly.  I copied and pasted the AO-SET from the example in

<FILE> <OPEN> <LABVIEW7.1> <INSTR.LIB> <ad6b> <ad6b> <ad6b> <MonitorandControlExample.vi>

Now have have 1,00 cycles of the VI in 3 seconds!

 

0 Kudos
Message 3 of 4
(3,443 Views)
Should have read 1,000 cycles in 3 seconds
0 Kudos
Message 4 of 4
(3,437 Views)