# Keithley 2000 Multimeter

class pymeasure.instruments.keithley.Keithley2000(adapter, **kwargs)

  Bases: `Instrument`, `KeithleyBuffer`

  Represents the Keithley 2000 Multimeter and provides a high-level interface for interacting with the instrument.

      meter = Keithley2000("GPIB::1")
      meter.measure_voltage()
      print(meter.voltage)

  acquire_reference(mode=None)

    Sets the active value as the reference for the active mode, or can set another mode by its name.

    Parameters:

      mode – A valid `mode` name, or None for the active mode

  auto_range(mode=None)

    Sets the active mode to use auto-range, or can set another mode by its name.

    Parameters:

      mode – A valid `mode` name, or None for the active mode

  beep(frequency, duration)

    Sounds a system beep.

    Parameters:

      - frequency – A frequency in Hz between 65 Hz and 2 MHz

      - duration – A time in seconds between 0 and 7.9 seconds

  property beep_state

    A string property that enables or disables the system status beeper, which can take the values: :code:’enabled’ and :code:’disabled’.

  property buffer_data

    Returns a numpy array of values from the buffer.

  property buffer_points

    An integer property that controls the number of buffer points. This does not represent actual points in the buffer, but the configuration value instead.

  check_errors()

    Read all errors from the instrument.

  config_buffer(points=64, delay=0)

    Configures the measurement buffer for a number of points, to be taken with a specified delay.

    Parameters:

      - points – The number of points in the buffer.

      - delay – The delay time in seconds.

  property current

    Reads a DC or AC current measurement in Amps, based on the active `mode`.

  property current_ac_bandwidth

    A floating point property that sets the AC current detector bandwidth in Hz, which can take the values 3, 30, and 300 Hz.

  property current_ac_digits

    An integer property that controls the number of digits in the AC current readings, which can take values from 4 to 7.

  property current_ac_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the AC current measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property current_ac_range

    A floating point property that controls the AC current range in Amps, which can take values from 0 to 3.1 A. Auto-range is disabled when this property is set.

  property current_ac_reference

    A floating point property that controls the AC current reference value in Amps, which can take values from -3.1 to 3.1 A.

  property current_digits

    An integer property that controls the number of digits in the DC current readings, which can take values from 4 to 7.

  property current_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the DC current measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property current_range

    A floating point property that controls the DC current range in Amps, which can take values from 0 to 3.1 A. Auto-range is disabled when this property is set.

  property current_reference

    A floating point property that controls the DC current reference value in Amps, which can take values from -3.1 to 3.1 A.

  disable_buffer()

    Disables the connection between measurements and the buffer, but does not abort the measurement process.

  disable_filter(mode=None)

    Disables the averaging filter for the active mode, or can set another mode by its name.

    Parameters:

      mode – A valid `mode` name, or None for the active mode

  disable_reference(mode=None)

    Disables the reference for the active mode, or can set another mode by its name.

    Parameters:

      mode – A valid `mode` name, or None for the active mode

  enable_filter(mode=None, type='repeat', count=1)

    Enables the averaging filter for the active mode, or can set another mode by its name.

    Parameters:

      - mode – A valid `mode` name, or None for the active mode

      - type – The type of averaging filter, either ‘repeat’ or ‘moving’.

      - count – A number of averages, which can take take values from 1 to 100

  enable_reference(mode=None)

    Enables the reference for the active mode, or can set another mode by its name.

    Parameters:

      mode – A valid `mode` name, or None for the active mode

  property frequency

    Reads a frequency measurement in Hz, based on the active `mode`.

  property frequency_aperature

    A floating point property that controls the frequency aperature in seconds, which sets the integration period and measurement speed. Takes values from 0.01 to 1.0 s.

  property frequency_digits

    An integer property that controls the number of digits in the frequency readings, which can take values from 4 to 7.

  property frequency_reference

    A floating point property that controls the frequency reference value in Hz, which can take values from 0 to 15 MHz.

  property frequency_threshold

    A floating point property that controls the voltage signal threshold level in Volts for the frequency measurement, which can take values from 0 to 1010 V.

  property id

    Requests and returns the identification of the instrument.

  is_buffer_full()

    Returns True if the buffer is full of measurements.

  local()

    Returns control to the instrument panel, and enables the panel if disabled.

  measure_continuity()

    Configures the instrument to perform continuity testing.

  measure_current(max_current=0.01, ac=False)

    Configures the instrument to measure current, based on a maximum current to set the range, and a boolean flag to determine if DC or AC is required.

    Parameters:

      - max_current – A current in Volts to set the current range

      - ac – False for DC current, and True for AC current

  measure_diode()

    Configures the instrument to perform diode testing.

  measure_frequency()

    Configures the instrument to measure the frequency.

  measure_period()

    Configures the instrument to measure the period.

  measure_resistance(max_resistance=10000000.0, wires=2)

    Configures the instrument to measure voltage, based on a maximum voltage to set the range, and a boolean flag to determine if DC or AC is required.

    Parameters:

      - max_voltage – A voltage in Volts to set the voltage range

      - ac – False for DC voltage, and True for AC voltage

  measure_temperature()

    Configures the instrument to measure the temperature.

  measure_voltage(max_voltage=1, ac=False)

    Configures the instrument to measure voltage, based on a maximum voltage to set the range, and a boolean flag to determine if DC or AC is required.

    Parameters:

      - max_voltage – A voltage in Volts to set the voltage range

      - ac – False for DC voltage, and True for AC voltage

  property mode

    A string property that controls the configuration mode for measurements, which can take the values: :code:’current’ (DC), :code:’current ac’, :code:’voltage’ (DC), :code:’voltage ac’, :code:’resistance’ (2-wire), :code:’resistance 4W’ (4-wire), :code:’period’, :code:’frequency’, :code:’temperature’, :code:’diode’, and :code:’frequency’.

  property period

    Reads a period measurement in seconds, based on the active `mode`.

  property period_aperature

    A floating point property that controls the period aperature in seconds, which sets the integration period and measurement speed. Takes values from 0.01 to 1.0 s.

  property period_digits

    An integer property that controls the number of digits in the period readings, which can take values from 4 to 7.

  property period_reference

    A floating point property that controls the period reference value in seconds, which can take values from 0 to 1 s.

  property period_threshold

    A floating point property that controls the voltage signal threshold level in Volts for the period measurement, which can take values from 0 to 1010 V.

  remote()

    Places the instrument in the remote state, which is does not need to be explicity called in general.

  remote_lock()

    Disables and locks the front panel controls to prevent changes during remote operations. This is disabled by calling `local()`.

  reset()

    Resets the instrument state.

  reset_buffer()

    Resets the buffer.

  property resistance

    Reads a resistance measurement in Ohms for both 2-wire and 4-wire configurations, based on the active `mode`.

  property resistance_4W_digits

    An integer property that controls the number of digits in the 4-wire resistance readings, which can take values from 4 to 7.

  property resistance_4W_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the 4-wire resistance measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property resistance_4W_range

    A floating point property that controls the 4-wire resistance range in Ohms, which can take values from 0 to 120 MOhms. Auto-range is disabled when this property is set.

  property resistance_4W_reference

    A floating point property that controls the 4-wire resistance reference value in Ohms, which can take values from 0 to 120 MOhms.

  property resistance_digits

    An integer property that controls the number of digits in the 2-wire resistance readings, which can take values from 4 to 7.

  property resistance_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the 2-wire resistance measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property resistance_range

    A floating point property that controls the 2-wire resistance range in Ohms, which can take values from 0 to 120 MOhms. Auto-range is disabled when this property is set.

  property resistance_reference

    A floating point property that controls the 2-wire resistance reference value in Ohms, which can take values from 0 to 120 MOhms.

  shutdown()

    Brings the instrument to a safe and stable state

  start_buffer()

    Starts the buffer.

  stop_buffer()

    Aborts the buffering measurement, by stopping the measurement arming and triggering sequence. If possible, a Selected Device Clear (SDC) is used.

  property temperature

    Reads a temperature measurement in Celsius, based on the active `mode`.

  property temperature_digits

    An integer property that controls the number of digits in the temperature readings, which can take values from 4 to 7.

  property temperature_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the temperature measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property temperature_reference

    A floating point property that controls the temperature reference value in Celsius, which can take values from -200 to 1372 C.

  property trigger_count

    An integer property that controls the trigger count, which can take values from 1 to 9,999.

  property trigger_delay

    A floating point property that controls the trigger delay in seconds, which can take values from 1 to 9,999,999.999 s.

  property voltage

    Reads a DC or AC voltage measurement in Volts, based on the active `mode`.

  property voltage_ac_bandwidth

    A floating point property that sets the AC voltage detector bandwidth in Hz, which can take the values 3, 30, and 300 Hz.

  property voltage_ac_digits

    An integer property that controls the number of digits in the AC voltage readings, which can take values from 4 to 7.

  property voltage_ac_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the AC voltage measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property voltage_ac_range

    A floating point property that controls the AC voltage range in Volts, which can take values from 0 to 757.5 V. Auto-range is disabled when this property is set.

  property voltage_ac_reference

    A floating point property that controls the AC voltage reference value in Volts, which can take values from -757.5 to 757.5 Volts.

  property voltage_digits

    An integer property that controls the number of digits in the DC voltage readings, which can take values from 4 to 7.

  property voltage_nplc

    A floating point property that controls the number of power line cycles (NPLC) for the DC voltage measurements, which sets the integration period and measurement speed. Takes values from 0.01 to 10, where 0.1, 1, and 10 are Fast, Medium, and Slow respectively.

  property voltage_range

    A floating point property that controls the DC voltage range in Volts, which can take values from 0 to 1010 V. Auto-range is disabled when this property is set.

  property voltage_reference

    A floating point property that controls the DC voltage reference value in Volts, which can take values from -1010 to 1010 V.

  wait_for_buffer(should_stop=<function KeithleyBuffer.<lambda>>, timeout=60, interval=0.1)

    Blocks the program, waiting for a full buffer. This function returns early if the `should_stop` function returns True or the timeout is reached before the buffer is full.

    Parameters:

      - should_stop – A function that returns True when this function should return early

      - timeout – A time in seconds after which this function should return early

      - interval – A time in seconds for how often to check if the buffer is full