1620
Header=BIT(Lower_word,0)*128+Rng
1630 Exp=BINAND(Header,7)
1640
ELSE
1650
Upper_word=READIO(-16,Ba12)
1660 CALL
Data_ready
1670 Lower_word=READIO(-16,Ba12)
1680
Header=SHIFT(Upper_word,8)
1690
Count=65536.*BINAND(Upper_word,255)+2.*
SHIFT(Lower_word,1)
1700 Exp=BINAND(Header,7)
1710
IF Count>=8388608 THEN
1720 Count=(Count-16777216.)/8388608
1730 ELSE
1740 Count=Count/8388608
1750 END
IF
1760
END IF
1770
IF Func=2 THEN
1780 Readings(I)=Count*256*8^(Exp)
1790
ELSE
1800 Readings(I)=Count*8^(Exp-1)
1810 END
IF
1820 NEXT I
1830 PRINT Readings(*)
1840 SUBEND
1850 !
This subprogram resets the multimeter by disabling the SYSFAIL bit,
1860 !
then writing a ’1’ to Control register bit 0, and then writing a ’0’ to
1870 !
Control register bit 0. Once the reset completes, SYSFAIL is re-enabled.
1880 SUB Mm_reset
1890 Mm_reset: !
1900
COM Base_addr,Aper,Func,Rng
1910
WRITEIO -16,Ba4;2
1920
WRITEIO -16,Ba4;3
1930
WRITEIO -16,Ba4;2
1940
REPEAT
1950
CALL Read_status(Status,Rdy,Done,Indardy,Qryrdy,Noerr,Pass_fail)
1960
UNTIL Pass_fail
1970
WRITEIO -16,Ba4;0
1980 SUBEND
238 HP E1326B/E1411B Multimeter Register-Based Programming
Appendix C
Artisan Technology Group - Quality Instrumentation ... Guaranteed | (888) 88-SOURCE | www.artisantg.com