360
370
380
390
400
410
420
430
440
450
460
470
480
490
500
510
520
530
540
550
560
570
580
590
600
610
620
630
640
650
660
670
680
690
700
710
720
730
740
750
760
770
780
790
800
810
820
830
840
850
860
Freq=Start-freq
FOR
I=1
TO N
A$=A$&VAL$(Freq)t"GHZ,Odb,"
Freq=Freq+Increment
NEXT I
B=LEN(A$)
B=B-1
B$=A$
cl
,Bl
OUTPUT
QSource;"CORR:FLAT
";B$
! OUTPUT
QSource;"POW:STAT
ON"
!
!ENTER
DATA IN USER CORRECTION TABLE
OUTPUT
OSource;"CAL:PMET:FLAT:INIT?
USER"
ENTER
OSource;Freq
WHILE
Freq>O
Power=FNRead-meter(QMeter,Freq)
OUTPUT
OSource;"CAL:PMET:FLAT:NEXT?
";VAL$(Power);"DBM"
ENTER QSource;Freq
END WHILE
END IF
END
I
SUB Zero-meter(QMeter,OSource,INTEGER Error-flag)
OUTPUT
OSource;"Pow:stat
off"
OUTPUT
OMeter;"CS"
OUTPUT
QMeter;"ZE"
Max-attempts=30
Attempts=0
Zeroing=1590
Finished=0
WHILE Zeroing AND NOT Finished
Attempts=Attempts+l
Meter-stat=SPOLL(OMeter)
IF
Attrmpts>Max-attempts
THEN Zeroing=0
IF
BIT(Meter-stat,l)
THEN Finished=1
WAIT 1
END WHILE
OUTPUT
OSource;"Pow:stat
on"
IF NOT Zeroing THEN
Error-flag=1
ELSE
Error--flag=0
END IF
SUBEND
!
DEF
FNRead-meter(OMeter,Freq)
OUTPUT
QMeter;"SEOEN"
Freq$=VAL$(Freq)
OUTPUT @Meter;
"FR"&Freq$t"GZ"
OUTPUT
QMeter;"TR2"
ENTER
QMeter;Power$
1-l
04
Getting Started Programming