public static double ReadDB(string addr, string window, string m1) { int resourceManager = 0, viError; int session = 0; viError = AgVisa32.viOpenDefaultRM(out resourceManager); viError = AgVisa32.viOpen(resourceManager, addr.ToString(), AgVisa32.VI_NO_LOCK, AgVisa32.VI_TMO_IMMEDIATE, out session); System.Threading.Thread.Sleep(100); viError = AgVisa32.viPrintf(session, "CALC:PAR:SEL '" + window + "'" + "\n"); viError = AgVisa32.viPrintf(session, "CALC:" + m1 + ":Y?" + "\n"); string res = ""; AgVisa32.viRead(session, out res, 100); System.Threading.Thread.Sleep(100); AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); double dtmp = double.Parse(res.ToString().Split(',')[0]); return(dtmp); }
public void Dispose() { // If the user hasn't called Close() we need to // close the VISA session without the possibility // of throwing an exception (so call viClose directly) if (mSession != 0) { int status = AgVisa32.viClose(mSession); mSession = 0; if (status != 0) { Debug.Print("AgVisa.viClose(session) failed. Status={0:x}", status); } // Release any virtual memory... lock ( mVirtualMemoryLock ) { if (mVirtualMemory != (IntPtr)0) { VirtualFree(mVirtualMemory, (UIntPtr)0, (uint)MemoryFreeType.MEM_RELEASE); mVirtualMemory = (IntPtr)0; mVirtualMemorySize = 0; } } // Release Default Resource manager lock ( mResourceManagerLock ) { mResourceManagerCount--; if (mResourceManagerCount <= 0) { mResourceManagerCount = 0; if (mResourceManager != 0) { status = AgVisa32.viClose(mResourceManager); mResourceManager = 0; if (status != 0) { Debug.Print("AgVisa.viClose(manager) failed. Status={0:x}", status); } } } } } }
public static void VisaWrite(string ip, string command) { StringBuilder gpib = new StringBuilder(); gpib = gpib.AppendFormat("TCPIP0::{0}::inst0::INSTR", ip); int resourceManager = 0, viError; int session = 0; viError = AgVisa32.viOpenDefaultRM(out resourceManager); viError = AgVisa32.viOpen(resourceManager, gpib.ToString(), AgVisa32.VI_NO_LOCK, AgVisa32.VI_TMO_IMMEDIATE, out session); System.Threading.Thread.Sleep(100); viError = visa32.viPrintf(session, command + "\n"); System.Threading.Thread.Sleep(100); AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); }
public static void SetMark(string p, string m1, double value) { StringBuilder gpib = new StringBuilder(); gpib = gpib.AppendFormat("TCPIP0::{0}::inst0::INSTR", p); int resourceManager = 0, viError; int session = 0; viError = AgVisa32.viOpenDefaultRM(out resourceManager); viError = AgVisa32.viOpen(resourceManager, gpib.ToString(), AgVisa32.VI_NO_LOCK, AgVisa32.VI_TMO_IMMEDIATE, out session); System.Threading.Thread.Sleep(100); viError = visa32.viPrintf(session, "CALC:" + m1 + ":X " + value + "MHz" + "\n"); System.Threading.Thread.Sleep(100); AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); }
public static void OpenPWR(string p, int dbm) { StringBuilder gpib = new StringBuilder(); gpib = gpib.AppendFormat("TCPIP0::{0}::inst0::INSTR", p); int resourceManager = 0, viError; int session = 0; viError = AgVisa32.viOpenDefaultRM(out resourceManager); viError = AgVisa32.viOpen(resourceManager, gpib.ToString(), AgVisa32.VI_NO_LOCK, AgVisa32.VI_TMO_IMMEDIATE, out session); System.Threading.Thread.Sleep(100); viError = visa32.viPrintf(session, ":OUTPut ON" + "\n"); viError = visa32.viPrintf(session, ":POWer " + dbm + " dBm" + "\n"); System.Threading.Thread.Sleep(100); AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); }
/// <summary> /// Close the underlying driver /// </summary> public void Close() { if (mSession != 0) { CheckStatus(AgVisa32.viClose(mSession)); mSession = 0; } // Make sure cached values are cleared mSlot = -1; mModelCode = -1; mModelName = string.Empty; // Release any virtual memory... lock ( mVirtualMemoryLock ) { if (mVirtualMemory != (IntPtr)0) { VirtualFree(mVirtualMemory, (UIntPtr)0, (uint)MemoryFreeType.MEM_RELEASE); mVirtualMemory = (IntPtr)0; mVirtualMemorySize = 0; } } }
public static bool MmemLoad(string addr, string filename) { try { int resourceManager = 0, viError; int session = 0; viError = AgVisa32.viOpenDefaultRM(out resourceManager); viError = AgVisa32.viOpen(resourceManager, addr.ToString(), AgVisa32.VI_NO_LOCK, AgVisa32.VI_TMO_IMMEDIATE, out session); System.Threading.Thread.Sleep(100); viError = visa32.viPrintf(session, "MMEM:LOAD '" + filename + "'" + "\n"); System.Threading.Thread.Sleep(100); AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); return(true); } catch { return(false); } }
/// <summary> /// 断开连接 /// </summary> public virtual void VisaClose() { AgVisa32.viClose(_Session); AgVisa32.viClose(_ResourceManager); }
public void VisaClose() { AgVisa32.viClose(session); AgVisa32.viClose(resourceManager); }