Benchmark for 3852 Data Transfers: GPIB
Benchmark for 3852 Data Transfers: GPIB
The following program was used to benchmark the GPIB transfer speed of 44702A readings in packed format from 3852A mainframe memory to disc via a series 300 and via a BLP II.Programming Environment:Rocky Mountain Basic Program10 ! RE-STORE "HPIB_BM"20 !30 ! HPIB benchmark showing 44702A/B transfer speed.60 !70 ASSIGN @Hp52 TO 70980 ASSIGN @Bin TO 709;FORMAT OFF90 OPTION BASE 1100 INTEGER A(25000) BUFFER110 MASS STORAGE IS ":DOS,C" ! ":,1402" for series 300120 PURGE "DATA_FILE"130 CREATE BDAT "DATA_FILE",1140 ASSIGN @Path_1 TO "DATA_FILE";FORMAT OFF150 ASSIGN @Buff TO BUFFER A(*);WORD160 !170 OUTPUT @Hp52;"RST"180 WAIT .5 ! OUTBUF size and on/off made no difference190 OUTPUT @Hp52;"DISP OFF; DISABLE LABELS"200 OUTPUT @Hp52;"PACKED PKD(49999)"210 OUTPUT @Hp52;"USE 600;SCANMODE ON;SCTRIG HOLD"220 OUTPUT @Hp52;"FUNC DCV;ASCAN ON;TERM RIBBON"230 OUTPUT @Hp52;"PRESCAN 12500;POSTSCAN 12500"240 OUTPUT @Hp52;"CLWRITE 501;AZERO ONCE"250 OUTPUT @Hp52;"REAL T1,T2,T3"260 OUTPUT @Hp52;"SUB A"270 OUTPUT @Hp52;" TIME INTO T1; TIME INTO T2"280 OUTPUT @Hp52;" SCTRIG SGL"290 ! OUTPUT @Hp52;" XRDGS 600 25000 PACK" ! Slow 2.8 kHz300 OUTPUT @Hp52;" XRDGS 600 25000 INTO PKD"310 OUTPUT @Hp52;" TIME INTO T3"320 OUTPUT @Hp52;"SUBEND"330 OUTPUT @Hp52;"CALL A"340 Tb=TIMEDATE350 OUTPUT @Hp52;"VREAD PKD PACK"360 ENTER @Bin;A(*)370 OUTPUT @Path_1;A(*)380 ! TRANSFER @Bin TO @Buff;END,WAIT390 ! TRANSFER @Buff TO @Path_1;WAIT400 ASSIGN @Path_1 TO *410 Tc=TIMEDATE420 FOR J=24995 TO 25000430 Good_flag=BIT(A(J),15)440 Sign=BIT(A(J),12)450 Range=BINAND(A(J),24576) DIV 8192460 Value=BINAND(A(J),4095)470 IF Good_flag THEN Volts=Value/102400.0480 SELECT Range490 CASE 0500 Volts=Volts510 CASE 1520 Volts=8*Volts530 CASE 2540 Volts=64*Volts550 CASE 3560 Volts=256*Volts570 END SELECT580 PRINT Volts,J590 NEXT J600 OUTPUT @Hp52;"VREAD (T3-T2-(T2-T1))"610 ENTER @Hp52;Ta620 PRINT "The time to take 25000 readings and transfer to MF memory is:";Ta630 PRINT "The time to transfer from 3852A to BLP II to C drive is: ";DROUND((Tc-Tb),3)640 PRINT "The reading rate is: ";DROUND((25000/(Tc-Tb)),3)650 END