1940

L = LEN( CMD$ )

 

1950

CALL IOOUTPUTS( SLOTO, CMDS, L )

 

1960

IF PCIB.ERR<>0 THEN ERROR PCIB.BASERR

 

1970

 

1980

‘ BEFORE TRIGGERING THE MODULE, DETERMINE IF IT IS READY BY CHECKING FOR

1990

' WAITING FOR TRIGGER' (BIT 5 OF THE OPERATION STATUS REGISTER).

2000

 

 

2010

‘ YOU COULD ELIMINATE THIS STEP BY SIMPLY INSERTING A PAUSE IN THE PROGRAM. HOWEVER, BY

2020

‘ CHECKING THE INSTRUMENT STATUS, YOU CAN AVOID TIMING PROBLEMS. ALSO, ANY OTHER OPERATIONS

2030

‘ THAT TAKE TIME WILL GIVE THE MODULE A CHANCE TO COMPLETE PROCESSING.

2040

 

2050

CONDITION.DATA = 0

 

2060

 

2070

WHILE ( ( CONDITION.DATA AND 32 ) ) <> 32 )

‘ CONTINUE TO LOOP UNTIL BIT 5 (VALUE 32) = TRUE

2080

CMD$ = "STATUS:OPERATION:CONDITION?"

 

2090

L = LEN( CMD$ )

 

2100

CALL IOOUTPUTS( SLOTO, CMD$, L )

 

2110

IF PCIB.ERR<>0 THEN ERROR PCIB.BASERR

 

2120

CALL IOENTER( SLOTO, CONDITION.DATA )

 

2130

IF PCIB.ERR<>0 THEN ERROR PCIB.BASERR

 

2140

WEND

 

2150

 

2160

‘ SEND TRIGGER COMMAND TO START LIST AND GENERATE THE VOLTAGE RAMP

2170

 

2180

CMD$ = "TRIGGER:IMMEDIATE"

‘ THIS IS AN IMMEDIATE TRIGGER, WHICH IS ALWAYS

2190

L = LEN( CMD$ )

‘ ACTIVE. THEREFORE, IT DOES NOT NEED TO BE

2200

CALL IOOUTPUTS( SLOTO, CMD$, L )

‘ SELECTED AS A TRIGGER SOURCE.

2210

IF PCIB.ERR<>0 THEN ERROR PCIB.BASERR

 

2220

 

2230

END

 

Application Programs 101

Page 100
Image 100
Agilent Technologies 66lxxA Call Iooutputs SLOTO, CMDS, L, Waiting for Trigger BIT 5 of the Operation Status Register, End