NAME
Lab::Moose::Instrument::ABB_TRMC2 - ABB TRMC2 temperature controller
VERSION
version 3.900
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) 2023 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 Andreas K. Huettel
2021 Andreas K. Huettel, 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.