Application Programs 85
10 ! APPLICATION #4: PROVIDING TIME-VARYING VOLTAGES
20 ! PROGRAM: APP_4
30 !
40 ASSIGN Slot0 TO 70500 ! SELECT CODE 7, MAINFRAME ADDRESS 05, SLOT 00
50 !
60 ! INITIALIZE THE MODULE
70 !
80 OUTPUT @Slot0;"*RST;*CLS;STATUS:PRESET" ! RESET AND CLEAR MODULE
90 OUTPUT @Slot0;”VOLT 0” ! START TEST AT 0 V
100 OUTPUT @Slot0;”CURR .1” ! SET CURRENT LIMIT
110 OUTPUT @Slot0;”OUTPUT ON" ! ENABLE OUTPUT
120 !
130 ! SET UP OVERCURRENT PROTECTION (OCP) AND GENERATE SRQ ON OCP TRIP
140 !
150 OUTPUT @Slot0;”CURRENT:PROTECTION:STATE ON" ! ENABLE OCP
160 OUTPUT @Slot0;”OUTPUT:PROTECTION:DELAY 0” ! NO DELAY BEFORE PROTECTION OCCURS
170 OUTPUT @Slot0;”STATUS:QUESTIONABLE:ENABLE 2” ! ENABLE DETECTION OF OC CONDITION IN THE
180 ! QUESTIONABLE REGISTER, WHERE OC = BIT 1 = VALUE 2.
190 OUTPUT @Slot0;”STATUS:QUESTIONABLE:PTRANSITION 2” ! ENABLES DETECTION ON POSITIVE TRANSITION, I.E.,
GOING INTO OC.
200 OUTPUT @Slot0;"*SRE 8” ! ENABLES THE SERVICE REQUEST REGISTER TO GENERATE
210 ! AN SRQ WHEN ANY EVENT IN THE QUESTIONABLE REGISTER
220 ! IS ASSERTED. THE QUESTIONABLE REGISTER = BIT 3= VALUE 8.
230 !
240 ! SET UP THE VOLTAGE LIST
250 !
260 OUTPUT @Slot0;”VOLT:MODE LIST" ! SET TO GET VOLTAGE FROM LIST
270 OUTPUT @Slot0;”LIST:VOLT 5,7,0” ! DOWNLOAD VOLTAGE POINTS
280 OUTPUT @Slot0;”LIST:DWELL 1,2,30” ! DOWNLOAD DWELL TIMES
290 OUTPUT @Slot0;’LIST:STEP AUTO" ! DWELL-PACED LIST
300 OUTPUT @Slot0;”LIST:COUNT INF" ! CONTINUOUSLY REPEAT LIST (INF = INFINITE)
310 OUTPUT @Slot0;”INITIATE" ! ENABLE TRIGGER TO START LIST
320 !
330 !
340 ! BEFORE TRIGGERING THE MODULE, DETERMINE IF IT IS READY BY CHECKING FOR
350 ! 'WAITING FOR TRIGGER' (BIT 5 OF THE OPERATION STATUS REGISTER).
360
370 ! YOU COULD ELIMINATE THIS STEP BY SIMPLY INSERTING A PAUSE IN THE PROGRAM. HOWEVER, BY
380 ! CHECKING THE INSTRUMENT STATUS, YOU CAN AVOID TIMING PROBLEMS. ALSO, ANY OTHER OPERATIONS
390 ! THAT TAKE TIME WILL GIVE TNE MODULE A CHANCE TO COMPLETE PROCESSING.
400 !
410 REPEAT
420 OUTPUT @Slot0;”STATUS:OPERATION:CONDITION?"
430 ENTER @Slot0;Condition_data
440 UNTIL BIT(Condition_data,5) ! TEST FOR BIT 5 = TRUE
450 !
460 ! SEND Agilent -1B TRIGGER COMMAND TO START LIST
470 !
480 OUPUT @Slot0;”TRIGGER:IMMEDIATE" ! THIS IS AN IMMEDIATE TRIGGER, WHICH IS ALWAYS ACTIVE.
490 ! THEREFORE, IT DOES NOT NEED TO BE SELECTED AS A TRIGGER
SOURCE.
500 !
510 END
Figure B4-2. Agilent BASIC Programming Listing for Application #4