360 Freq=Start_freq
370 FOR I=1 TO N
380 A$=A$&VAL$(Freq)&"GHZ,0db,"
390 Freq=Freq+Increment
400 NEXT I
410 B=LEN(A$)
420 B=B-1
430 B$=A$[1,B]
440 OUTPUT @Source;"CORR:FLAT ";B$
450 ! OUTPUT @Source;"POW:STAT ON"
460 !
470 !ENTER DATA IN USER CORRECTION TABLE
480 OUTPUT @Source;"CAL:PMET:FLAT:INIT? USER"
490 ENTER @Source;Freq
500 WHILE Freq>0
510 Power=FNRead_meter(@Meter,Freq)
520 OUTPUT @Source;"CAL:PMET:FLAT:NEXT? ";VAL$(Power);"DBM"
530 ENTER @Source;Freq
540 END WHILE
550 END IF
560 END
570 !
580 SUB Zero_meter(@Meter,@Source,INTEGER Error_flag)
590 OUTPUT @Source;"Pow:stat off"
600 OUTPUT @Meter;"CS"
610 OUTPUT @Meter;"ZE"
620 Max_attempts=30
630 Attempts=0
640 Zeroing=1590
650 Finished=0
660 WHILE Zeroing AND NOT Finished
670 Attempts=Attempts+1
680 Meter_stat=SPOLL(@Meter)
690 IF Attrmpts>Max_attempts THEN Zeroing=0
700 IF BIT(Meter_stat,1) THEN Finished=1
710 WAIT 1
720 END WHILE
730 OUTPUT @Source;"Pow:stat on"
740 IF NOT Zeroing THEN
750 Error_flag=1
760 ELSE
770 Error_flag=0
780 END IF
790 SUBEND
800 !
810 DEF FNRead_meter(@Meter,Freq)
820 OUTPUT @Meter;"SE0EN"
830 Freq$=VAL$(Freq)
840 OUTPUT @Meter;"FR"&Freq$&"GZ"
850 OUTPUT @Meter;"TR2"
860 ENTER @Meter;Power$
1-104 Getting Started Programming