Specifications

Chapter 10 137
Error Handling
Sample Program
10. Error Handling
Example 10-1 Detecting an Error via an SRQ (srq_err.bas)
10 DIM Buff$[9],Err_mes$[50]
20 INTEGER Scode,Err_no
30 !
40 ASSIGN @Agt4287a TO 717
50 Scode=7
60 !
70 OUTPUT @Agt4287a;"*ESE 60"
80 OUTPUT @Agt4287a;"*SRE 32"
90 OUTPUT @Agt4287a;"*CLS"
100 OUTPUT @Agt4287a;"*OPC?"
110 ENTER @Agt4287a;Buff$
120 !
130 ON INTR Scode GOTO Err_proc
140 ENABLE INTR Scode;2
150 OUTPUT @Agt4287a;":CALC:PAR1:FORM LS"
160 PRINT "Meas Para 1 Setting: Ls"
170 OUTPUT @Agt4287a;":CALC:PAR2:FORM RS"
180 PRINT "Meas Para 2 Setting: Rs"
190 OUTPUT @Agt4287a;":CALC:PAR3:FORM Q"
200 PRINT "Meas Para 3 Setting: Q"
210 OUTPUT @Agt4287a;":CALC:PAR4:FOR D"
220 PRINT "Meas Para 4 Setting: D"
230 OUTPUT @Agt4287a;"*OPC?"
240 ENTER @Agt4287a;Buff$
250 GOTO Skip_err_proc
260 Err_proc: OFF INTR Scode
270 OUTPUT @Agt4287a;";:SYST:ERR?"
280 ENTER @Agt4287a;Err_no,Err_mes$
290 PRINT "Error occurred!!"
300 PRINT " No:";Err_no,"Description: "&Err_mes$
310 PRINT "PROGRAM INTERRUPT!!"
320 GOTO Prog_end
330 Skip_err_proc: PRINT "PROGRAM DONE."
340 Prog_end: END