RIGOL DG1000Z Series User Manual
Page 246

RIGOL
4-20
DG1000Z Programming Guide
5
Click ViewClassWizard and add the control variables in the “Member Variables” tab in the pop-up
interface.
Instrument address: CString m_strInstrAddr
Command: CString m_strCommand
Return value: CString m_strResult
6
Encapsulate the write and read operations of VISA.
1) Encapsulate the write operation of VISA for easier operation.
bool CDG1000Z_Demo_VCDlg::InstrWrite(CString strAddr, CString strContent)
//write function
{
ViSession defaultRM,instr;
ViStatus status;
ViUInt32 retCount;
char * SendBuf = NULL;
char * SendAddr = NULL;
bool bWriteOK = false;
CString str;
//Change the address's data style from CString to char*
SendAddr = strAddr.GetBuffer(strAddr.GetLength());
strcpy(SendAddr,strAddr);
strAddr.ReleaseBuffer();
//Change the command's data style from CString to char*
SendBuf = strContent.GetBuffer(strContent.GetLength());
strcpy(SendBuf,strContent);
strContent.ReleaseBuffer();
//open the VISA instrument
status = viOpenDefaultRM(&defaultRM);
if (status < VI_SUCCESS)
{
AfxMessageBox("No VISA instrument was opened !");