CASE 3, 4, 6, 7, 9, 10, 12
PRINT #1, "OUTPUT 24;"; Cmd$; Reading$; ";*OPC"
GOSUB ErrCheck
GOSUB CalEnd
CASE 5, 11
PRINT #1, "OUTPUT 24;"; Cmd$
GOSUB ReadDMM
CASE 8
PRINT #1, "OUTPUT 24;"; Cmd$; Source
GOSUB ReadDMM
END SELECT
NEXT I
Range = Range * 10: Source = Range
IF J = 1 AND Range = 200 THEN Range = 1000: Source = 975
IF J = 2 AND Range > .009 AND Range < .011 THEN Range = .02: Source = .02
IF J = 2 AND Range > .19 AND Range < .21 THEN Range = .1: Source = .1
WEND
NEXT J
LINE INPUT "Enter calibration date (yyyy,mm,dd): "; D$
PRINT #1, "OUTPUT 24;:CAL:PROT:DATE "; D$
LINE INPUT "Enter calibration due date (yyyy,mm,dd): "; D$
PRINT #1, "OUTPUT 24;:CAL:PROT:NDUE "; D$
PRINT #1, "OUTPUT 24;:CAL:PROT:SAVE" ' Save calibration constants.
GOSUB ErrCheck
PRINT #1, "OUTPUT 24;:CAL:PROT:LOCK" ' Lock out calibration.
PRINT "Calibration completed."
PRINT #1, "OUTPUT 24;*RST"
PRINT #1, "LOCAL 22 24"
CLOSE
END
'
KeyCheck: ' Check for key press routine.
WHILE INKEY$ <> "": WEND ' Flush keyboard buffer.
PRINT : PRINT "Press any key to continue (ESC to abort program)."
DO: I$ = INKEY$: LOOP WHILE I$ = ""
IF I$ = CHR$(27) THEN GOTO EndProg ' Abort if ESC is pressed.
RETURN
'
CalEnd: ' Check for cal step completion.
DO: PRINT #1, "SRQ?" ' Request SRQ status.
INPUT #2, S ' Input SRQ status byte.
LOOP UNTIL S ' Wait for operation complete.
PRINT #1, "OUTPUT 24;*ESR?" ' Clear OPC.
PRINT #1, "ENTER 24"
INPUT #2, S
PRINT #1, "SPOLL 24" ' Clear SRQ.
INPUT #2, S
RETURN
'
Calibration Programs C-5
2410-902-01.book Page 5 Monday, November 7, 2005 2:49 PM