From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Instrument Control (GPIB, Serial, VISA, IVI)

cancel
Showing results for 
Search instead for 
Did you mean: 

Does VISA.NET API has a equivalent for VisaNS.ReadToFile() function

I am working on getting a hardcopy from a scope, but don't know how to set the buffer size when getting the image data.

I found the following example which using the MessageBasedSession.ReadToFile() function to streamline the instrument read and file write to a single function call. I want to use the VISA.NET API, Is there a equivalent function in VISA.NET API or any other ways to set a proper buffer size before knowing  the size of the file?

Thanks in advance!

 

 

 

 

using System;
using NationalInstruments.VisaNS;

namespace instr_control
{
    public class Program
    {
        static void Main(string[] args)
        {
            MessageBasedSession Scope;
            string resourceString = "USB0::0x0699::0x03A6::C010000::INSTR";
            Scope = (MessageBasedSession)ResourceManager.GetLocalManager().Open(resourceString);
            string path = @"C:\";
            string fname = @"temp" + DateTime.Now.ToString("yyyy_MM_dd_HH_mm_ss") + ".bmp";

            Scope.Timeout = 5000;
            Scope.Write("ACQuire:STATE STOP");
            Scope.Write("HardCopy:FormatException bmp");
            Scope.Write("Hardcopy:Layout Portrait");
            Scope.Write("HARDCopy:INKSaver OFF");
            Scope.Write("Hardcopy:port USB");
            Scope.Write("Hardcopy Start");
            try
            {
                Scope.ReadToFileAppends = true;
                do
                {
                    Scope.ReadToFile(path + fname);
                }
                while (Scope.LastStatus.Equals(VisaStatusCode.SuccessMaxCountRead)) ;
            }

            catch (Exception exp)
            {
                Console.WriteLine(exp.Message);
            }
            Scope.Dispose();
        }
    }
}

 

 

 

 

0 Kudos
Message 1 of 1
(843 Views)