Keithley 2000 Multimeter

class pymeasure.instruments.keithley.Keithley2000(adapter, name='Keithley 2000 Multimeter', **kwargs)

Bases: KeithleyBuffer, SCPIUnknownMixin, Instrument

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: enabled and disabled.

property buffer_data

Get a numpy array of values from the buffer.

property buffer_points

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

Returns

List of error entries.

check_get_errors()

Check for errors after having gotten a property and log them.

Called if check_get_errors=True is set for that property.

If you override this method, you may choose to raise an Exception for certain errors.

Returns

List of error entries.

check_set_errors()

Check for errors after having set a property and log them.

Called if check_set_errors=True is set for that property.

If you override this method, you may choose to raise an Exception for certain errors.

Returns

List of error entries.

clear()

Clear the instrument status byte.

property complete

Get the synchronization bit.

This property allows synchronization between a controller and a device. The Operation Complete query places an ASCII character 1 into the device’s Output Queue when all pending selected device operations have been finished.

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

Get 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: current (DC), current ac, voltage (DC), voltage ac, resistance (2-wire), resistance 4W (4-wire), period, temperature, diode, and frequency.

property next_error

Get the next error in the queue. If you want to read and log all errors, use check_errors() instead.

property options

Get the device options installed.

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.

read(**kwargs)

Read up to (excluding) read_termination or the whole read buffer.

read_binary_values(**kwargs)

Read binary values from the device.

read_bytes(count, **kwargs)

Read a certain number of bytes from the instrument.

Parameters
  • count (int) – Number of bytes to read. A value of -1 indicates to read the whole read buffer.

  • kwargs – Keyword arguments for the adapter.

Returns bytes

Bytes response of the instrument (including termination).

remote()

Places the instrument in the remote state, which is does not need to be explicitly 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.

property status

Get the status byte and Master Summary Status bit.

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(query_delay=0)

Wait for some time. Used by ‘ask’ to wait before reading.

Parameters

query_delay – Delay between writing and reading in seconds.

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

write(command, **kwargs)

Write a string command to the instrument appending write_termination.

Parameters
  • command – command string to be sent to the instrument

  • kwargs – Keyword arguments for the adapter.

write_binary_values(command, values, *args, **kwargs)

Write binary values to the device.

Parameters
  • command – Command to send.

  • values – The values to transmit.

  • **kwargs (*args,) – Further arguments to hand to the Adapter.

write_bytes(content, **kwargs)

Write the bytes content to the instrument.