# Keithley 2700 MultiMeter/Switch System

class pymeasure.instruments.keithley.Keithley2700(adapter, name='Keithley 2700 MultiMeter/Switch System', **kwargs)

  Bases: `KeithleyBuffer`, `SCPIMixin`, `Instrument`

  Represents the Keithley 2700 Multimeter/Switch System and provides a high-level interface for interacting with the instrument.

      keithley = Keithley2700("GPIB::1")

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

  channels_from_rows_columns(rows, columns, slot=None)

    Determine the channel numbers between column(s) and row(s) of the 7709 connection matrix. Returns a list of channel numbers. Only one of the parameters ‘rows’ or ‘columns’ can be “all”

    Parameters:

      - rows – row number or list of numbers; can also be “all”

      - columns – column number or list of numbers; can also be “all”

      - slot – slot number (1 or 2) of the 7709 card to be used

  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.

  close_rows_to_columns(rows, columns, slot=None)

    Closes (connects) the channels between column(s) and row(s) of the 7709 connection matrix. Only one of the parameters ‘rows’ or ‘columns’ can be “all”

    Parameters:

      - rows – row number or list of numbers; can also be “all”

      - columns – column number or list of numbers; can also be “all”

      - slot – slot number (1 or 2) of the 7709 card to be used

  property closed_channels

    Parameter that controls the opened and closed channels. All mentioned channels are closed, other channels will be opened.

  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.

  determine_valid_channels()

    Determine what cards are installed into the Keithley 2700 and from that determine what channels are valid.

  disable_buffer()

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

  display_closed_channels()

    Show the presently closed channels on the display of the Keithley 2700.

  property display_text

    A string property that controls the text shown on the display of the Keithley 2700. Text can be up to 12 ASCII characters and must be enabled to show.

  get_state_of_channels(channels)

    Get the open or closed state of the specified channels

    Parameters:

      channels – a list of channel numbers, or single channel number

  property id

    Get the identification of the instrument.

  is_buffer_full()

    Returns True if the buffer is full of measurements.

  property next_error

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

  open_all_channels()

    Open all channels of the Keithley 2700.

  property open_channels

    A parameter that opens the specified list of channels. Can only be set.

  open_rows_to_columns(rows, columns, slot=None)

    Opens (disconnects) the channels between column(s) and row(s) of the 7709 connection matrix. Only one of the parameters ‘rows’ or ‘columns’ can be “all”

    Parameters:

      - rows – row number or list of numbers; can also be “all”

      - columns – column number or list of numbers; can also be “all”

      - slot – slot number (1 or 2) of the 7709 card to be used

  property options

    Property that lists the installed cards in the Keithley 2700. Returns a dict with the integer card numbers on the position.

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

  reset()

    Resets the instrument and clears the queue.

  reset_buffer()

    Resets the buffer.

  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 text_enabled

    A boolean property that controls whether a text message can be shown on the display of the Keithley 2700.

  triad(base_frequency, duration)

    Sounds a musical triad using the system beep.

    Parameters:

      - base_frequency – A frequency in Hz between 65 Hz and 1.3 MHz

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

  wait_for(query_delay=None)

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

    Parameters:

      query_delay – Delay between writing and reading in seconds. None is default delay.

  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.