NAME
Lab::Moose::Instrument::Lakeshore372 - Lakeshore Model 372 Temperature Controller
VERSION
version 3.791
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:
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.