Application Programs 93
10 ! APPLICATION #6: OUTPUT SEQUENCING PACED BY THE COMPUTER
20 ! PROGRAM: APP-6
30 !
40 DIM Plus_5v$[50],Plus_12v$[50],Minus_12v$[50]
50 !
60 Plus_5v$=”4.75, 5, 5.25, 5, 5, 5, 5” ! THESE ARE THE BIAS
70 Ptus_12v$="12, 12, 12, 11.4, 12.6, 12, 12” ! SUPPLY LIMIT CONDITIONS
80 Minus_12v$="12, 12, 12, 12, 12, 11.4, 12.6” ! TO BE TESTED
90 !
100 Num_test_steps=7 ! NUMBER OF BIAS SUPPLY LIMIT C0MBINATIONS
110 Dwell=.0I0 ! SECONDS OF DWELL TIME
120 !
130 ASSIGN @Slot0 TO 70500 ! SELECT CODE 7, MAINFRAME ADDRESS 05, SLOT 00
140 ASSIGN @Slot1 TO 70501 ! SELECT CODE 7, MAINFRAME ADDRESS 05, SLOT 01
150 ASSIGN @Slot2 TO 70502 ! SELECT CODE 7, MAINFRAME ADDRESS 05, SLOT 02
160 !
170 ! SET UP MODULE IN SLOT 0 AS +5 V BIAS SUPPLY ---------------------
180 !
190 OUTPUT @Slot0;"*RST;*CLS;STATUS:PRESET" ! RESET AND CLEAR MODULE
200 OUTPUT @Slot0;”VOLT 0” ! START AT 0 V
210 OUTPUT @Slot0;”OUTPUT ON" ! ENABLE OUTPUT
220 OUTPUT @Slot0;”VOLTAGE:MODE LIST" ! SET TO GET VOLTAGE FROM LIST
230 OUTPUT @Slot0;”LIST:VOLTAGE ";Plus_5v$ ! DOWNLOAD VOLTAGE LIST POINTS
240 OUTPUT @Slot0;”LIST:DWELL”;Dwell ! DOWNLOAD I DWELL TIME (ASSUMES SAME FOR ALL POINTS)
250 OUTPUT @Slot0;”LIST:STEP ONCE" ! EXECUTE 1 LIST POINT PER TRIGGER
260 OIJTPUT @Slot0;”TRIGGER:SOURCE BUS" ! TRIGGER SOURCE IS GPIB 'BUS'
270 OUTPUT @Slot0;”OUTPUT:TTLTRG:SOURCE BUS"! GENERATE BACKPLANE TTL TRIGGER WHEN GPIB 'BUS' TRIGGER IS RECEIVED
280 OUTPUT @Slot0;"OUTPUT:TTLTRG:STATE ON" ! ENABLE TTL TRIGGER DRIVE
290 OUTPUT @Slot0;”INITIATE" ! ENABLE RESPONSE TO TRIGGER
300 !
310 ! SET UP MODULE IN SLOT 1 AS +12 V BIAS SUPPLY ---------------------
320 !
330 OUTPUT @Slot1;"*RST;*CLS;STATUS:PRESET" ! RESET AND CLEAR MODULE
340 OUTPUT @Slot1;"VOLT 0” ! START AT 0 V
350 OUTPUT @Slot1;"OUTPUT ON" ! ENABLE OUTPUT
360 OUTPUT @Slot1;"VOLT:MODE LIST" ! SET TO GET VOLTAGE FROM LIST
370 OUTPUT @Slot1;"LIST:VOLTAGE ";Plus_12v$ ! DOWNLOAD VOLTAGE LIST POINTS
380 OUTPUT @Slot1;"LIST:DWELL”;Dwell ! DOWNLOAD 1 DWELL TIME (ASSUMES SAME FOR ALL POINTS)
390 OUTPUT @Slot1;"LIST:STEP ONCE" ! EXECUTE 1 LIST POINT PER TRIGGER
400 OUTPUT @Slot1;"TRIGGER:SOURCE TTLTRG" ! TRIGGER SOURCE IS BACKPLANE TTL TRIGGER
410 OUTPUT @Slot1;"INITIATE" ! ENABLE RESPONSE TO TRIGGER
420 !
430 ! SET UP MODULE IN SLOT 2 AS -12 V BIAS SUPPLY ----------------------
440 !
450 OUTPUT @Slot2;"*RST;*CLS;STATUS:PRESET" ! RESET AND CLEAR MODULE
460 OUTPUT @Slot2;"VOLT 0 ! START AT 0 V
470 OUTPUT @Slot2;"OUTPUT ON" ! ENABLE OUTPUT
480 OUTPUT @Slot2;"VOLT:MODE LIST" ! SET TO GET VOLTAGE FROM LIST
490 OUTPUT @Slot2;"LIST:VOLTAGE ";Minus_12v$ ! DOWNLOAD VOLTAGE LIST POINTS
500 OUTPUT @Slot2;"LIST:DWELL”;Dwell ! DOWNLOAD 1 DWELL TIME (ASSUMES SAME FOR ALL POINTS)
510 OUTPUT @Slot2;"LIST:STEP ONCE" ! EXECUTE 1 LIST POINT PER TRIGGER
520 OUTPUT @Slot2;"TRIGGER:SOURCE TTLTRG" ! TRIGGER SOURCE IS BACKPLANE TTL TRIGGER
530 OUTPUT @Slot2;"INITIATE" ! ENABLE RESPONSE TO TTL TRIGGER
540 !
550 ! BEFORE TRIGGERING THE MODULES, DETERMINE IF THE MODULES ARE READY BY CHECKING FOR
560 ! 'WAITING FOR TRIGGER' (BIT 5 OF THE OPERATION STATUS REGISTER). IF THE LAST MODULE PROGRAMMED
570 ! IS READY THEN SO ARE THE OTHERS, SO JUST CHECK SLOT 2.
580 !
590 ! YOU COULD ELIMINATE THIS STEP BY SIMPLY INSERTING A PAUSE IN THE PROGRAM. HOWEVER, BY