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.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.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 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 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 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 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 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 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¶
- 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.SweepType(value)¶
An enumeration.
- linear = 0¶
- logarithmic = 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¶