ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

Instrument Control (GPIB, Serial, VISA, IVI)

取消
显示结果 
搜索替代 
您的意思是: 

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 项奖励
1 条消息(共 7 条)
4,352 次查看

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 项奖励
2 条消息(共 7 条)
4,335 次查看

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 项奖励
3 条消息(共 7 条)
4,331 次查看

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 项奖励
4 条消息(共 7 条)
4,325 次查看

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 项奖励
5 条消息(共 7 条)
4,321 次查看

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 项奖励
6 条消息(共 7 条)
4,316 次查看

Hello

 

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

 

                            Thank you.

0 项奖励
7 条消息(共 7 条)
4,308 次查看