NAME
Lab::Moose::Instrument::Lakeshore340 - Lakeshore Model 340 Temperature Controller
VERSION
version 3.920
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) 2024 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.