Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

waveforme transfer rate problem

Hi,

I am learning the use of numeric oscilloscopes. I use a Tektronix DPO 4104 oscilloscope plugged on a TCP/IP 100Mb LAN. I use the C library TekVisa to drive it. It works well, however it get terrible waveform transfer rate: it takes about 1mn 20 sec to tranfer a waveform of 10M points in binary mode (averaging). This means about 80sec to transfert 20M bytes. That's a lot ... I do not understand why it is so slow. My LAN is 100Mb based and it works well. I guess I missed some parameters to fix, don't I ? Is this somebody who have the same pb ?

Thanks a lot for any answer,
OL
0 Kudos
Message 1 of 9
(4,280 Views)
The DPO4000 should have a USB device port on it that you can connect to a host port on your PC. You should still be able to use VISA in this configuration. I suggest trying the transfer over USB to see if the instrument is limiting the transfer rate.
Message 2 of 9
(4,279 Views)
Thanks a lot Colin for your suggestion. Very good point.
I just test it with a USB 2 connection. It turns out that transfer rate are the same. It indeed comes from the instrument, grrrr !!
I am a bit surprised, I don't think it is limited to such a transfer rate...

Olivier
0 Kudos
Message 3 of 9
(4,276 Views)
Do you need 10M points for your application? I usually set the resolution to about 100k so the transfer is a lot quicker.
0 Kudos
Message 4 of 9
(4,271 Views)
Well, I can actually manage to use less points. However it would make things more easy for me.
Have you comparable transfer rate ? (the actual question: can i hope to get things better ?) Maybe a GPIB solution would work better ?

Thanks again for your interest!
Olivier

0 Kudos
Message 5 of 9
(4,269 Views)
I used the LV driver (VISA-based) to read a 10M capture and it took about 110 seconds using a USB connection.

I did notice that the LV driver does VISA reads of 100000 bytes regardless of the resolution on the scope. So reading a 10M sample size takes 100 VISA reads! I have some other code that does one single read and that takes an identical amount of time, about 110 seconds.

You must be doing some processing on the waveform after you acquire it? Would it be possible to keep the resolution at 10M but only capture a certain part of the waveform, for example you could capture 1M samples before and 1M samples after the trigger?

It looks like the scope is limiting the transfer rate and there's no way to speed that up.



0 Kudos
Message 6 of 9
(4,260 Views)

> I did notice that the LV driver does VISA reads of 100000 bytes regardless of the resolution on the scope. So reading a 10M sample size takes 100 VISA reads! I have some other code
> that does one single read and that takes an identical amount of time, about 110 seconds.


I get the waveform with a single viRead(..) command. However, when I look to the network activity, it seems to me that the transfer is done in several packets of about 200KBytes. What kind of code do you use to get a single read ?

To other extends, yes, I just get some portions of the waveform to speed up the process.

Olivier
0 Kudos
Message 7 of 9
(4,259 Views)
My code does use a single VISA read but I was using it with a USB connection. I didn't test it over ethernet.

It doesn't surprise me that a single large VISA read is resolved into several smaller ethernet transfers.

Collin
0 Kudos
Message 8 of 9
(4,253 Views)

I am sorry that the transfer rate for 10M points waveform is not fast enough. It is not a network speed problem.

The low speed rate is generally caused by firmware limitation of DPO4000. But you can try the following methods to speed up a little:

(1) Update the firmware of DPO4104 to the latest version.

(2) Download DPO4000 driver from www.ni.com/devzone/idnet and try to use it with NI-VISA.

0 Kudos
Message 9 of 9
(4,213 Views)