Keithley DAQ6510 Data Acquisition Logging Multimeter System

class pymeasure.instruments.keithley.KeithleyDAQ6510(adapter, name='Keithley DAQ6510', **kwargs)

Bases: KeithleyBuffer, SCPIMixin, Instrument

Represents the Keithley DAQ6510 Data Acquisition Logging Multimeter System and provides a high-level interface for interacting with the instrument.

keithley = KeithleyDAQ6510("GPIB::1")
keithley = KeithleyDAQ6510("TCPIP::192.168.1.1::INSTR")

print(keithley.current)                 # Prints the current in Amps
keithley.current_range = 10E-6          # Select the 10 uA range

print(keithley.voltage)                 # Prints the voltage in Volts
keithley.voltage_range = 100e-3         # Select the 100 mV range

print(keithley.resistance)              # Prints the resistance in Ohms
keithley.offset_compensated = "ON"      # Turns offset-compensated ohms on

keithley.open_channels([134, 135])      # Open channels 134 and 135 on the MUX card
keithley.close_channel(133)             # Close channel 133 on the MUX card
beep(frequency, duration)

Sound a system beep.

Parameters:
  • frequency – A frequency in Hz from 20 and 8000 Hz

  • duration – The amount of time to play the tone, between 0.001 s to 100 s

Returns:

None

property buffer_data

Get a numpy array of values from the buffer.

property buffer_points: Any

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 – 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 – List of error entries.

clear()

Clear the instrument status byte.

close_channel(channel)

Set a single channel to closed.

Parameters:

channel – Channel to be set to closed.

close_channels(channel_list)

Configure multiple channels to be closed.

Parameters:

channel_list – List of channels to be set to closed.

property complete: Any

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)

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

Parameters:
  • points – The number of points in the buffer. (default: 64)

  • delay – The delay time in seconds. (default: 0)

property current: Any

Measure the current in Amps, if configured for this reading.

property current_nplc: Any

Control the number of power line cycles (NPLC) for the DC current measurements, which sets the integration period and measurement speed. Takes values from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). The smallest value is the shortest time, and results in the fastest reading rate, but increases the reading noise and decreases the number of usable digits. The largest value is the longest time, and results in the lowest reading rate, but increases the number of usable digits.

property current_range: Any

Control the measurement current range in Amps. If the measurement function is DC, available ranges are 10E-6 A to 3A. If the measurement function is AC, available ranges are 100E-6 to 3A. Auto-range is disabled when this property is set.

disable_buffer()

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

property id: Any

Get the identification of the instrument.

is_buffer_full()

Return True if the buffer is full of measurements.

measure_current(nplc=1, current=3, auto_range=True)

Configure the measurement of current.

Parameters:
  • nplc – Number of power line cycles (NPLC) from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). (default: 1)

  • current – Upper limit of current in Amps, from 10E-6 to 3 A (DC) or 100E-6 to 3A (AC). (default: 3)

  • auto_range – A boolean value to enable auto_range if True, else uses the set current. (default: True)

measure_resistance(nplc=1, resistance=100000000.0, auto_range=True)

Configure the measurement of resistance.

Parameters:
  • nplc – Number of power line cycles (NPLC) from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). (default: 1)

  • resistance – Upper limit of resistance in Ohms, from 10 to 100E6 (2-wire), 1 to 100E6 (4-wire with OCOM off), or 1 to 10E3 (4-wire with OCOM on). (default: 100000000.0)

  • auto_range – A boolean value to enable auto_range if True, else uses the set resistance. (default: True)

measure_voltage(nplc=1, voltage=1000, auto_range=True)

Configure the measurement of voltage.

Parameters:
  • nplc – Number of power line cycles (NPLC) from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). (default: 1)

  • voltage – Upper limit of voltage in Volts, from 100E-3 to 1000 V (DC) or 100E-3 to 750 V (AC). (default: 1000)

  • auto_range – A boolean value to enable auto_range if True, else uses the set voltage. (default: True)

property next_error: Any

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

property offset_compensated: Any

Control if offset compensation is used or not. Valid values are OFF, ON, and AUTO.

open_channel(channel)

Set a single channel to open.

Parameters:

channel – Channel to be set to open.

open_channels(channel_list)

Configure multiple channels to be open.

Parameters:

channel_list – List of channels to be set to open.

property options: Any

Get the device options installed.

read(**kwargs)

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

Return type:

str

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

Return type:

bytes

reset()

Reset the instrument.

reset_buffer()

Reset the buffer.

property resistance: Any

Measure the resistance in Ohms, if configured for this reading.

property resistance_nplc: Any

Control the number of power line cycles (NPLC) for the 2-wire resistance measurements, which sets the integration period and measurement speed. Takes values from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). The smallest value is the shortest time, and results in the fastest reading rate, but increases the reading noise and decreases the number of usable digits. The largest value is the longest time, and results in the lowest reading rate, but increases the number of usable digits.

property resistance_range: Any

Control the resistance range in Ohms. If the measurement function is 2-wire, the available ranges are 10 to 100E6 Ohms. If the measurement function is 4-wire resistance with offset compensation off, the available ranges are 1 to 100E6 Ohms. If the measurement function is 4-wire resistance with offset compensation on, the available ranges are 1 to 10E3 Ohms. Auto-range is disabled when this property is set.

property sense_mode: Any

Control the reading mode, which can take the values ‘current’ or ‘voltage’. The convenience methods sense_current() and sense_voltage() can also be used.

shutdown()

Brings the instrument to a safe and stable state

Return type:

None

start_buffer()

Starts the buffer.

property status: Any

Get the status byte and Master Summary Status bit.

stop_buffer()

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

property voltage: Any

Measure the voltage in Volts, if configured for this reading.

property voltage_nplc: Any

Control the number of power line cycles (NPLC) for the DC voltage measurements, which sets the integration period and measurement speed. Takes values from 5E-4 to 15 (60 Hz) or 12 (50 Hz or 400 Hz). The smallest value is the shortest time, and results in the fastest reading rate, but increases the reading noise and decreases the number of usable digits. The largest value is the longest time, and results in the lowest reading rate, but increases the number of usable digits.

property voltage_range: Any

Control the measurement voltage range in Volts. If the measurement function is DC, available ranges are 100E-3 V to 1000 V. If the measurement function is AC, available ranges are 100E-3 to 750 V. Auto-range is disabled when this property is set.

wait_for(query_delay=None)

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

Parameters:

query_delay (Optional[float]) – Delay between writing and reading in seconds. None is default delay. (default: None)

Return type:

None

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

Block 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 (default: <function KeithleyBuffer.<lambda> at 0x76f1f4519800>)

  • timeout – A time in seconds after which this function should return early (default: 60)

  • interval – A time in seconds for how often to check if the buffer is full (default: 0.1)

write(command, **kwargs)

Write a string command to the instrument appending write_termination.

Parameters:
  • command (str) – command string to be sent to the instrument

  • kwargs – Keyword arguments for the adapter.

Return type:

None

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

Write binary values to the device.

Parameters:
  • command (str) – Command to send.

  • values (Sequence[Union[int, float]]) – The values to transmit.

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

Return type:

None

write_bytes(content, **kwargs)

Write the bytes content to the instrument.

Return type:

None