Skip to content

Keithley2400#

Controls a Keithley 2400 series SourceMeter (2400, 2410, 2420, 2425, 2430) from Python. This class inherits from MeasmaticDevice.


property is_output_on#

Queries the output state.

Returns#

Type Description
bool True if the output is on, otherwise False .

Example#

smu = measmatic.get_device('device-keithley-2400')
state = smu.is_output_on

property max_current_in_max_voltage_range#

The largest programmable current in the largest voltage range. The value depends on the model.

Returns#

Type Description
float The largest programmable current in amperes.

Example#

smu = measmatic.get_device('device-keithley-2400')
current = smu.max_current_in_max_voltage_range

property max_voltage#

The largest programmable voltage. The value depends on the model.

Returns#

Type Description
float The largest programmable voltage in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
voltage = smu.max_voltage

method check_voltage_and_current(voltage: float, current: float, pulseMode: bool)#

Checks whether the voltage and current settings are valid. The Keithley 2400 performs no check.

Parameters#

Name Description
voltage The voltage setting in volts to be checked.
current The current setting in amperes to be checked.
pulseMode Set this parameter to True if the settings shall be checked for pulse mode.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.check_voltage_and_current(5.0, 10E-3, False)

method get_current_bias()#

Queries the programmed current bias.

Returns#

Type Description
float Programmed current bias in amperes.

Example#

smu = measmatic.get_device('device-keithley-2400')
current = smu.get_current_bias()

method get_max_current(voltageRange: float)#

Queries the largest current for a specific voltage range. The value depends on the model.

Parameters#

Name Description
voltageRange The voltage range in volts for which the current is queried.

Returns#

Type Description
float The largest current in amperes for the voltage range.

Example#

smu = measmatic.get_device('device-keithley-2400')
current = smu.get_max_current(20.0)

method get_voltage_bias()#

Queries the programmed voltage bias.

Returns#

Type Description
float Programmed voltage bias in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
voltage = smu.get_voltage_bias()

method measure_current()#

Measures the output current. The output has to be on.

Returns#

Type Description
float Measured current in amperes.

Example#

smu = measmatic.get_device('device-keithley-2400')
current = smu.measure_current()

method measure_iv()#

Measures the output current and voltage simultaneously. The output has to be on.

Returns#

Type Description
float Measured current in amperes.
float Measured voltage in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
current, voltage = smu.measure_iv()

method measure_voltage()#

Measures the output voltage. The output has to be on.

Returns#

Type Description
float Measured voltage in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
voltage = smu.measure_voltage()

method output_off()#

Turns the SMU output off.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.output_off()

method output_on()#

Turns the SMU output on.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.output_on()

method remote_sense(isEnabled: bool)#

Sets sensing to local or remote.

Parameters#

Name Description
isEnabled True means remote sense (4 wire), False means local sense (2 wire).

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.remote_sense(True)

method reset()#

Sets all settings of the device back to the initial state.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.reset()

method reset_output()#

Turns the output off and programs 0 V with a current compliance of 1 mA.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.reset_output()

method set_current(current: float, voltageCompliance: float)#

Sets the output mode to current and the sense range to auto.

Parameters#

Name Description
current The new output current in amperes.
voltageCompliance The new voltage limit in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_current(10E-3, 5.0)

method set_current_fixed_sense_range(current: float, voltageCompliance: float)#

Sets the output mode to current with a fixed sense range.

Parameters#

Name Description
current The new output current in amperes.
voltageCompliance The new voltage limit in volts.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_current_fixed_sense_range(10E-3, 5.0)

method set_front_terminal()#

Selects the front panel terminals for the output.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_front_terminal()

method set_nplc(nplc: float)#

Sets the integration time of the measurements in power line cycles (PLC). Values below 0.01 are set to 0.01, values above 10 raise an error.

Parameters#

Name Description
nplc The integration time in power line cycles (0.01 to 10).

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_nplc(1.0)

method set_rear_terminal()#

Selects the rear panel terminals for the output.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_rear_terminal()

method set_voltage(voltage: float, currentCompliance: float)#

Sets the output mode to voltage and the sense range to auto.

Parameters#

Name Description
voltage The new output voltage in volts.
currentCompliance The new current limit in amperes.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_voltage(5.0, 10E-3)

method set_voltage_fixed_sense_range(voltage: float, currentCompliance: float)#

Sets the output mode to voltage with a fixed sense range.

Parameters#

Name Description
voltage The new output voltage in volts.
currentCompliance The new current limit in amperes.

Example#

smu = measmatic.get_device('device-keithley-2400')
smu.set_voltage_fixed_sense_range(5.0, 10E-3)