SRS Model SR850 Lock-in Amplifier

Driver for SRS model SR850 lock-in amplifier.

class instrumental.drivers.lockins.sr850.AlarmMode
off = 0
on = 1
class instrumental.drivers.lockins.sr850.AuxInput
four = 4
one = 1
three = 3
two = 2
class instrumental.drivers.lockins.sr850.Ch1OutputSource
R = 1
X = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class instrumental.drivers.lockins.sr850.Ch2OutputSource
R = 1
Y = 0
theta = 2
trace_1 = 3
trace_2 = 4
trace_3 = 5
trace_4 = 6
class instrumental.drivers.lockins.sr850.CurrentGain
oneHundredMegaOhm = 1
oneMegaOhm = 0
class instrumental.drivers.lockins.sr850.Divide
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
A = 0
A_B = 1
I = 2
class instrumental.drivers.lockins.sr850.InputCoupling
AC = 0
DC = 1
class instrumental.drivers.lockins.sr850.InputGround
floating = 0
ground = 1
class instrumental.drivers.lockins.sr850.LineFilter
both_filters = 3
line_2x_notch = 2
line_notch = 1
no_filters = 0
class instrumental.drivers.lockins.sr850.LowPassSlope
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
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
R = 3
X = 1
Y = 2
class instrumental.drivers.lockins.sr850.OutputType
R = 3
X = 1
Y = 2
theta = 4
class instrumental.drivers.lockins.sr850.Parameter
units(parameter)
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
sine_zero = 0
ttl_falling = 2
ttl_rising = 1
class instrumental.drivers.lockins.sr850.ReferenceSource
external = 2
internal = 0
internal_sweep = 1
class instrumental.drivers.lockins.sr850.ReserveMode
manual = 1
maximum = 0
minimum = 2
class instrumental.drivers.lockins.sr850.SR850(inst, rs232_interface=True)

Interfaces with the SRS model SR850 Lock-in Amplifier

__init__(inst, rs232_interface=True)

Connects to SRS850

rs232_interface is a bool which indicates which communication mode (RS-232 or GPIB) the sr850 is connected to.

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 auxillary 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 couplig 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:
  • should be an element of TraceNumber. (trace_number) –
  • is a list of two integers - the first indicates the position (points) –
  • the first value to be read, while the second indicates the number (of) –
  • values to be read. By default, all points are read. (of) –
  • - string indicating the proper units of the trace (units) –
  • - boolean indicating the method of data transfer. Using binary (binary) –
  • usually about 4 times faster. (is) –
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 simultaneosly the values the given parameters

the list parameters should have between two and 6 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_insterface=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 freqeuncy 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: 0>, d=<Divide.unity: 0>, store=<Store.stored: 1>)

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
loop = 1
single_shot = 0
class instrumental.drivers.lockins.sr850.ScanSampleRate
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
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
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
not_stored = 0
stored = 1
class instrumental.drivers.lockins.sr850.SweepType
linear = 0
logarithmic = 1
class instrumental.drivers.lockins.sr850.SynchronousFilter
off = 0
on = 1
class instrumental.drivers.lockins.sr850.TimeConstant
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
four = 4
one = 1
three = 3
two = 2
class instrumental.drivers.lockins.sr850.TriggerStartScanMode
no = 0
yes = 1