Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

visa read large files

Hello,

                I am using LabVIEW 2011.

                I am trying to move a very large file [309MB and larger] from a TEK DSA72004 oscilloscope to a PC using the VISA READ command across GPIB.  I am using the TEK command

 “FILESystem: PRInt "C:\temp\Trace20120608151917CH1.dat", GPIb”. This command works with a smaller file size.

                I have tried setting the “Timeout” property node to varies timeouts even up to 20 minutes and I still get a “-1073807339  Timeout expired before operation completed”.

      

                Does anybody have any suggestions for reading a very large file?

                                                                                Thank you

0 Kudos
Message 1 of 7
(3,971 Views)

Hi Mark,

 

The maximum value of the timeout is 4294967295 milliseconds, which is roughly 50 days.  You can try increasing the timeout further to see if a longer time will allow you to successfully read the entire file.  Be aware that reading this way will store the entirety of the data into the single string variable which may cause issues.  Are there any options on the device for sending the data in multiple chunks rather than all at once?

Justin D
Applications Engineer
National Instruments
http://www.ni.com/support/
0 Kudos
Message 2 of 7
(3,954 Views)

Hello Justin

 

I did not see a any method to parse the file in the  “MSO/DPO5000, DPO7000/C, DPO70000/B/C/D, DSA70000/B/C/D, and SO70000/C Series Digital Oscilloscopes  Programmer Manual”. I did send TEK an inquiry but I have not heard back from them yet.

 

Does LabVIEW have any size limits on the reads? With 50 days I should have enough time to read any file. It just may be that GPIB is not the best way to save the data.

 

                                             Thank you.

 

 

0 Kudos
Message 3 of 7
(3,950 Views)

You always can instruct the instrument to send the complete file and then read it in chunks of say 64k until you have read all the data you get.

Maybe you have the filesize wrong and are waiting for more than the real data?

greetings from the Netherlands
0 Kudos
Message 4 of 7
(3,944 Views)

Hello

 

I have done what you suggest in other applications, read the data in chunks which works great. In this case, if the "Read Buffer" is set for 100 bytes the routine "times out". I may not have given my self enough time (50 days) or the buffer is not large enough but then I probably would have received some type of error. I do not know what the GPIB transfer rate is, that would tell me how long I would have wait for the data to transfer.

 

           Thank you

 

0 Kudos
Message 5 of 7
(3,940 Views)

your command syntax then is probably wrong if 100 bytes are not sent in a few ms. Taking some extra overhead 100 bytes can be transferred by gpib within a second or faster.

greetings from the Netherlands
0 Kudos
Message 6 of 7
(3,935 Views)

Hello

 

You may be right. The command sequence works fine for a smaller file size.

 

                            Thank you.

0 Kudos
Message 7 of 7
(3,927 Views)