730 Agilent InfiniiVision 5000 Series Oscilloscopes Programmer's Guide
12 Programming Examples
length = 300000;
// Read return value string from the device.
int nViStatus;
nViStatus = visa32.viScanf(m_nSession, "%#b", ref length,
ResultsArray);
CheckVisaStatus(nViStatus);
// Write and read buffers need to be flushed after IEEE block?
nViStatus = visa32.viFlush(m_nSession, visa32.VI_WRITE_BUF);
CheckVisaStatus(nViStatus);
nViStatus = visa32.viFlush(m_nSession, visa32.VI_READ_BUF);
CheckVisaStatus(nViStatus);
return length;
}
private void OpenResourceManager()
{
int nViStatus;
nViStatus =
visa32.viOpenDefaultRM(out this.m_nResourceManager);
if (nViStatus < visa32.VI_SUCCESS)
throw new
ApplicationException("Failed to open Resource Manager");
}
private void OpenSession()
{
int nViStatus;
nViStatus = visa32.viOpen(this.m_nResourceManager,
this.m_strVisaAddress, visa32.VI_NO_LOCK,
visa32.VI_TMO_IMMEDIATE, out this.m_nSession);
CheckVisaStatus(nViStatus);
}
public void SetTimeoutSeconds(int nSeconds)
{
int nViStatus;
nViStatus = visa32.viSetAttribute(this.m_nSession,
visa32.VI_ATTR_TMO_VALUE, nSeconds * 1000);
CheckVisaStatus(nViStatus);
}
public void CheckVisaStatus(int nViStatus)
{
// If VISA error, throw exception.
if (nViStatus < visa32.VI_SUCCESS)
{
StringBuilder strError = new StringBuilder(256);
visa32.viStatusDesc(this.m_nResourceManager, nViStatus,
strError);
throw new ApplicationException(strError.ToString());
}
}
public void Close()