SRS Model SR850 Lock-in Amplifier

Driver for SRS model SR850 lock-in amplifier.

Note that the sr850 will not usually work with list_instruments(), because it uses a non-standard termination character, and because one must first send the ‘OUTX’ command to specify which type of output to use.

class instrumental.drivers.lockins.sr850.AlarmMode(value)

An enumeration.

off = 0
on = 1
class instrumental.drivers.lockins.sr850.AuxInput(value)

An enumeration.

four = 4
one = 1
three = 3
two = 2
class instrumental.drivers.lockins.sr850.Ch1OutputSource(value)

An enumeration.

R = 1
X = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class instrumental.drivers.lockins.sr850.Ch2OutputSource(value)

An enumeration.

R = 1
Y = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class instrumental.drivers.lockins.sr850.CurrentGain(value)

An enumeration.

oneHundredMegaOhm = 1
oneMegaOhm = 0
class instrumental.drivers.lockins.sr850.Divide(value)

An enumeration.

AuxIn1 = 8
AuxIn1_2 = 20
AuxIn2 = 9
AuxIn2_2 = 21
AuxIn3 = 10
AuxIn3_2 = 22
AuxIn4 = 11
AuxIn4_2 = 23
F = 12
F_2 = 24
R = 3
R_2 = 15
R_n = 7
Rn_2 = 19
X = 1
X_2 = 13
X_n = 5
Xn_2 = 17
Y = 2
Y_2 = 14
Y_n = 6
Yn_2 = 18
theta = 4
theta_2 = 16
unity = 0
class instrumental.drivers.lockins.sr850.InputConfiguration(value)

An enumeration.

A = 0
A_B = 1
I = 2
class instrumental.drivers.lockins.sr850.InputCoupling(value)

An enumeration.

AC = 0
DC = 1
class instrumental.drivers.lockins.sr850.InputGround(value)

An enumeration.

floating = 0
ground = 1
class instrumental.drivers.lockins.sr850.LineFilter(value)

An enumeration.

both_filters = 3
line_2x_notch = 2
line_notch = 1
no_filters = 0
class instrumental.drivers.lockins.sr850.LowPassSlope(value)

An enumeration.

eighteen_dB_per_octave = 2
six_dB_per_octave = 0
twelve_dB_per_octave = 1
twentyfour_dB_per_octave = 3
class instrumental.drivers.lockins.sr850.Multiply(value)

An enumeration.

AuxIn1 = 8
AuxIn2 = 9
AuxIn3 = 10
AuxIn4 = 11
F = 12
R = 3
R_n = 7
X = 1
X_n = 5
Y = 2
Y_n = 6
theta = 4
unity = 0
class instrumental.drivers.lockins.sr850.OffsetSelector(value)

An enumeration.

R = 3
X = 1
Y = 2
class instrumental.drivers.lockins.sr850.OutputType(value)

An enumeration.

R = 3
X = 1
Y = 2
theta = 4
class instrumental.drivers.lockins.sr850.Parameter(value)

An enumeration.

units()
AuxIn_1 = 5
AuxIn_2 = 6
AuxIn_3 = 7
AuxIn_4 = 8
R = 3
X = 1
Y = 2
reference_frequency = 9
theta = 4
trace_1 = 10
trace_2 = 11
trace_3 = 12
trace_4 = 13
class instrumental.drivers.lockins.sr850.ReferenceSlope(value)

An enumeration.

sine_zero = 0
ttl_falling = 2
ttl_rising = 1
class instrumental.drivers.lockins.sr850.ReferenceSource(value)

An enumeration.

external = 2
internal = 0
internal_sweep = 1
class instrumental.drivers.lockins.sr850.ReserveMode(value)

An enumeration.

manual = 1
maximum = 0
minimum = 2
class instrumental.drivers.lockins.sr850.SR850

Interfaces with the SRS model SR850 Lock-in Amplifier

class AlarmMode(value)

An enumeration.

off = 0
on = 1
class AuxInput(value)

An enumeration.

four = 4
one = 1
three = 3
two = 2
class Ch1OutputSource(value)

An enumeration.

R = 1
X = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class Ch2OutputSource(value)

An enumeration.

R = 1
Y = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class CurrentGain(value)

An enumeration.

oneHundredMegaOhm = 1
oneMegaOhm = 0
class Divide(value)

An enumeration.

AuxIn1 = 8
AuxIn1_2 = 20
AuxIn2 = 9
AuxIn2_2 = 21
AuxIn3 = 10
AuxIn3_2 = 22
AuxIn4 = 11
AuxIn4_2 = 23
F = 12
F_2 = 24
R = 3
R_2 = 15
R_n = 7
Rn_2 = 19
X = 1
X_2 = 13
X_n = 5
Xn_2 = 17
Y = 2
Y_2 = 14
Y_n = 6
Yn_2 = 18
theta = 4
theta_2 = 16
unity = 0
class InputConfiguration(value)

An enumeration.

A = 0
A_B = 1
I = 2
class InputCoupling(value)

An enumeration.

AC = 0
DC = 1
class InputGround(value)

An enumeration.

floating = 0
ground = 1
class LineFilter(value)

An enumeration.

both_filters = 3
line_2x_notch = 2
line_notch = 1
no_filters = 0
class LowPassSlope(value)

An enumeration.

eighteen_dB_per_octave = 2
six_dB_per_octave = 0
twelve_dB_per_octave = 1
twentyfour_dB_per_octave = 3
class Multiply(value)

An enumeration.

AuxIn1 = 8
AuxIn2 = 9
AuxIn3 = 10
AuxIn4 = 11
F = 12
R = 3
R_n = 7
X = 1
X_n = 5
Y = 2
Y_n = 6
theta = 4
unity = 0
class OffsetSelector(value)

An enumeration.

R = 3
X = 1
Y = 2
class OutputType(value)

An enumeration.

R = 3
X = 1
Y = 2
theta = 4
class Parameter(value)

An enumeration.

units()
AuxIn_1 = 5
AuxIn_2 = 6
AuxIn_3 = 7
AuxIn_4 = 8
R = 3
X = 1
Y = 2
reference_frequency = 9
theta = 4
trace_1 = 10
trace_2 = 11
trace_3 = 12
trace_4 = 13
class ReferenceSlope(value)

An enumeration.

sine_zero = 0
ttl_falling = 2
ttl_rising = 1
class ReferenceSource(value)

An enumeration.

external = 2
internal = 0
internal_sweep = 1
class ReserveMode(value)

An enumeration.

manual = 1
maximum = 0
minimum = 2
class ScanMode(value)

An enumeration.

loop = 1
single_shot = 0
class ScanSampleRate(value)

An enumeration.

trigger = 14
x125mHz = 1
x128Hz = 11
x16Hz = 8
x1Hz = 4
x250mHz = 2
x256Hz = 12
x2Hz = 5
x32Hz = 9
x4Hz = 6
x500mHz = 3
x512Hz = 13
x62_5mHz = 0
x64Hz = 10
x8Hz = 7
class Sensitivity(value)

An enumeration.

x100mV_nA = 23
x100nV_fA = 5
x100uV_pA = 14
x10mV_nA = 20
x10nV_fA = 2
x10uV_pA = 11
x1V_uA = 26
x1mV_nA = 17
x1uV_pA = 8
x200mV_nA = 24
x200nV_fA = 6
x200uV_pA = 15
x20mV_nA = 21
x20nV_fA = 3
x20uV_pA = 12
x2mV_nA = 18
x2nV_fA = 0
x2uV_pA = 9
x500mV_nA = 25
x500nV_fA = 7
x500uV_pA = 16
x50mV_nA = 22
x50nV_fA = 4
x50uV_pA = 13
x5mV_nA = 19
x5nV_fA = 1
x5uV_pA = 10
class StatusByte(value)

An enumeration.

enabled_bit_in_LIA_status_set = 3
enabled_bit_in_error_status_set = 2
enabled_bit_in_standard_status_set = 5
no_command_execution_in_progress = 1
no_scan_in_progress = 0
output_buffer_non_empty = 4
service_request = 6
class Store(value)

An enumeration.

not_stored = 0
stored = 1
class SweepType(value)

An enumeration.

linear = 0
logarithmic = 1
class SynchronousFilter(value)

An enumeration.

off = 0
on = 1
class TimeConstant(value)

An enumeration.

x100ms = 8
x100s = 14
x100us = 2
x10ks = 18
x10ms = 6
x10s = 12
x10us = 0
x1ks = 16
x1ms = 4
x1s = 10
x300ms = 9
x300s = 15
x300us = 3
x30ks = 19
x30ms = 7
x30s = 13
x30us = 1
x3ks = 17
x3ms = 5
x3s = 11
class TraceNumber(value)

An enumeration.

four = 4
one = 1
three = 3
two = 2
class TriggerStartScanMode(value)

An enumeration.

no = 0
yes = 1
auto_gain()

Performs the auto-gain function.

Note that this function does not return until the process has completed.

auto_offset(offset_selector)

Automatically offsets the selected quadrature to zero

offset_selector should be of type OffsetSelector

auto_phase()

Performs the auto-phase function

auto_reserve()

Performs the auto-reserve function

clear_registers()

Clears all status registers, except for status enable registers.

close()
command_execution_in_progress()

Indicates if a command is currently being executed.

get_alarm_mode()

Returns whether the audible alarm is on or off.

get_aux_in(aux_in)

Returns the voltage of the specified auxiliary input.

aux_in should be of type AuxIn

get_ch1_output_source()

Returns the output source for channel 1.

get_ch2_output_source()

Returns the output source for channel 2.

get_current_gain()

Returns the conversion gain of the input current

get_detection_harmonic()

Returns the detection harmonic

get_frequency_sweep_type()

Returns whether a sweep is linear or logarithmic.

Returns type SweepType

get_input_configuration()

Returns the input configuration.

get_input_coupling()

Returns the input coupling mode

get_input_ground()

Returns the input shield grounding mode.

get_line_filter_status()

Returns the configuratin of the line filters

get_low_pass_slope()

Returns the slope of the low pass filter.

get_output_offsets_and_expands(offset_selector)

Returns the offsets and expands for the selected quadrature.

offset_selector should be of type OffsetSelector

get_reference_frequency()

Returns the frequency of the reference source

get_reference_phase()

Returns the phase shift of the reference source

get_reference_slope()

Returns the mode with wich the reference source is discriminated.

get_reference_source()

Returns the source used for the reference frequency.

Returns type ReferenceSource

get_reserve()

Returns the current value of the dynamic reserve.

get_reserve_mode()

Returns the reserve mode of the instrument.

get_scan_length()

Returns the scan length.

get_scan_mode()

Returns the scan mode.

get_scan_sample_rate()

Sets the sampling rate of a scan.

get_sensitivity()

Returns the sensitivity setting of the instrument

get_sine_amplitude()

Returns the amplitude of the sine output, in Volts.

get_start_frequency()

Returns the freqeuncy that a sweep starts at

get_stop_frequency()

Returns the frequency that a sweep stops at

get_synchronous_filter()

Returns the state of the synchronous filter.

get_time_constant()

Get the current time constant of the instrument.

get_trace(trace_number, points=None, units=None, binary=True)

Returns a vector of the values stored in the indicated trace

If get_trace times out while transferring data, the constants BINARY_TIME_PER_POINT and or ASCII_TIME_PER_POINT may need to be increased

Parameters
  • TraceNumber. (trace_number should be an element of) –

  • position (points is a list of two integers - the first indicates the) –

  • read (of the first value to be) –

  • number (while the second indicates the) –

  • default (of values to be read. By) –

  • read. (all points are) –

  • trace (units - string indicating the proper units of the) –

  • binary (binary - boolean indicating the method of data transfer. Using) –

  • faster. (is usually about 4 times) –

get_trace_definitions(trace)

Returns the definition of the given trace.

Trace should be an enumerator of Trace. The trace definition is of the form m1*m2/d

Returns

  • m1, m2 of type Multiply

  • d of type Divide

  • store of type Store

get_trigger_start_scan_mode()

Returns the mode in which the trigger initiates a scan.

pause_scan()

Pauses a scan or sweep.

Has no effect is no scans are in progress.

read_aux_input(aux_input)

Returns the value of the specified aux input

use type AuxInput

read_output(output_type)

Returns the value of the indicated output

use type OutputType.

read_simultaneously(parameters)

Returns simultaneously the values of the given parameters

the list parameters should have between two and six elements of the type Parameter

read_trace_value(trace_number, units=None)

Returns the current value of indicated trace

trace_number should be of enumeraror class TraceNumber. If specified, units are added to the returned value. units should be a string.

reset_scan()

Resets a scan.

This works whether a scan is in progress, finished, or paused. Note that the data buffer is erased.

scan_in_progress()

Indicates if a scan is in progress.

Note that a paused scan is counted as being in progress

set_alarm_mode(alarm_mode)

Sets the audible alarm on or off.

Use the enumerator AlarmMode.

set_ch1_output_source(ch1_output_source)

Sets the output source for channel 1.

Use the enumerator Ch1OutputSource.

set_ch2_output_source(ch2_output_source)

Sets the output source for channel 2

Use the enumerator Ch2OutputSource.

set_current_gain(current_gain)

Sets the conversion gain of the input current.

Use the enumerator CurrentGain

set_detection_harmonic(harmonic)

Sets the detection harmonic

set_frequency_sweep_type(sweep_type)

Sets whether a sweep is linear or logarithmic.

sweep_type should be of type SweepType

set_input_configuration(input_configuration)

Sets the input configuration.

input_conusing should be of type InputConfiguration

set_input_coupling(input_coupling)

Sets the input coupling mode Use the enumerator InputCoupling

set_input_ground(input_ground)

Sets the input shield grounding mode.

Use the enumerator InputGround

set_line_filter_status(line_filter)

Sets the configuration of the line filters.

Use the enumerator LineFilter

set_low_pass_slope(low_pass_slope)

Sets the slope for the low pass filter

Use the enumerator LowPassSlope

set_output_interface(rs232_interface=True)

Sets the output interface.

Default is serial (rs232_interface=True) Set rs232_interface to False for GPIB

set_output_offsets_and_expands(offset_selector, offset, expand)

Sets the offsets and expands for the selected quadrature.

offset_selector is of type OffsetSelector, and indicates which quadrature to use. Note that offset_selector should be in percent, and expand should be an integer between 1 and 256

set_reference_frequency(frequency)

Sets the frequency of the reference source

set_reference_phase(phase)

Sets the phase shift of the reference source

set_reference_slope(reference_slope)

Sets the mode with wich the reference source is discriminated.

This is only relevant when an external source is used.

reference_slope should be of type ReferenceSlope

set_reference_source(reference_source)

Sets the source used for the reference frequency.

reference_source should be of type ReferenceSource

set_reserve(reserve)

Sets the manual dynamic reserve.

Reserve should be an integer between 0 and 5, inclusive. 0 sets the minimum reserve for the current time constant and sensitivity. Each increment increases the reserve by 10dB.

set_reserve_mode(reserve_mode)

Sets the reserve mode of the instrument

Use the enumerator ReserveMode

set_scan_length(scan_length)

Sets the scan length.

set_scan_mode(scan_mode)

Sets the scan mode. Use the enumerator ScanMode.

set_scan_sample_rate(scan_sample_rate)

Sets the sampling rate of a scan.

Use the enumerator ScanSampleRate.

set_sensitivity(sensitivity)

Sets the sensitivity of the instrument.

Use the enumerator Sensitivity

set_sine_amplitude(amplitude)

Sets the amplitude of the sine output.

Must be between 0.004 and 5V. (Rounds to nearest 0.002 V)

set_start_frequency(frequency)

Sets the frequency a sweep starts at

set_stop_frequency(frequency)

Sets the frequency that a sweep stops at

set_synchronous_filter(synchronous_filter)

Sets the state of the synchronous filter.

Use the enumerator SynchronousFilter. Note that the synchronous filter only operates if the detection frequency is below 200Hz

set_time_constant(time_constant)

Sets the time constant of the instrument

Use the enumerator TimeConstant

set_trace_definitions(trace, m1, m2=Multiply.unity, d=Divide.unity, store=Store.stored)

Sets the definition of the given trace ‘trace’ to be m1*m2/d.

Trace should be an enumerator of Trace, m1 and m2 should be enumerators of Multiply, d should be an enumerator of Divide, and store should be an enumerator of Store.

set_trigger_start_scan_mode(trigger_start_scan_mode)

Sets the mode in which the trigger initiates a scan.

Use the enumerator TriggerStartScanMode.

start_scan()

Starts or resumes a scan/sweep.

Has no effect if a scan is already in progress.

trace_length(trace_number)

Returns the number of points in the specified trace

use the enumerator TraceNumber

trigger()

Initiates a trigger event.

class instrumental.drivers.lockins.sr850.ScanMode(value)

An enumeration.

loop = 1
single_shot = 0
class instrumental.drivers.lockins.sr850.ScanSampleRate(value)

An enumeration.

trigger = 14
x125mHz = 1
x128Hz = 11
x16Hz = 8
x1Hz = 4
x250mHz = 2
x256Hz = 12
x2Hz = 5
x32Hz = 9
x4Hz = 6
x500mHz = 3
x512Hz = 13
x62_5mHz = 0
x64Hz = 10
x8Hz = 7
class instrumental.drivers.lockins.sr850.Sensitivity(value)

An enumeration.

x100mV_nA = 23
x100nV_fA = 5
x100uV_pA = 14
x10mV_nA = 20
x10nV_fA = 2
x10uV_pA = 11
x1V_uA = 26
x1mV_nA = 17
x1uV_pA = 8
x200mV_nA = 24
x200nV_fA = 6
x200uV_pA = 15
x20mV_nA = 21
x20nV_fA = 3
x20uV_pA = 12
x2mV_nA = 18
x2nV_fA = 0
x2uV_pA = 9
x500mV_nA = 25
x500nV_fA = 7
x500uV_pA = 16
x50mV_nA = 22
x50nV_fA = 4
x50uV_pA = 13
x5mV_nA = 19
x5nV_fA = 1
x5uV_pA = 10
class instrumental.drivers.lockins.sr850.StatusByte(value)

An enumeration.

enabled_bit_in_LIA_status_set = 3
enabled_bit_in_error_status_set = 2
enabled_bit_in_standard_status_set = 5
no_command_execution_in_progress = 1
no_scan_in_progress = 0
output_buffer_non_empty = 4
service_request = 6
class instrumental.drivers.lockins.sr850.Store(value)

An enumeration.

not_stored = 0
stored = 1
class instrumental.drivers.lockins.sr850.SweepType(value)

An enumeration.

linear = 0
logarithmic = 1
class instrumental.drivers.lockins.sr850.SynchronousFilter(value)

An enumeration.

off = 0
on = 1
class instrumental.drivers.lockins.sr850.TimeConstant(value)

An enumeration.

x100ms = 8
x100s = 14
x100us = 2
x10ks = 18
x10ms = 6
x10s = 12
x10us = 0
x1ks = 16
x1ms = 4
x1s = 10
x300ms = 9
x300s = 15
x300us = 3
x30ks = 19
x30ms = 7
x30s = 13
x30us = 1
x3ks = 17
x3ms = 5
x3s = 11
class instrumental.drivers.lockins.sr850.TraceNumber(value)

An enumeration.

four = 4
one = 1
three = 3
two = 2
class instrumental.drivers.lockins.sr850.TriggerStartScanMode(value)

An enumeration.

no = 0
yes = 1