# Agilent34401A

## class Agilent34401A( visa_resource: str | VisaConfig, )[source]

Bases: [`DMMDriverBase`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.DMMDriverBase.md#instro.dmm.DMMDriverBase "instro.dmm.dmm.DMMDriverBase")

Agilent/HP/Keysight 34401A DMM.

Methods

| [`close`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.close "instro.dmm.drivers.agilent_a34401a.Agilent34401A.close") | Close the underlying transport. |
| --- | --- |
| [`measure_ac_current`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_ac_current "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_ac_current") | Trigger an AC-current measurement and return the value (amperes RMS, vendor-dependent). |
| [`measure_ac_voltage`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_ac_voltage "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_ac_voltage") | Trigger an AC-voltage measurement and return the value (volts RMS, vendor-dependent). |
| [`measure_dc_current`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_dc_current "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_dc_current") | Trigger a DC-current measurement and return the value (amperes). |
| [`measure_dc_voltage`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_dc_voltage "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_dc_voltage") | Trigger a DC-voltage measurement and return the value (volts). |
| [`measure_four_wire_resistance`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_four_wire_resistance "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_four_wire_resistance") | Trigger a 4-wire-resistance measurement and return the value (ohms). |
| [`measure_resistance`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_resistance "instro.dmm.drivers.agilent_a34401a.Agilent34401A.measure_resistance") | Trigger a 2-wire-resistance measurement and return the value (ohms). |
| [`open`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.open "instro.dmm.drivers.agilent_a34401a.Agilent34401A.open") | Open transport, `*CLS`, then `SYST:REM` to disable the front panel and RS-232 echo. |
| [`set_ac_current_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_current_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_current_nplc") | Set AC-current integration time to `nplc` power-line cycles. |
| [`set_ac_current_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_current_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_current_range") | Cache the range for `MEAS:...?` calls. |
| [`set_ac_voltage_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_voltage_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_voltage_nplc") | Set AC-voltage integration time to `nplc` power-line cycles. |
| [`set_ac_voltage_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_voltage_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_ac_voltage_range") | Cache the range for `MEAS:...?` calls. |
| [`set_aperture_seconds`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_aperture_seconds "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_aperture_seconds") | Set integration time directly in seconds. |
| [`set_dc_current_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_current_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_current_nplc") | Set DC-current integration time to `nplc` power-line cycles. |
| [`set_dc_current_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_current_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_current_range") | Cache the range for `MEAS:...?` calls. |
| [`set_dc_voltage_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_voltage_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_voltage_nplc") | Set DC-voltage integration time to `nplc` power-line cycles. |
| [`set_dc_voltage_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_voltage_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_dc_voltage_range") | Cache the range for `MEAS:...?` calls. |
| [`set_digits`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_digits "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_digits") | Set the digits (4, 5, or 6) used as the resolution argument in `MEAS:...?` commands. |
| [`set_four_wire_resistance_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_four_wire_resistance_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_four_wire_resistance_nplc") | Set 4-wire-resistance integration time to `nplc` power-line cycles. |
| [`set_four_wire_resistance_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_four_wire_resistance_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_four_wire_resistance_range") | Cache the range for `MEAS:...?` calls. |
| [`set_measurement_function`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_measurement_function "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_measurement_function") | Configure the function for subsequent reads via a dummy measurement. |
| [`set_two_wire_resistance_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_two_wire_resistance_nplc "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_two_wire_resistance_nplc") | Set 2-wire-resistance integration time to `nplc` power-line cycles. |
| [`set_two_wire_resistance_range`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.agilent_a34401a.Agilent34401A.md#instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_two_wire_resistance_range "instro.dmm.drivers.agilent_a34401a.Agilent34401A.set_two_wire_resistance_range") | Cache the range for `MEAS:...?` calls. |

### open() → None[source]

Open transport, `*CLS`, then `SYST:REM` to disable the front panel and RS-232 echo.

### close() → None[source]

Close the underlying transport. Idempotent.

### set_measurement_function( function: MeasurementFunction, ) → None[source]

Configure the function for subsequent reads via a dummy measurement.

### set_digits(n: int) → None[source]

Set the digits (4, 5, or 6) used as the resolution argument in `MEAS:...?` commands.

### set_dc_voltage_range(value: float | None) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### set_ac_voltage_range(value: float | None) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### set_dc_current_range(value: float | None) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### set_ac_current_range(value: float | None) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### set_two_wire_resistance_range(value: float | None) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### set_four_wire_resistance_range( value: float | None, ) → None

Cache the range for `MEAS:...?` calls. The 34401A’s cache is shared across functions, so every `set_*_range` delegates here.

### measure_dc_voltage() → float[source]

Trigger a DC-voltage measurement and return the value (volts).

### measure_dc_current() → float[source]

Trigger a DC-current measurement and return the value (amperes).

### measure_resistance() → float[source]

Trigger a 2-wire-resistance measurement and return the value (ohms).

### measure_four_wire_resistance() → float[source]

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).

### measure_ac_voltage() → float[source]

Trigger an AC-voltage measurement and return the value (volts RMS, vendor-dependent).

### measure_ac_current() → float[source]

Trigger an AC-current measurement and return the value (amperes RMS, vendor-dependent).

### set_ac_current_nplc(nplc: float) → None

Set AC-current integration time to `nplc` power-line cycles.

### set_ac_voltage_nplc(nplc: float) → None

Set AC-voltage integration time to `nplc` power-line cycles.

### set_aperture_seconds(seconds: float) → None

Set integration time directly in seconds.

Default raises `NotImplementedError`. Mutually exclusive with
`set_aperture_nplc` on a given driver — vendors typically expose
one or the other.

### set_dc_current_nplc(nplc: float) → None

Set DC-current integration time to `nplc` power-line cycles.

### set_dc_voltage_nplc(nplc: float) → None

Set DC-voltage integration time to `nplc` power-line cycles.

### set_four_wire_resistance_nplc(nplc: float) → None

Set 4-wire-resistance integration time to `nplc` power-line cycles.

### set_two_wire_resistance_nplc(nplc: float) → None

Set 2-wire-resistance integration time to `nplc` power-line cycles.
