Agilent Technologies 664xA User Manual
Page 21

Remote Programming 21
Programming Some Power Supply Functions
SAMPLE FOR POWER SUPPLY AT STAND-ALONE ADDRESS 6. SEQUENCE SETS UP CV MODE OPERATION,
FORCES SUPPLY TO SWITCH TO CC MODE, AND DETECTS AND REPORTS MODE CHANGE.
**************************************************************************
Controller Using Agilent 82335A Interface
**************************************************************************
5
‘ < --------------- Merge SETUP.BAS here -------------------- >
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 7.8;CURRENT 480"
: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
'supply within its CV operating characteristic
1130
CODES$ = "CURR:TRIG 50"
: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 supply 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