# Keithley2400

## class Keithley2400( 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")

Keithley 2400 SMU as a sense-only DMM.

Integration time is set via NPLC (0.01–10); the 2400 has no aperture-in-seconds.
Digits aren’t directly settable — use NPLC. AC is not supported.

Methods

| [`close`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.close "instro.dmm.drivers.keithley_2400.Keithley2400.close") | Close the underlying transport. |
| --- | --- |
| [`measure_ac_current`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_ac_current "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_ac_voltage "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_dc_current "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_dc_voltage "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_four_wire_resistance "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.measure_resistance "instro.dmm.drivers.keithley_2400.Keithley2400.measure_resistance") | Trigger a 2-wire-resistance measurement and return the value (ohms). |
| [`open`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.open "instro.dmm.drivers.keithley_2400.Keithley2400.open") | Open the underlying transport and put the instrument into a known state. |
| [`set_ac_current_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_current_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_current_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_current_range") | Set manual AC-current range to `value` amperes; `None` selects auto-range. |
| [`set_ac_voltage_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_voltage_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_voltage_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_ac_voltage_range") | Set manual AC-voltage range to `value` volts; `None` selects auto-range. |
| [`set_aperture_seconds`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_aperture_seconds "instro.dmm.drivers.keithley_2400.Keithley2400.set_aperture_seconds") | Set integration time directly in seconds. |
| [`set_dc_current_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_current_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_current_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_current_range") | Set manual DC-current range to `value` amperes; `None` selects auto-range. |
| [`set_dc_voltage_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_voltage_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_voltage_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_dc_voltage_range") | Set manual DC-voltage range to `value` volts; `None` selects auto-range. |
| [`set_digits`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_digits "instro.dmm.drivers.keithley_2400.Keithley2400.set_digits") | Unsupported — the 2400 has no digits SCPI; use `set_aperture_nplc` for resolution. |
| [`set_four_wire_resistance_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_four_wire_resistance_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_four_wire_resistance_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_four_wire_resistance_range") | Set manual 4-wire-resistance range to `value` ohms; `None` selects auto-range. |
| [`set_measurement_function`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_measurement_function "instro.dmm.drivers.keithley_2400.Keithley2400.set_measurement_function") | Configure the 2400 sense/source for `function`. |
| [`set_two_wire_resistance_nplc`](https://dev.nominal.io/instro/ref/instruments/instro.dmm.drivers.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_two_wire_resistance_nplc "instro.dmm.drivers.keithley_2400.Keithley2400.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.keithley_2400.Keithley2400.md#instro.dmm.drivers.keithley_2400.Keithley2400.set_two_wire_resistance_range "instro.dmm.drivers.keithley_2400.Keithley2400.set_two_wire_resistance_range") | Set manual 2-wire-resistance range to `value` ohms; `None` selects auto-range. |

### open() → None[source]

Open the underlying transport and put the instrument into a known state.

Concrete drivers also do one-shot setup here (e.g. `*CLS` to clear
the error queue, `SYST:REM` for remote control).

### close() → None[source]

Close the underlying transport. Idempotent.

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

Configure the 2400 sense/source for `function`.

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

Unsupported — the 2400 has no digits SCPI; use `set_aperture_nplc` for resolution.

### set_dc_voltage_nplc(nplc: float) → None[source]

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

### set_dc_current_nplc(nplc: float) → None[source]

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

### set_two_wire_resistance_nplc(nplc: float) → None[source]

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

### set_dc_voltage_range(value: float | None) → None[source]

Set manual DC-voltage range to `value` volts; `None` selects auto-range.

### set_dc_current_range(value: float | None) → None[source]

Set manual DC-current range to `value` amperes; `None` selects auto-range.

### set_two_wire_resistance_range(value: float | None) → None[source]

Set manual 2-wire-resistance range to `value` ohms; `None` selects auto-range.

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

### 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_nplc(nplc: float) → None

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

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

Set manual AC-current range to `value` amperes; `None` selects auto-range.

### set_ac_voltage_nplc(nplc: float) → None

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

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

Set manual AC-voltage range to `value` volts; `None` selects auto-range.

### 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_four_wire_resistance_nplc(nplc: float) → None

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

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

Set manual 4-wire-resistance range to `value` ohms; `None` selects auto-range.
