10! APPLICATION #6: OUTPUT SEQUENCING PACED BY THE COMPUTER
20! PROGRAM:
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 | ||||
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
Application Programs 93