B-38 Return to Section Topics 2100-900-01 Rev. D / September 2011
Appendix B: Remote Interface Reference Model 2100 6 1/2-Digit Resolution Digital Multimeter User’s Manual
status = PviFindRsrc_usb (m_defaultRM_usbtmc,
"USB[0-9]*::1510::8448::?*INSTR", &m_findList_usbtmc, &m_nCount,
instrDescriptor);
if (status < 0L)
{
PviClose_usb(m_defaultRM_usbtmc);
hUSBTMCLIB = NULL;
m_defaultRM_usbtmc = 0;
}
else
{
PviOpen_usb(m_defaultRM_usbtmc,
instrDescriptor, 0, 0, &m_instr_usbtmc);
status = PviSetAttribute_usb(m_instr_usbtmc,
VI_ATTR_TMO_VALUE, m_Timeout);
}
}
else
{
PviOpen_usb(m_defaultRM_usbtmc,
instrDescriptor, 0, 0, &m_instr_usbtmc);
status = PviSetAttribute_usb(m_instr_usbtmc,
VI_ATTR_TMO_VALUE, m_Timeout);
}
}
if (!hUSBTMCLIB)
{
printf("2100 device connect failed.\n");
return;
}
// Write command "*IDN?" and read the 2100 identification string
len = 64;
pStrout = new char[len];
ZeroMemory(pStrout, len);
strcpy(pStrout, "*idn?");
status = PviWrite_usb(m_instr_usbtmc, (unsigned char *)pStrout, 6,
&nWritten);
Sleep(30);
if (status != VI_SUCCESS)
{
MessageBox(NULL, "Write to device error.",
"2100 multimeter device test", MB_OK);
PviClose_usb(m_defaultRM_usbtmc);
hUSBTMCLIB = NULL;
m_defaultRM_usbtmc = 0;
return;
}
else
{
printf(" output : *IDN?\n");
}
Sleep(1000);
// Read data from device
len = 64;
if (hUSBTMCLIB)
{
status = PviRead_usb(m_instr_usbtmc, pStrin,
len, &nRead);