Agilent Technologies ESA-E Series Programmer's Manual page 120

Esa spectrum analyzers
Hide thumbs Also See for ESA-E Series:
Table of Contents

Advertisement

Programming Examples
Status Register-Determine When a Measurement is Don e
/*Return successfully* /
return VI_SUCCESS ;
}
/* When an interrupt occurs, determine which device generated the interrup t
(if an instrument other than the ESA generates the interrupt, simply repor t
"Instrument at HP-IB Address xxx Has Generated an Interrupt") .*/
printf ("\n\n SRQ event occurred!\n") ;
printf ("\n . . . Original Device Session = %t\n",viESA) ;
/*Get the HP-IB address of the insrument, which has interrupted* /
viQueryf(viESA,"SYST :COMM :GPIB :SELF :ADDR?\n", " %t", cBuf) ;
printf ("\n Instrument at HP-IB address %s has generated an interrupt!\n",cBuf) ;
/*Get the status byte* /
/* If the ESA generated the interrupt, determine the nature of the interrupt ;
did is the measurement complete or an error message occur?*/
viQueryf(viESA, "*ESR?\n " , "%d", &iStatusByte) ;
if ( (Ox01 & iStatusByte) )
printf("\n SRQ message :\t Measurement complete\n") ;
else if ( (0x02
I
OxlO
I
0x20 & iStatusByte ) )
printf ("\n SRQ message :\t Error Message Occurred\n") ;
/*Return successfully* /
iSrgOccurred =1 ;
return VI_SUCCESS ;
}
/* Main Program* /
void main( )
{
/*Program Variables* /
ViStatus viStatus = 0 ;
long lOpc=O ;
/* Open a HP-IB session at address 18* /
viStatus=viOpenDefaultRM(&defaultRM) ;
int address =18 ;
viStatus =viOpen(defaultRM, "GPIBO : :18 " ,VI NULL,VI NULL,&viESA) ;
if(viStatus )
{
printf("Could not open a session to HP-IB device at address 18!\n") ;
exit(0) ;
}
/*Clear the instrument* /
viClear(viESA) ;
/*Reset the instrument* /
3-60
Chapter 3

Advertisement

Table of Contents
loading

Table of Contents