Keithley 4200A-SCS Parameter Analyzer

class pymeasure.instruments.keithley.Keithley4200(adapter, name='Keithley 4200A-SCS', **kwargs)

Bases: Instrument

A class representing the Keithley 4200A-SCS Parameter Analyzer.

This driver only uses the user mode commands for controlling the SMUs.

Start the ‘KXCI’ program on the 4200A-SCS to activate remote control. The remote interface is configured with the Keithley Configuration Utility ‘KCon’.

Currently, the driver is only working with the ethernet interface.

add_smu(id)

Add a SMU channel to the device.

check_set_errors()

Check for errors after sending a command.

Raise:

ValueError if response is not ‘ACK’

clear()

Clear all data from the buffer.

It also clears bit B0 (DATA_READY) of the status byte.

property id: Any

Get the identification of the instrument (str).

property options: Any

Get the installed options (list of str).

property status: Any

Get the status byte (IntFlag).

class pymeasure.instruments.keithley.keithley4200.SMU(parent, id, **kwargs)

Bases: Channel

A class representing the SMU (source/measure unit) channel.

property current: Any

Measure the current in Amps.

property current_setpoint: Any

Set range, output current and voltage compliance (int, float, float).

Current is in Amps and voltage in Volts.

inst = Keithley4200("TCPIP::192.168.1.1::1225::SOCKET")
inst.smu1.current_setpoint = (9, 55e-3, 10)  # (range, value, compliance)
# Set SMU1 to output 55 mA in 100 mA range with 10 V voltage compliance
Current source range:
  • 0: autorange

  • 1: 1 nA range, only with a preamplifier

  • 2: 10 nA range, only with a preamplifier

  • 3: 100 nA range

  • 4: 1 µA range

  • 5: 10 µA range

  • 6: 100 µA range

  • 7: 1 mA range

  • 8: 10 mA range

  • 9: 100 mA range

  • 10: 1 A range, only with a 4210-SMU or 4211-SMU

  • 11: 1 pA range, only with a preamplifier

  • 12: 10 pA range, only with a preamplifier

  • 13: 100 pA range, only with a preamplifier

disable()

Disable the SMU.

property voltage: Any

Measure the voltage in Volts (float).

property voltage_setpoint: Any

Set range, output voltage and current compliance (int, float, float).

Voltage is in Volts and current in Amps.

inst = Keithley4200("TCPIP::192.168.1.1::1225::SOCKET")
inst.smu1.voltage_setpoint = (0, 3.3, 1e-2)  # (range, value, compliance)
# Set SMU1 to output 3.3 V in autorange with 10 mA current compliance
Voltage source range:
  • 0: autorange

  • 1: 20 V range

  • 2: 200 V range

  • 3: 200 V range

  • 4: 200 mV range, only with a preamplifier

  • 5: 2 V range, only with a preamplifier

class pymeasure.instruments.keithley.keithley4200.StatusCode(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: IntFlag

A class representing the status codes ofd the Keithley 4200.

Status codes:
  • 0: NONE

  • 1: DATA_READY

  • 2: SYNTAX_ERROR

  • 16: BUSY

  • 64: SERVICE_REQUEST