The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Lab::Instrument::SignalRecovery726x - Signal Recovery 7260 / 7265 Lock-in Amplifier

VERSION

version 3.642

SYNOPSIS

          use as GPIB-device

        ---------------------

        use Lab::Instrument::SignalRecovery726x;
        my $SR = new Lab::Instrument::SignalRecovery726x(0,22);
        print $SR->get_value('XY');

.

          use as RS232-device

        ----------------------

        use Lab::Instrument::RS232;
        use Lab::Instrument::SignalRecovery726x;
        my $RS232 = new Lab::Instrument::RS232('ASRL1::INSTR');    # ASRL1::INSTR = COM 1, ASRL2::INSTR = COM 2, ...
        my $SR = new Lab::Instrument::SignalRecovery726x($RS232);
        print $SR->get_value('XY');

.

DESCRIPTION

The Lab::Instrument::SignalRecovery726x class implements an interface to the Signal Recovery 7260 / 7265 Lock-in Amplifier. Note that the module Lab::Instrument::SignalRecovery726x can work via GPIB or RS232 interface.

CONSTRUCTOR

        my $SR = new(\%options);

METHODS

get_value

        $value=$SR->get_value($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, $number_of_points, $interval, [$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

Ooptional 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.

.

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.

.

get_data

        @data = $SR->get_data(<$sensitivity>);

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)*$sensitifity.

abort

        $SR->abort();

Aborts current (triggered) measurement.

wait

        $SR->wait();

Waits until current (triggered) measurement has been finished.

active

        $SR->active();

Returns '1' if current (triggered) measurement is still running and '0' if current (triggered) measurement has been finished.

set_imode

        $SR->set_imode($imode);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$imode
         $imode == 0  --> Current Mode OFF
         $imode == 1  --> High Bandwidth Current Mode
         $imode == 2  --> Low Noise Current Mode

set_vmode

        $SR->set_vmode($vmode);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$vmode
          $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);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          $value == 0 --> Bipolar device, 10 kOhm input impedance, 2nV/sqrt(Hz) voltage noise at 1 kHz
          $value == 1 --> FET, 10 MOhm input impedance, 5nV/sqrt(Hz) voltage noise at 1 kHz

set_float

        $SR->set_float($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          $value == 0 --> input conector shield set to GROUND
          $value == 1 --> input conector shield set to FLOAT

.

set_cp

        $SR->set_cp($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          $value == 0 --> input coupling mode AC\n
          $value == 1 --> input coupling mode DC\n

set_linefilter

        $SR->set_linefilter($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          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_acgain

        $SR->set_acgain($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          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_sen

        $SR->set_sen($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          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

set_refchannel

        $SR->set_refchannel($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          INT --> internal reference input mode\n
          EXT LOGIC --> external rear panel TTL input\n
          EXT --> external front panel analog input\n

set_refpha

        $SR->set_refpha($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          REFERENCE PHASE can be between 0 ... 306°

autophase

        $SR->autophase();

Trigger an autophase procedure

.

set_outputfilter_slope

        $SR->set_outputfilter_slope($value);

Preset Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
           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);

Preset the output(signal channel) low pass filters time constant tc of the Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          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_osc

        $SR->set_osc($value);

Preset the oscillator output voltage of the Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          OSCILLATOR OUTPUT VOLTAGE can be between 0 ... 5V in steps of 1mV (Signal Recovery 7260) and 1uV (Signal Recovery 7265)

.

set_frq

        $SR->set_frq($value);

Preset the oscillator frequency of the Signal Recovery 7260 / 7265 Lock-in Amplifier

$value
          OSCILLATOR FREQUENCY can be between 0 ... 259kHz

.

display_on

        $SR->display_on();

.

display_off

        $SR->display_on();

.

reset

        $SR->reset();

.

CAVEATS/BUGS

probably many

SEE ALSO

Lab::Instrument

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by the Lab::Measurement team; in detail:

  Copyright 2012       Andreas K. Huettel, David Kalok, Stefan Geissler
            2013       Andreas K. Huettel, Stefan Geissler
            2014       Christian Butschkow
            2016       Simon Reinhardt
            2017       Andreas K. Huettel

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.