beautypg.com

RIGOL DP832A User Manual

Page 205

background image

Chapter 4 Programming Demos

RIGOL

DP800 Programming Guide

4-17

7

Add the control message response code.

1) Connect the instrument

void CDP800_DEMO_VCDlg::OnConnect()

{

// TODO: Add your control notification handler code here

ViStatus status;

ViSession defaultRM;

ViString expr = "?*";

ViPFindList findList = new unsigned long;

ViPUInt32 retcnt = new unsigned long;

ViChar instrDesc[1000];

CString strSrc = "";

CString strInstr = "";

unsigned long i = 0;

bool bFindDP = false;

status = viOpenDefaultRM(&defaultRM);

if (status < VI_SUCCESS)

{

// Error Initializing VISA...exiting

MessageBox("No VISA instrument was opened ! ");

return ;

}

memset(instrDesc,0,1000);

// Find resource

status = viFindRsrc(defaultRM,expr,findList, retcnt, instrDesc);

for (i = 0;i < (*retcnt);i++)

{

// Get instrument name

strSrc.Format("%s",instrDesc);

InstrWrite(strSrc,"*IDN?");

::Sleep(200);

InstrRead(strSrc,&strInstr);

// If the instrument(resource) belongs to the DP series then jump out from the loop

strInstr.MakeUpper();

if (strInstr.Find("DP") >= 0)

{

bFindDP = true;

m_strInstrAddr = strSrc;

break;

}

//Find next instrument

status = viFindNext(*findList,instrDesc);

}

if (bFindDP == false)

{

MessageBox("Didn't find any DP!");

}

UpdateData(false);

}

This manual is related to the following products: