Fluke8845A#
- class Fluke8845A(visa_resource: str | VisaConfig)[source]#
Bases:
Agilent34401AFluke 8845A 6.5-digit DMM, driven through its Agilent 34401A-compatible
8845command set.The meter’s default remote command set (
8845) is compatible with the Agilent 34401A, so every command comes fromAgilent34401Aand this class adds none. Two front-panel settings must be made before use; neither can be changed over the remote interface, and both are non-volatile:Command set
8845(INSTR SETUP → COMMANDS → 8845). The Fluke 45 emulation command set is not supported.RS-232 mode
COMPUTER(INSTR SETUP → PORT IF → RS232 → COMP/TERM ECHO → COMPUTER).TERMINALmode echoes each command and prints aNNN>prompt, which the driver reads back as the reply;openthen fails with an error such asFluke 8845A reported error: *CLS.
Over RS-232, also match the meter’s line settings to the
VisaConfigdefaults: 9600 baud, 8 data bits, no parity, 1 stop bit, no flow control, and EOLCR LF.Create the driver; the connection opens on
open.- Parameters:
visa_resource (str | VisaConfig)
VISA resource string, e.g.
"ASRL6::INSTR"for RS-232 on COM6, or aVisaConfigto customize the serial line or backend.
Example:
from instro.dmm import InstroDMM, MeasurementFunction from instro.unstable.dmm.drivers import Fluke8845A dmm = InstroDMM(name="fluke", driver=Fluke8845A("ASRL6::INSTR")) dmm.open() dmm.set_measurement_function(MeasurementFunction.DC_VOLTAGE) volts = dmm.read().latest dmm.close()
Methods
Close the underlying transport.
Trigger an AC-current measurement and return the value (amperes RMS, vendor-dependent).
Trigger an AC-voltage measurement and return the value (volts RMS, vendor-dependent).
Trigger a DC-current measurement and return the value (amperes).
Trigger a DC-voltage measurement and return the value (volts).
Trigger a 4-wire-resistance measurement and return the value (ohms).
Trigger a 2-wire-resistance measurement and return the value (ohms).
Open transport,
*CLS, thenSYST:REMto disable the front panel and RS-232 echo.Set AC-current integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.Set AC-voltage integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.Set integration time directly in seconds.
Set DC-current integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.Set DC-voltage integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.Set the digits (4, 5, or 6) used as the resolution argument in
MEAS:...?commands.Set 4-wire-resistance integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.Configure the function for subsequent reads via a dummy measurement.
Set 2-wire-resistance integration time to
nplcpower-line cycles.Cache the range for
MEAS:...?calls.- measure_ac_current() float#
Trigger an AC-current measurement and return the value (amperes RMS, vendor-dependent).
- measure_ac_voltage() float#
Trigger an AC-voltage measurement and return the value (volts RMS, vendor-dependent).
- measure_four_wire_resistance() float#
Trigger a 4-wire-resistance measurement and return the value (ohms).
Default raises
NotImplementedError; override on drivers whose instrument has dedicated sense leads (e.g. Agilent 34401A).
- set_ac_current_range(value: float | None) None#
Cache the range for
MEAS:...?calls. The 34401A’s cache is shared across functions, so everyset_*_rangedelegates here.
- set_ac_voltage_range(value: float | None) None#
Cache the range for
MEAS:...?calls. The 34401A’s cache is shared across functions, so everyset_*_rangedelegates here.
- set_aperture_seconds(seconds: float) None#
Set integration time directly in seconds.
Default raises
NotImplementedError. Mutually exclusive withset_aperture_nplcon a given driver — vendors typically expose one or the other.
- set_dc_current_range(value: float | None) None#
Cache the range for
MEAS:...?calls. The 34401A’s cache is shared across functions, so everyset_*_rangedelegates here.
- set_dc_voltage_range(value: float | None) None#
Cache the range for
MEAS:...?calls. The 34401A’s cache is shared across functions, so everyset_*_rangedelegates here.
- set_digits(n: int) None#
Set the digits (4, 5, or 6) used as the resolution argument in
MEAS:...?commands.
- set_four_wire_resistance_nplc(nplc: float) None#
Set 4-wire-resistance integration time to
nplcpower-line cycles.
- set_four_wire_resistance_range(value: float | None) None#
Cache the range for
MEAS:...?calls. The 34401A’s cache is shared across functions, so everyset_*_rangedelegates here.
- set_measurement_function(
- function: MeasurementFunction,
Configure the function for subsequent reads via a dummy measurement.