Application Programs 89
10 ! APPLICATION #5: PROVIDING TIME-VARYING CURRENT LIMITING
20 ! PROGRAM: APP_5
30 !
40 DIM C_limit$[50],Dwell[50]
50 !
60 C_limit$=”4.1, 3.0, 2.0 , 1.0, 0.7” ! CURRENT LIMIT DATA
70 Dwell$="0.2, 0.05, 0.1, 0.15, 0.1” ! DWELL TIME DATA
80 !
90 ASSIGN @Slot0 To 70500 ! SELECT CODE 7, MAINFRAME ADDRESS 05, SLOT 00
100 !
110 OUTPUT @Slot0;"*RST;*CLS;STATUS:PRESET" ! RESET AND CLEAR MODULE
120 OUTPUT @Slot0;”VOLT 0” ! START TEST AT 0 V
130 OUTPUT @Slot0;”OUTPUT ON" ! ENABLE OUTPUT
140 OUTPUT @Slot0;”CURRENT:PROTECTION:STATE ON" ! ENABLE OCP
150 OUTPUT @Slot0;"OUTPUT:PROTECTION:DELAY 0” ! NO DELAY BEFORE PROTECTION OCCURS
160 OUTPUT @Slot0;”CURRENT:MODE LIST" ! SET TO GET CURRENT FROM LIST
170 OUTPUT @Slot0;”LIST:CURRENT ";C _limit$ ! DOWNLOAD CURRENT POINTS
180 OUTPUT @Slot0;”LIST:DWELL ";Dwell$ ! DOWNLOAD DWELL TIMES
190 OUTPUT @Slot0;”LIST:STEP AUTO" ! DWELL-PACED LIST
200 OUTPUT @Slot0;”VOLT:TRIGGERED 12” ! GO TO 12 V WHEN TRIGGERED
210 OUTPUT @Slot0;”INITIATE" ! ENABLE TRIGGER TO START LIST AND APPLY 12 V
220 !
230 ! BEFORE TRIGGERING THE MODULE, DETERMINE IF IT IS READY BY CHECKING FOR
240 ! 'WAITING FOR TRIGGER' (BIT 5 OF THE OPERATION STATUS REGISTER).
250 !
260 ! YOU COULD ELIMINATE THIS STEP BY SIMPLY INSERTING A PAUSE IN THE PROGRAM. HOWEVER, BY
270 ! CHECKING THE INSTRUMENT STATUS, YOU CAN AVOID TIMING PROBLEMS. ALSO, ANY OTHER OPERATIONS
280 ! THAT TAKE TIME WILL GIVE THE MODULE A CHANCE TO COMPLETE PROCESSING.
290 !
300 REPEAT
310 OUTPUT @Slot0;”STATUS:OPERATION:CONDITION?"
320 ENTER @Slot0;Condition_data
330 UNTIL BIT(Condition_data,5) ! TEST FOR BIT 5 = TRUE
340 !
350 ! SEND Agilent -1BTRIGGER COMMAND TO START LIST AND APPLY 12 V
360 !
370 OUTPUT @Slot0;”TRIGGER:IMMEDIATE" ! THIS IS AN IMMEDIATE TRIGGER, WHICH IS
380 ! ALWAYS ACTIVE. THEREFORE, IT DOES NOT NEED
390 END ! TO BE SELECTED AS A TRIGGER SOURCE.
Figure B5-3. Agilent BASIC Program Listing for Application #5