226 13
Application Sample Programs
Measurement controlling oscillator level
230 Fmt_b$="LINY"
240 Pow_mode$="CURR"
250 Level=.001
260 Err_limit=1.0 ! Osc Level Error Limit: 1[%]
270 Iteration=10
280 !
290 OUTPUT @Hp4294a;"E4TP "&Adapter$
300 OUTPUT @Hp4294a;"PRES"
310 OUTPUT @Hp4294a;"MEAS "&Meas_para$
320 OUTPUT @Hp4294a;"SWPT "&Swp_type$
330 OUTPUT @Hp4294a;"STAR ";Start
340 OUTPUT @Hp4294a;"STOP ";Stop
350 OUTPUT @Hp4294a;"POIN ";Nop
360 !
370 ! Fixture Compensation (Open/Short)
380 !
390 OUTPUT @Hp4294a;"ESNB 256"
400 OUTPUT @Hp4294a;"*SRE 4"
410 Result=FNFixt_comp(@Hp4294a,Scode,"Open")
420 IF Result<>0 THEN Prog_end
430 Result=FNFixt_comp(@Hp4294a,Scode,"Short")
440 IF Result<>0 THEN Prog_end
450 !
460 OUTPUT @Hp4294a;"MANS ON"
470 OUTPUT @Hp4294a;"POWMOD ";Pow_mode$
480 OUTPUT @Hp4294a;"OMON ON"
490 OUTPUT @Hp4294a;"*OPC?"
500 ENTER @Hp4294a;Buff$
510 !
520 IF Pow_mode$="VOLT" THEN
530 Command$="OUTPVACP? "
540 Range_l=.005
550 Range_u=1.0
560 ELSE
570 Command$="OUTPIACP? "
580 Range_l=.0002
590 Range_u=.02
600 END IF
610 !
620 Meas_start: !
630 !
640 PRINT "Set DUT, then Push [Enter] key"
650 INPUT "",Inp_char$
660 !
670 PRINT ""
680 PRINT " ############# Measurement Result #############"
690 PRINT " Frequency Monitor: "&Pow_mode$&" Trace A Trace B"
700 Img$="MD.5DE,2X,MD.4DE,4X,MD.4DE,X,MD.4DE"
710 FOR I=1 TO Nop
720 OUTPUT @Hp4294a;"MANP ";I
730 Set_lvl=Level
740 Count=0
750 Err=100.0
760 WHILE Count<Iteration AND ABS(Err)>Err_limit
770 OUTPUT @Hp4294a;"POWE ";Set_lvl
780 OUTPUT @Hp4294a;"SING"
790 OUTPUT @Hp4294a;"*OPC?"
800 ENTER @Hp4294a;Buff$
810 OUTPUT @Hp4294a;Command$;I
820 ENTER @Hp4294a;Mon_lvl
830 Err=(Level-Mon_lvl)/Level*100
840 Set_lvl=Level*(Set_lvl/Mon_lvl)
850 IF Set_lvl<Range_l THEN Set_lvl=Range_l
860 IF Set_lvl>Range_u THEN Set_lvl=Range_u