Application Programs 101
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