58542 VXIbus Universal Power Meter
A-36 Publication 21555, Rev. E, September 2002
A.8.2 High Speed Measurement Example 2
Using one of the slowest system configurations available, external PC controller with GPIB slot0
resource manager and programming through a very slow Basic program, the previous program achieved a
speed of 24 readings per second. With faster systems using embedded PCs and faster software,
measurement speeds have been recorded as high as 71 readings per second.
10 ALPHA ON
20 CLEAR SCREEN
30 !
40 OPTION BASE 1
50 DIM Id$[50],Err_msg$[70]
60 DIM Ques$[200],A$[80],Chan1sens_1(200)
70 DIM Chan2sens_2(200)
80 Counter=1
90 !
100 !###########################################
110 ! Instrument ADDRESS ALLOCATION
120 !
130 ASSIGN @Slot0 TO 70100 ! 70100 is Logical Address of the Slot 0 controller
140 ASSIGN @Pwr_mtr TO 70101 ! 70101 is Power Meter in 1st position right of slot 0
150 !###########################################
160 !
280 !
290 CLEAR @Pwr_mtr
300 WAIT 1
310 OUTPUT @Pwr_mtr;*CLS ! Clears old messages from SYST:ERR buffer
320 WAIT 0.3
330 OUTPUT @Pwr_mtr;CALC1:MODE NORM ! NORMal Mode to perform channel configuration
340 OUTPUT @Pwr_mtr;CALC1:POW 1 ! Channels 1 or 2 can be either POW 1 or POW 2
350 ! RAT and DIFF are illegal in SWIFt and BURSt Modes.
370 !
380 !###########################################
390 !
400 ! Entering SWIFt Mode
410 !
420 OUTPUT @Pwr_mtr;CALC1:MODE SWIF ! Enters SWIFt Mode for fastest continuous
! measurements with IMM.
430 !
440 OUTPUT @Pwr_mtr;SENS1:CORR:FREQ 16.97E9
! Applies Cal Factor in SWIFt mode
450 ! Can be sent before or after CALC#:MODE SWIF
460 !
470 OUTPUT @Pwr_mtr;TRIG:SOUR IMM! IMM triggering is illegal in SWIFt Mode, Use BUS or EXT.
480 ! Can be sent before or after CALC#:MODE SWIF
490 !
610 !
611 Loopcount=50
613 Time1=TIMEDATE
620 FOR I=1 TO Loopcount
670 !OUTPUT @Pwr_mtr;FETC1? ! FETC#? acquires data
671 OUTPUT @Pwr_mtr;FETC1?;FETC2? ! Use this line when two sensors are attached.
680 !ENTER @Pwr_mtr;Chan1sens_1(I)
681 ENTER @Pwr_mtr;Chan1sens_1(I),Chan2sens_2(I)
! Use this line when two sensors are attached.
730 NEXT I
731 Time2=TIMEDATE
733 Time=Time2-Time1
743 Speed=Loopcount/Time ! Units are readings per second.
753 !
763 !PRINT Chan1sens_1(*)
773 PRINT Chan1sens_1(*),Chan2sens_2(*) ! Use this line when two sensors are attached.
783 !PRINT Speed; readings per second.
784 PRINT Speed; readings per second per channel.
793 !
803 END