
Programming Some Power supply Functions
SAMPLE FOR POWER SUPPLY AT 
**************************************************************************
| 
 | HP Vectra PC Controller Using Agilent 82335A Interface | 
 | 
| ************************************************************************** | ||
| 5 | ‘ <  | 
 | 
| 1000 | MAX.ELEMENTS=2 : ACTUAL.ELEMENTS=O :MAX.LENGTH=80 :ACT.LENGTH=O | |
| 1005 | DIM OUTPUTS(2) :CDDES$=SPACE$(40) | 
 | 
| 1010 | ISC=7 :PS=706 | 
 | 
| 1015 | ‘ | 
 | 
| 1020 | 'Set up the Power supply Interface for DOS driver | 
 | 
| 1025 | CALL IORESET (ISC) | 'Reset the interface | 
| 1030 | IF PCIB.ERR < > NOERR THEN ERROR PCIB.BASERR | 
 | 
| 1035 | TIMEOUT=3 | 
 | 
| 1040 | CALL IOTIMEOUT (ISC, TIMEOUT) | 'Set timeout to 3 seconds | 
| 1045 | IF PCIB.ERR < > NOERR THEN ERROR PCIB.BASERR | 
 | 
| 1050 | CALL IOCLEAR (ISC) | 'Clear the interface | 
| 1055 | IF PCIB.ERR <> NOERR THEN ERROR PCIB.BASERR | 
 | 
| 1060 | CALL IOREMOTE (ISC) | 'Set Power supply to remote mode | 
| 1065 | IF PCIB.ERR <> NOERR THEN ERROR PCIB.BASERR | 
 | 
| 1070 | ‘ | 
 | 
| 1075 | 'Program power supply to CV mode with following voltage and current | 
 | 
| 1080 | CODES$ = "VOLTAGE 78;CURRENT 25" | :GOSUB 2000 | 
| 1085 | ‘ | 
 | 
| 1090 | 'Query power supply outputs & print to screen | 
 | 
| 1095 | CODES$ = "MEASURE:VOLTAGE?;CURRENT?" | :GOSUB 2000 :GOSUB 3000 | 
| 1100 | VOUT = OUTPUTS(I) | 
 | 
| 1105 | IOUT = OUTPUTS(2) | 
 | 
| 1110 | PRINT "The output levels are "VOUT" Volts and "IOUT" Amps" | 
 | 
| 1115 | ‘ | 
 | 
| 1120 | 'Program triggered current level to value insufficient to maintain | 
 | 
| 1125 | 'unit within its CV operating characteristic | 
 | 
| 1130 | CODES$ = "CURR:TRIG 1" | :GOSUB 2000 | 
| 1135 | ‘ | 
 | 
| 1140 | 'Set operation status mask to detect mode change from CV to CC | 
 | 
| 1145 | CODES$ = "STAT:OPER:ENAB 1024;PTR 1024" | :GOSUB 2000 | 
| 1150 | ‘ | 
 | 
| 1155 | 'Enable Status Byte OPER summary bit | 
 | 
| 1160 | CODES$ = "*SRE 128" | :GOSUB 2000 | 
| 1165 | ‘ | 
 | 
| 1170 | 'Arm trigger circuit and send trigger to power supply | 
 | 
| 1175 | CODES$ = "INITIATE;TRIGGER" | :GOSUB 2000 | 
| 1180 | ‘ | 
 | 
| 1185 | 'Wait for unit to respond to trigger | 
 | 
| 1190 | FOR I= 1 to 100 :NEXT I | 
 | 
| 1195 | ‘ | 
 | 
| 1200 | 'Poll for interrupt caused by change to CC mode and print to screen | 
 | 
| 1205 | CALL IOSPOLL (PS,RESPONSE) | 
 | 
| 1210 | IF (RESPONSE AND 128)< >128 THEN GOTO 1240 | 'No OPER event to report | 
| 1215 | CODES$ = "STATUS:OPER:EVEN?" | :GOSUB 2000 'Query status oper register | 
58 Remote Programming
