NAME
Lab::Moose::Instrument::SignalRecovery7265 - Model 7265 Lock-In Amplifier
VERSION
version 3.930
SYNOPSIS
use
Lab::Moose;
# Constructor
my
$SR
= instrument(
type
=>
'SignalRecovery7265'
,
connection_type
=>
'LinuxGPIB'
,
min_units
=> 0,
max_units
=> 1,
max_units_per_step
=> 0.001,
max_units_per_second
=> 1
);
max_units
min_units
max_units_per_step
max_units_per_second
set_imode
$SR
->set_imode(
value
=>
$imode
);
Set input amplifier mode; valid arguments for imode are:
$imode
== 0 --> Current Mode OFF
$imode
== 1 --> High Bandwidth Current Mode
$imode
== 2 --> Low Noise Current Mode
set_vmode
$SR
->set_vmode(
value
=>
$vmode
);
Set input channel and/or differental mode; valid arguments for vmode are:
$vmode
== 0 --> Both inputs grounded (testmode)
$vmode
== 1 --> A input only
$vmode
== 2 --> -B input only
$vmode
== 3 --> A-B differential mode
set_fet
$SR
->set_fet(
value
=>
$fet
);
Set input impedance and noise via selection of the initial stage transistor; valid values for fet are:
$fet
== 0 --> Bipolar device, 10 kOhm input impedance, 2nV/
sqrt
(Hz) voltage noise at 1 kHz
$fet
== 1 --> FET, 10 MOhm input impedance, 5nV/
sqrt
(Hz) voltage noise at 1 kHz
set_float
$SR
->set_float(
value
=>
$float
);
Switch ground reference of the input connector on or off; valid values for float are:
$float
== 0 --> input conector shield set to GROUND
$float
== 1 --> input conector shield set to FLOAT
set_cp
$SR
->set_cp(
value
=>
$cp
);
Set input coupling to ac or dc; valid values are:
$cp
== 0 --> input coupling mode AC\n
$cp
== 1 --> input coupling mode DC\n
set_sen
$SR
->set_sen(
value
=>
$value
);
Set input sensitivity; valid values are:
SENSITIVITY (IMODE == 0) --> 2nV, 5nV, 10nV, 20nV, 50nV, 100nV, 200nV, 500nV, 1uV, 2uV, 5uV, 10uV, 20uV, 50uV, 100uV, 200uV, 500uV, 1mV, 2mV, 5mV, 10mV, 20mV, 50mV, 100mV, 200mV, 500mV, 1V\n
SENSITIVITY (IMODE == 1) --> 2fA, 5fA, 10fA, 20fA, 50fA, 100fA, 200fA, 500fA, 1pA, 2pA, 5pA, 10pA, 20pA, 50pA, 100pA, 200pA, 500pA, 1nA, 2nA, 5nA, 10nA, 20nA, 50nA, 100nA, 200nA, 500nA, 1uA\n
SENSITIVITY (IMODE == 2) --> 2fA, 5fA, 10fA, 20fA, 50fA, 100fA, 200fA, 500fA, 1pA, 2pA, 5pA, 10pA, 20pA, 50pA, 100pA, 200pA, 500pA, 1nA, 2nA, 5nA, 10nA\n
Every value can be entered via string, for example
$SR
->set_sen(
value
=>
'100nV'
);
auto_sen
$SR
->auto_sen(
value
=>
$amplitude
);
Adjust the Lock-Ins sensitivity based on a specified amplitude value $amplitude. This function will select a sensitivity, that covers the given amplitude the best.
set_acgain
$SR
->set_acgain(
value
=>
$acgain
);
Preset Signal RECOVERY 7260 / 7265 Lock-in Amplifier
- $acgain
-
AC-GAIN == 0 --> 0 dB gain of the signal channel amplifier\n
AC-GAIN == 1 --> 10 dB gain of the signal channel amplifier\n
...
AC-GAIN == 9 --> 90 dB gain of the signal channel amplifier\n
set_linefilter
$SR
->set_linefilter(
value
=>
$linefilter
);
Preset Signal Recovery 7260 / 7265 Lock-in Amplifier
- $linefilter
-
LINE-FILTER == 0 --> OFF\n
LINE-FILTER == 1 --> enable 50Hz/60Hz notch filter\n
LINE-FILTER == 2 --> enable 100Hz/120Hz notch filter\n
LINE-FILTER == 3 --> enable 50Hz/60Hz and 100Hz/120Hz notch filter\n
set_refchannel
$SR
->set_refchannel(
value
=>
$refchannel
);
Preset Signal Recovery 7260 / 7265 Lock-in Amplifier
- $refchannel
-
REF-CHANNEL ==
'INT'
--> internal reference input mode\n
REF-CHANNEL ==
'EXT LOGIC'
--> external rear panel TTL input\n
REF-CHANNEL ==
'EXT'
--> external front panel analog input\n
autophase
$SR
->autophase();
Trigger an autophase procedure
set_refpha/set_phase
$SR
->set_refpha(
value
=>
$phase
);
$SR
->set_phase(
value
=>
$phase
);
Preset Signal Recovery 7260 / 7265 Lock-in Amplifier
Use set_refpha
to instantly set the Lock-Ins phase, use set_phase
for a linear step sweep to the desired phase. Like the Lab::Moose::Instrument::LinearStepSweep class, optional arguments for set_phase
are
- $verbose
-
Default = true. Set to false if you don't want the sweeping process to be printed on-screen.
- $step
-
Default = 1 [°]. Adjust the step size in degrees, can't be smaller than 0.001°.
- $rate
-
Default = 30 [°/s]. Adjust the sweep rate in degrees per second, can't be smaller than 0.001°/s.
Note that set_phase
is used in phase sweeps.
set_outputfilter_slope
$SR
->set_outputfilter_slope(
value
=>
$slope
);
Preset Signal Recovery 7260 / 7265 Lock-in Amplifier
- $slope
-
6dB --> 6dB/octave slope of output filter\n
12dB --> 12dB/octave slope of output filter\n
18dB --> 18dB/octave slope of output filter\n
24dB --> 24dB/octave slope of output filter\n
set_tc
$SR
->set_tc(
value
=>
$tc
);
Preset the output(signal channel) low pass filters time constant tc of the Signal Recovery 7260 / 7265 Lock-in Amplifier
- $tc
-
Filter Time Constant:
10us, 20us, 40us, 80us, 160us, 320us, 640us, 5ms, 10ms, 20ms, 50ms, 100ms, 200ms, 500ms, 1s, 2s, 5s, 10s, 20s, 50s, 100s, 200s, 500s, 1ks, 2ks, 5ks, 10ks, 20ks, 50ks, 100ks\n
set_offset
$SR
->set_offset(
X
=>
$x_offset
,
Y
=>
$y_offset
);
- $x_offset/$y_offset
-
-300 to 300 --> Set the offset
OFF --> disable the offset
AUTO --> automatically set offset
source_level
$SR
->source_level(
value
=>
$level
);
Preset the oscillator output voltage of the Signal Recovery 7260 / 7265 Lock-in Amplifier
- $level
-
OSCILLATOR OUTPUT VOLTAGE can be between 0 ... 5V in steps of 1mV (Signal Recovery 7260) and 1uV (Signal Recovery 7265)
Use source_level(value => $level)) to jump to a desired amplitude, use set_level(value => $level) to slowly sweep to that amplitude.
set_frq
$SR
->set_frq(
value
=>
$frequency
);
Preset the oscillator frequency of the Signal Recovery 7260 / 7265 Lock-in Amplifier
get_value
WORK IN PROGRESS... This subroutines still has some bugs, please beware
$value
=
$SR
->get_value(
channel
=>
$channel
);
Makes a measurement using the actual settings. The CHANNELS defined by $channel are returned as floating point values. If more than one value is requested, they will be returned as an array.
- $channel
-
CHANNEL can be:
in floating point notation:
-----------------------------
'X'
--> X channel output\n
'Y'
--> Y channel output\n
'MAG'
--> Magnitude\n
'PHA'
--> Signale phase\n
'XY'
--> X and Y channel output\n
'MP'
--> Magnitude and signal Phase\n
'ALL'
--> X,Y, Magnitude and signal Phase\n
config_measurement
$SR
->config_measurement(
channel
=>
$channel
,
nop
=>
$number_of_points
,
interval
=>
$interval
,
trigger
=>
$trigger
);
Preset the Signal Recovery 7260 / 7265 Lock-in Amplifier for a TRIGGERED measurement.
- $channel
-
CHANNEL can be:
in floating point notation:
-----------------------------
'X'
--> X channel output\n
'Y'
--> Y channel output\n
'MAG'
--> Magnitude\n
'PHA'
--> Signale phase\n
'XY'
--> X and Y channel output\n
'MP'
--> Magnitude and signal Phase\n
'ALL'
--> X,Y, Magnitude and signal Phase\n
.
in percent of full range notation:
------------------------------------
'X-'
--> X channel output\n
'Y-'
--> Y channel output\n
'MAG-'
--> Magnitude\n
'PHA-'
--> Signale phase\n
'XY-'
--> X and Y channel output\n
'MP-'
--> Magnitude and signal Phase\n
'ALL-'
--> X,Y, Magnitude and signal Phase\n
- $number_of_points
-
Preset the NUMBER OF POINTS to be taken for one measurement trace. The single measured points will be stored in the internal memory of the Lock-in Amplifier. For the Signal Recovery 7260 / 7265 Lock-in Amplifier the internal memory is limited to 32.000 values.
--> If you request data
for
the channels X and Y in floating point notation,
for
each
datapoint three
values
have to be stored in memory (X,Y and Sensitivity).
--> So you can store effectivly 32.000/3 = 10666 datapoints.
--> You can force the instrument not to store additionally the current value of the Sensitivity setting by appending a
'-'
when
you
select
the channels, eg.
'XY-'
instead of simply
'XY'
.
--> Now you will recieve only
values
between -30000 ... + 30000 from the Lock-in, which is called the full range notation.
--> You can calculate the measurement value by (
$value
/100)
*Sensitivity
. This is easy
if
you used only a single setting
for
Sensitivity during the measurement, and it's very hard
if
you changed the Sensitivity several
times
during the measurment or even used the auto-range function.
- $interval
-
Preset the STORAGE INTERVAL in which datavalues will be stored during the measurement. Note: the storage interval is independent from the low pass filters time constant tc.
- $trigger
-
Optional value. Presets the source where the trigger signal is expected. 'EXT' --> external trigger source 'INT' --> internal trigger source
DEF is 'INT'. If no value is given, DEF will be selected.
get_data
@data
=
$SR
->get_data(
sensitivity
=>
$sensitivity
,
timeout
=>
$timeout
);
Reads all recorded values from the internal buffer and returns them as an (2-dim) array of floatingpoint values.
Example:
requested channels: X -->
$SR
->get_data(); returns an 1-dim array containing the X-trace as floatingpoint-
values
requested channels: XY -->
$SR
->get_data(); returns an 2-dim array:
-->
@data
[0] contains an 1-dim array containing the X-trace as floatingpoint-
values
-->
@data
[1] contains an 1-dim array containing the Y-trace as floatingpoint-
values
Note: Reading the buffer will not start before all predevined measurement values have been recorded. The LabVisa-script cannot be continued until all requested readings have been recieved.
- $sensitivity
-
SENSITIVITY is an optional parameter. When it is defined, it will be assumed that the data recieved from the Lock-in are in full range notation. The return values will be calculated by $value = ($value/100)*$sensitivity.
- $timeout
-
TIMEOUT is another optional parameter. Since it takes approximately 4ms per datapoint, with 25k-Points a default timeout of 100s should be sufficient.
trg
$SR
->trg();
Sends a trigger signal via the GPIB-BUS to start the predefined measurement. The LabVisa-script can immediatally be continued, e.g. to start another triggered measurement using a second Signal Recovery 7260 / 7265 Lock-in Amplifier.
abort
$SR
->abort();
Aborts current (triggered) measurement.
active
$SR
->active();
Returns '1' if current (triggered) measurement is still running and '0' if current (triggered) measurement has been finished.
wait
$SR
->
wait
();
Waits until current (triggered) measurement has been finished.
display_on
$SR
->display_on();
display_off
$SR
->display_off();
CAVEATS/BUGS
probably many
SEE ALSO
COPYRIGHT AND LICENSE
This software is copyright (c) 2025 by the Lab::Measurement team; in detail:
Copyright 2021 Andreas K. Huettel, Fabian Weinelt, Simon Reinhardt
2022 Jonas Schambeck
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.