NAME

Lab::Moose::Instrument::Lakeshore372 - Lakeshore Model 372 Temperature Controller

VERSION

version 3.800

SYNOPSIS

use Lab::Moose;

# Constructor
my $lakeshore = instrument(
    type => 'Lakeshore372',
    connection_type => 'Socket',
    connection_options => {host => '192.168.3.24'},
    
    input_channel => '5', # set default input channel for all method calls
);


my $temp_5 = $lakeshore->get_T(channel => 5); # Get temperature for channel 5.
my $resistance_5 = TODO

METHODS

get_T

my $temp = $lakeshore->get_T(channel => $channel);

C<$channel> needs to be one of 'A', 1, ..., 16.

get_value

alias for get_T.

get_sensor_units_reading

my $reading = $lakeshore->get_sensor_units_reading(channel => $channel);

Get sensor units reading (in ohm) of an input channel.

set_setpoint/get_setpoint

Set/get setpoint for loop 0 in whatever units the setpoint is using

$lakeshore->set_setpoint(value => 10, loop => 0); 
my $setpoint1 = $lakeshore->get_setpoint(loop => 0);

set_T

alias for set_setpoint

set_heater_range/get_heater_range

$lakeshore->set_heater_range(loop => 0, value => 1);
my $range = $lakeshore->get_heater_range(loop => 0);

For loop 0 (sample heater), value is one of 0 (off), 1, ..., 8. For loops 1 and 2, value is one of 0 and 1.

set_outmode/get_outmode

$lakeshore->set_outmode(
 loop => 0, # 0, 1, 2
 mode => 3, # 0, ..., 6
 channel => 5, # A, 1, ..., 16
 powerup_enable => 0, # 0, 1
 polarity => 1, # 0, 1
 filter => 0, # 0, 1
 delay => 0, # 1,...,255
);

my $args = $lakeshore->get_outmode(loop => 0);

set_input_curve/get_input_curve

# Set channel 5 to use curve 25
$lakeshore->set_input_curve(channel => 5, value => 25);
my $curve = $lakeshore->get_input_curve(channel => 5);

set_remote_mode/get_remote_mode

$lakeshore->set_remote_mode(value => 0);
my $mode = $lakeshore->get_remote_mode();

Valid entries: 0 = local, 1 = remote, 2 = remote with local lockout.

set_pid/get_pid

$lakeshore->set_pid(loop => 1, P => 1, I => 50, D => 50)
my %PID = $lakeshore->get_pid(loop => 1);
# %PID = (P => $P, I => $I, D => $D);

set_zone/get_zone

$lakeshore->set_zone(
    loop => 1,
    zone => 1,
    top  => 10,
    P    => 25,
    I    => 10,
    D    => 20,
    mout => 0, # 0%
    range => 1,
    rate => 1.2, # 1.2 K / min
    relay_1 => 0,
    relay_2 => 0,
);

my %zone = $lakeshore->get_zone(loop => 1, zone => 1);

set_filter/get_filter

$lakeshore->set_filter(
    channel => 5,
    on      => 1,
    settle_time => 1, # (1s..200s) 
    window => 2, # % 2 percent of full scale window (1% ... 80%)
);

my %filter = $lakeshore->get_filter(channel => 5);

set_freq/get_freq

# Set input channel 0 (measurement input) excitation frequency to 9.8Hz
$lakeshore->set_freq(channel => 0, value => 1);

my $freq = $lakeshore->get_freq(channel => 0);

Allowed channels: 0 (measurement input), 'A' (control input). Allowed values: 1 = 9.8 Hz, 2 = 13.7 Hz, 3 = 16.2 Hz, 4 = 11.6 Hz, 5 = 18.2 Hz.

Consumed Roles

This driver consumes the following roles:

Lab::Moose::Instrument::Common

COPYRIGHT AND LICENSE

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

Copyright 2018       Simon Reinhardt
          2020       Andreas K. Huettel, Simon Reinhardt
          2021       Simon Reinhardt

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