Agilent Technologies 8163A Work Light User Manual


 
How to Co-ordinate Two Modules VISA Programming Examples
Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition 201
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STATE:RATIO
TOREF,0\n");
checkError(vi,errStatus);
/* set reference measuremant state to absolute units */
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:STAT 1\n");
checkError(vi,errStatus);
/* turn laser on */
errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:STATE 1\n");
checkError(vi,errStatus);
/*ask for command completion */
do
{
errStatus = viQueryf(vi,"*OPC?\n","%d",&cmdDone);
checkError(vi,errStatus);
} while (!cmdDone);
/* set the power meter reference to the displayed value (display to
reference) */
errStatus = viPrintf(vi,"SENS1:CHAN1:POW:REF:DISP\n");
checkError(vi,errStatus);
/*
read 30 values and display the result; after ten measurements
the source output will be halved by making use of the
attenuation;
after an other ten measurements the source output will be
halved
a second time;
because of the display to reference command and using the
reference, the value printed should be more or less equal to the
adjusted source attenuation */
for (i = 1; i <= 30; i++)
{
errStatus = viQueryf(vi,"READ1:CHAN1:POW?\n","%s",replyBuf);
checkError(vi,errStatus);
if(errStatus ==VI_SUCCESS)printf("power
#%02d:%s\n",i,replyBuf);
if(i == 10)
{
/* reduce the output power for 3.0 dB */
errStatus = viPrintf(vi,"SOURCE2:CHAN1:POW:ATT 3.0\n");
checkError(vi,errStatus);
}
if(i == 20)