NAME
Lab::Moose::Instrument::Lakeshore340 - Lakeshore Model 340 Temperature Controller
VERSION
version 3.851
SYNOPSIS
use Lab::Moose;
# Constructor
my $lakeshore = instrument(
type => 'Lakeshore340',
connection_type => 'LinuxGPIB',
connection_options => {pad => 22},
input_channel => 'B', # set default input channel for all method calls
);
my $temp_B = $lakeshore->get_T(); # Get temp for input 'B' set as default in constructor.
my $temp_A = $lakeshore->get_T(channel => 'A'); # Get temp for input 'A'.
METHODS
get_T
my $temp = $lakeshore->get_T(channel => $channel);
$channel
can be 'A' or 'B'. The default can be set in the constructor.
get_value
alias for get_T
.
get_sensor_units_reading
my $reading = $lakeshore->get_sensor_units_reading(channel => $channel);
Get sensor units reading (like resistance) of an input channel.
set_setpoint/get_setpoint
Set/get setpoint for loop 1 in whatever units the setpoint is using
$lakeshore->set_setpoint(value => 10, loop => 1);
my $setpoint1 = $lakeshore->get_setpoint(loop => 1);
set_T
alias for set_setpoint
set_heater_range/get_heater_range
$lakeshore->set_heater_range(value => 1);
my $range = $lakeshore->get_heater_range();
Value is one of 0 (OFF),1,...,5 (MAX)
set_control_mode/get_control_mode
Specifies the control mode. Valid entries: 1 = Manual PID, 2 = Zone, 3 = Open Loop 4 = AutoTune PID, 5 = AutoTune PI, 6 = AutoTune P.
# Set loop 1 to manual PID
$lakeshore->set_control_mode(value => 1, loop => 1);
my $cmode = $lakeshore->get_control_mode(loop => 1);
set_mout/get_mout
$lakeshore->set_mout(
loop => 1,
value => 22.45, # percent of range
);
my $mout = $lakeshore->get_mout(loop => 1);
Set/get manual output. Only works if output is configured for open loop control.
set_control_parameters/get_control_parameters
$lakeshore->set_control_parameters(
loop => 1,
input => 'A',
units => 1, # 1 = Kelvin, 2 = Celsius, 3 = sensor units
state => 1, # 0 = off, 1 = on
powerup_enable => 1, # 0 = off, 1 = on, optional with default = off
);
my %args = $lakeshore->get_control_parameters(loop => 1);
set_input_curve/get_input_curve
# Set channel 'B' to use curve 25
$lakeshore->set_input_curve(channel => 'B', value => 25);
my $curve = $lakeshore->get_input_curve(channel => 'B');
set_remote_mode/get_remote_mode
$lakeshore->set_remote_mode(value => 1);
my $mode = $lakeshore->get_remote_mode();
Valid entries: 1 = local, 2 = remote, 3 = 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,
range => 1
);
my %zone = $lakeshore->get_zone(loop => 1, zone => 1);
set_analog_out/get_analog_out
$lakeshore->set_analog_out
output => 1,
bipolar_enable => 1, # default: 0
mode => 2, # 0 = off, 1 = input, 2 = manual, 3 = loop. Loop is only valid for output 2
manual_value => -30, # -30 percent output (-3V)
);
my %analog_out = $lakeshore->get_analog_out();
Consumed Roles
This driver consumes the following roles:
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by the Lab::Measurement team; in detail:
Copyright 2018 Simon Reinhardt
2020 Andreas K. Huettel, Simon Reinhardt
2021-2022 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.