48 Chapter 4
Preparation for Accurate Measurement (Executing Compensation)
Using the Multi-compensation Function
Example 4-3 Executing the multi compensation (multi.bas)
10 INTEGER Ch,Result
20 CLEAR SCREEN
30 !
40 ASSIGN @Agt4288a TO 717
50 !
60 OUTPUT @Agt4288a;":SYST:PRES"
70 OUTPUT @Agt4288a;":CORR:MULT ON"
80 OUTPUT @Agt4288a;":CORR:MULT:CKIT:STAN3 ON"
90 OUTPUT @Agt4288a;":DISP:TEXT2:PAGE 5"
100 !
110 FOR Ch=0 TO 3
120 PRINT "## Channel No.: ";Ch;"##"
130 OUTPUT @Agt4288a;":CORR:MULT:CHAN ";Ch
140 Result=FNCompen(@Agt4288a,"Open",.00002)
150 IF Result<>0 THEN Prog_end
160 NEXT Ch
170 FOR Ch=0 TO 3
180 PRINT "## Channel No.: ";Ch;"##"
190 OUTPUT @Agt4288a;":CORR:MULT:CHAN ";Ch
200 Result=FNCompen(@Agt4288a,"Short",20)
210 IF Result<>0 THEN Prog_end
220 NEXT Ch
230 FOR Ch=0 TO 3
240 PRINT "## Channel No.: ";Ch;"##"
250 OUTPUT @Agt4288a;":CORR:MULT:CHAN ";Ch
260 Result=FNCompen(@Agt4288a,"Load",.2)
270 IF Result<>0 THEN Prog_end
280 NEXT Ch
290 !
300 Prog_end: END
310 !=============================================
320 ! Compensation Data Measurement Function
330 !=============================================
340 DEF FNCompen(@Agt4288a,Standard$,Limit)
350 DIM Inp_char$[9],Buff$[9],Std$[9],Err$[50]
360 REAL Curr_freq,Freq(1:2),Para1,Para2,Zm,Ym,Gm,Bm
370 REAL Cpref,Dref,Zref,Gref,Bref
380 INTEGER Err_flag
390 OUTPUT @Agt4288a;":SOUR:FREQ?"
400 ENTER @Agt4288a;Curr_freq
410 Freq(1)=1.E+3
420 Freq(2)=1.E+6
430 Load_para$="CPD"
440 OUTPUT @Agt4288a;":STAT:OPER:ENAB 128"
450 OUTPUT @Agt4288a;"*SRE 128"
460 SELECT Standard$
470 CASE "Open"
480 Std$="STAN1"
490 CASE "Short"
500 Std$="STAN2"
510 CASE "Load"
520 Std$="STAN3"
530 CALL Inp_data("Load(Cp) Value @1kHz",Load1(1))
540 CALL Inp_data("Load(D) Value @1kHz",Load2(1))
550 CALL Inp_data("Load(Cp) Value @1MHz",Load1(2))
560 CALL Inp_data("Load(D) Value @1MHz",Load2(2))
570 OUTPUT @Agt4288a;":CORR:CKIT:STAN3:FORM "&Load_para$
580 FOR I=1 TO 2
590 OUTPUT @Agt4288a;":SOUR:FREQ ";Freq(I)
600 OUTPUT @Agt4288a;":CORR:CKIT:STAN3 ";Load1(I);",";Load2(I)
610 NEXT I