Programming Some Power supply Functions (continued)
1220 | CALL IOENTER (PS,OEVENT) |
| ’Read back event bit |
1225 | IF PCIB.ERR < > NOERR THEN ERROR PCIB.BASERR |
| |
1230 | IF (OEVENT AND 1024) = 1024 THEN PRINT "Unit switched to CC mode." |
| |
1240 | ’Clear the status circuit |
|
|
1245 | CODES$ = "*CLS" :GOSUB 2000 |
| |
1260 | FOR I = 1 TO 100 :NEXT I | ’Wait for unit to clear |
|
1265 | ‘ |
|
|
1260 | 'Disable output and save present state in location 2 |
| |
1265 | CODES$ = "OUTPUT OFF;*SAV 2" | :GOSUB 2000 | |
1270 | END |
|
|
1275 | ‘ |
|
|
2000 | 'Send command to power supply |
|
|
2005 | LENGTH = LEN(CODES$) |
|
|
2010 | CALL IOOUTPUTS (PS,CODES$,LENGTH) | 'Send command to interface | |
2015 | IF PCIB.ERR < > NOERR THEN ERROR PCIB.BASERR | ISETUP.BAS error trap | |
2020 | RETURN |
|
|
2025 | ‘ |
|
|
3000 | 'Get data from power supply |
|
|
3005 | CALL IOENTERA (PS,OUTPUTS(1),MAX.ELEMENTS,ACTUAL.ELEMENTS) |
| |
3010 | IF PCIB.ERR < > NOERR THEN ERROR PCIB.BASERR |
| |
3015 | RETURN |
|
|
******************************************************************************************************
IBM Controller Using National Interface
******************************************************************************************************
990‘
1000 'Power supply Variable = PS% ;
1005 CODES$=SPACE$(50):MODE$=SPACE$(5):OEVENT$=SPACE$(20)
1010 D$=SPACE$(60):OUTPUT$=SPACE$(40):BDNAME$=“PS%"
1015 DIM OUTPUT(2)
1020 ‘
1025 'Set up power supply interface for DOS driver
1030 CALL IBFIND(BDNAME$,PS%)
1035 IF PS%<O THEN PRINT "IBFIND Failed."
1040 CALL IBCLR(PS%)
1045 ‘
1050 'Program power supply to CV mode with following voltage and current
1055 | CODES$ = "VOLTAGE 78;CURRENT 25” | :GOSUB 2000 |
1060 | ‘ |
|
1065 | 'Query power supply outputs and print to screen |
|
1070 | CODES$ = "MEASURE:VOLTAGE?;CURRENT?" | :GOSUB 2000 :GOSUB 3000 |
1075 | VOUT = OUTPUT(1) |
|
1080 | IOUT = OUTPUT(2) |
|
1085 | PRINT "The programmed levels are "VOUT" Volts and "IOUT" Amps" |
|
1090 | ‘ |
|
1095 | 'Program triggered current level to value insufficient to maintain |
|
1100 | 'unit within its CV operating characteristic |
|
1105 | CODES$ = "CURR:TRIG 1" | :GOSUB 200 |
1110 | ‘ |
|
1115 | 'Set operation status mask to detect mode change from CV to CC |
|
1120 | CODES$ = "STAT:OPER:ENAB 1024;PTR 1024" | :GOSUB 2000 |
1125 | ‘ |
|
Remote Programming 59