Agilent Technologies 8163A Work Light User Manual


 
How to Measure Power using FETCh and READ VISA Programming Examples
Agilent 8163A/B, 8164A/B & 8166A/B Mainframes, Fifth Edition 197
{ if(!strcmp(compBuf,replyBuf))
{ printf("Same:%s\n",replyBuf); }
else printf("New:%s\n",replyBuf);
}
else printf("First:%s\n",replyBuf);
strcpy(compBuf,replyBuf);
}
/* now the read command is used in the same manner to
demonstrate the difference between fetch and read */
/* read also 10 values, compare them and display the result; */
for (i = 0; i < 10; i++)
{
/* In comparision to the "FETCH" command, the "READ" command
implies triggering a measurement. Make sure the timeout set is
greater than the adjusted averaging time, so that the READ command
will not time out; */
/* send the read command */
errStatus = viQueryf(vi,"READ1:CHAN1:POW?\n","%t",replyBuf);
checkError(vi,errStatus);
if(i)
{
if(!strcmp(compBuf,replyBuf)) printf("Same:%s",replyBuf);
else printf("New :%s",replyBuf);
}
else printf("\nFirst:%s",replyBuf);
/*copy new value to compare buffer*/
strcpy(compBuf,replyBuf);
}
/* loop, until a key is pressed */
while(!scanf("%c",&c));
checkError(vi,errStatus);
/* close the session */
viClose(vi);
}
void checkError(ViSession session, ViStatus err_status )
{ ViStatus error;
ViChar errMsg[256];
error = viQueryf(session,"SYST:ERR?\n","%t",errMsg);
if (error == VI_ERROR_TMO)
{
printf("System Error!\n") ;
exit(1);
}