NAME
Lab::Moose::Instrument::ABB_TRMC2 - ABB TRMC2 temperature controller
VERSION
version 3.771
SYNOPSIS
use Lab::Moose;
my $trmc = instrument(
type => 'ABB_TRMC2'
);
my $temp = $trmc->get_T();
Warning: Due to the rather unique (and silly) way of device communication, the TRMC2 driver does not use the connection layer.
External interface
set_T
$trmc->set_T(value => 0.1);
Program the TRMC to regulate the temperature towards a specific value (in K). The function returns immediately; this means that the target temperature most likely has not been reached yet.
Possible values are in the range [min_setpoint, max_setpoint], by default [0.02, 1.0].
get_T
$trmc->get_T();
This is a shortcut for reading out temperature channel 5, typically the mixing chamber temperature.
TODO: Which channel is typically used for the control loop here?
Internal / hardware-specific functions
TRMC2init
Checks input and output buffer for TRMC2 commands and tests the file communication.
TRMC2off
Unmounts, i.e., releases control of the TRMC
TRMC2_Heater_Control_On
Switch the Heater Control (The coupling heater and set point NOT the heater switch in the main menu); 1 on, 0 off
TRMC2_Prog_On
What does this precisely do?
TRMC2_get_SetPoint
my $target = $trmc->TRMC2_get_SetPoint();
Return the current setpoint of the TRMC2 in Kelvin.
TRMC2_set_SetPoint
$trmc->TRMC2_set_SetPoint(0.1);
Program the TRMC to regulate the temperature towards a specific value (in K). The function returns immediately; this means that the target temperature most likely has not been reached yet.
Possible values are in the range [min_setpoint, max_setpoint], by default [0.02, 1.0].
TRMC2_get_PV
What does this do?
TRMC2_AllMeas
Read out all sensor channels.
TRMC2_get_T
my $t = $trmc->TRMC2_get_T($channel);
Reads out temperature of a sensor channel.
Sensor number: 1 Heater 2 Output 3 Sample 4 Still 5 Mixing Chamber 6 Cernox
TRMC2_get_R
my $r = $trmc->TRMC2_get_R($channel);
Reads out resistance of a sensor channel.
Sensor number: 1 Heater 2 Output 3 Sample 4 Still 5 Mixing Chamber 6 Cernox
TRMC2_get_RT
my ($r, $t) = $trmc->TRMC2_get_RT();
Reads out resistance and temperature simultaneously.
Sensor number: 1 Heater 2 Output 3 Sample 4 Still 5 Mixing Chamber 6 Cernox
TRMC2_Read_Prog
Reads Heater Batch Job
TRMC2_Set_T_Sweep
$trmc->TRMC2_Set_T_Sweep(SetPoint, Sweeprate, Holdtime)
Programs the built in temperature sweep. After Activation it will sweep from the current temperature to the set temperature with the given sweeprate. The Sweep can be started with TRMC2_Start_Sweep(1).
Variables: SetPoint in K, Sweeprate in K/Min, Holdtime in s (defaults to 0)
TRMC2_Start_Sweep
$trmc->TRMC2_Start_Sweep(1);
Starts (1) / stops (0) the sweep --- provided the heater in TRMC2 window is turned ON. At a sweep stop the power is left on.
TRMC2_All_Channels
Reads out all channels and values and returns an array
TRMC2_Active_Channel
Reads out the active channel (?)
TRMC2_Shut_Down
Stops the sweep and the heater control
TRMC2_Write
TRMC2_Write($cmd, $wait_write=$WAIT)
Sends a command to the TRMC and will wait $wait_write.
TRMC2_Query
TRMC2_Query($cmd, $wait_query=$WAIT)
Sends a command to the TRMC and will wait $wait_query sec long and returns the result.
RemoveFrenchComma
Replace "," in a number with "." (yay for French hardware!)
MakeFrenchComma
Replace "." in a number with "," (yay for French hardware!)
Consumed Roles
This driver consumes no roles.
COPYRIGHT AND LICENSE
This software is copyright (c) 2021 by the Lab::Measurement team; in detail:
Copyright 2011 Andreas K. Huettel, Florian Olbrich
2012 Alois Dirnaichner, Andreas K. Huettel
2013 Alois Dirnaichner
2016 Simon Reinhardt
2017 Andreas K. Huettel, Simon Reinhardt
2020-2021 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.