Quantcast
Channel: Measurement Studio for .NET Languages topics
Viewing all articles
Browse latest Browse all 2011

How to use VB.NET and VISA for file transfer?

$
0
0

hi:

   I want to save the screenshot to the instrument and transfer it to the computer via GPIB.But I can only pass 4096 bytes!

   I tried to use loops,viSetBuf, viRead,viReadToFile and viVScanf , but they all failed.

 

This's my code:

 

status = viSetBuf(vi, VI_READ_BUF, 60000)
status = viSetBuf(vi, VI_WRITE_BUF, 60000)

 

status = viVPrintf(vi, "Smiley FrustratedYST:COMM:GPIB:RTER EOI" + vbCrLf, 0) 
status = viVPrintf(vi, ":HCOPSmiley Very HappyEV:LANG WMF" + vbCrLf, 0)

status = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 20000) 
status = viVPrintf(vi, ":HCOPSmiley Very HappyEST1 'MMEM'" + vbCrLf, 0) 
status = viVPrintf(vi, ":MMEM:NAME 'C:\USER\DATA\FILE.WMF'" + vbCrLf, 0) 

status = viVPrintf(vi, ":HCOP" + vbCrLf, 0) 
Threading.Thread.Sleep(2000)

status = viVPrintf(vi, ":MMEM:MSIS 'C’" + vbCrLf, 0) 

status = viVPrintf(vi, ":MMEM:CDIR '\USER\DATA\'" + vbCrLf, 0) 
status = viVPrintf(vi, ":MMEMSmiley Very HappyATA? 'FILE.WMF'" + vbCrLf, 0) 

Dim fanal As String = ""
Do
status = viRead(vi, strRes, 4096, retCount)
Dim x As Integer = Val(Mid(strRes, 2, 1))
Dim y As Integer = Val(Mid(strRes, 3, x))
strRes = Mid(strRes, x + 3, y)
fanal = fanal & strRes

Loop Until (retCount < 4096)

 

 

 

FileOpen(1, Application.StartupPath + "\YouName.WMF", OpenMode.Output) 
Print(1, fanal)
FileClose(1)

status = viSetBuf(vi, VI_READ_BUF, 4096) 
status = viSetBuf(vi, VI_WRITE_BUF, 4096) 
status = viSetAttribute(vi, VI_ATTR_TMO_VALUE, 2000) 
status = viVPrintf(vi, "Smiley FrustratedYST:COMM:GPIB:RTER LFEOI" + vbCrLf, 0)

  

 


Viewing all articles
Browse latest Browse all 2011

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>