Chapter 3 139
Programming Examples
Using Limit Lines
/*Set the analyzer to a center frequency of 50 MHz, span to 20 MHz,
and resolution bandwidth to 1 MHz.*/
viPrintf(viESA,"SENS:FREQ:CENT 50e6\n");
viPrintf(viESA,"SENS:FREQ:SPAN 20e6\n");
viPrintf(viESA,"SENS:BWID:RES 1e6\n");
/*Set the analyzer reference level to 0 dBm*/
viPrintf(viESA,"DISP:WIND:TRAC:Y:SCAL:RLEV 0 \n");
/* Check for the instrument model number and route the 50MHz-signal accordingly*/
Route50MHzSignal();
/*Trigger a spectrum measurement*/
viPrintf(viESA,"INIT:IMM \n");
/*Check for operation complete */
viQueryf(viESA, "*OPC?\n", "%d", &lOpc);
if (!lOpc)
{
printf("Program Abort! error ocurred: last command was not completed!\n");
exit(0);
}
/*Check to see if limit line passes or fails. It should pass.*/
printf ("\n\t Limit Line status after activating the 50MHz signal \n");
/*Print the limits line result*/
printResult();
/*Pause for 5 seconds*/
YIELD;
/*Deactivate the 50 MHz alignment signal.*/
viPrintf(viESA,"CAL:SOUR:STAT OFF\n");
/*Trigger a spectrum measurement*/
viPrintf(viESA,"INIT:IMM \n");
/*Check for operation complete */
viQueryf(viESA, "*OPC?\n", "%d", &lOpc);
if (!lOpc)
{
printf("Program Abort! error ocurred: last command was not completed!\n");
exit(0);
}
/* The limit line test should fail.*/
printf ("\n\t Limit Line status after de-activating the 50MHz signal \n");