Files
sics/site_ansto/instrument/config/environment/temperature/lakeshore340_common.tcl
Ferdi Franceschini 8011cec140 Make IP addresses explicit when configuring the old lakeshore 340 drivers.
r2910 | ffr | 2010-05-07 14:32:51 +1000 (Fri, 07 May 2010) | 2 lines
2012-11-15 17:01:39 +11:00

45 lines
1.4 KiB
Tcl

namespace eval ::environment::temperature {
# Default temperature controller parameters
array set tc_dfltPar {
tolerance 1
settle 30
range 5
upperlimit 500
lowerlimit 4
}
array set moxaPortMap {1 4001 2 4002 3 4003 4 4004}
}
# @brief Make a simulated temperature controller object.
#
# @param temp_sobj, name for temperature controller object.
proc ::environment::temperature::mkls340sim {temp_sobj} {
if [catch {
EvFactory new $temp_sobj sim
sicslist setatt $temp_sobj numsensors 4
sicslist setatt $temp_sobj controlsensor sensora
sicslist setatt $temp_sobj sensorlist sensora,sensorb,sensorc,sensord
sicslist setatt $temp_sobj heateron 1
sicslist setatt $temp_sobj range 5
sicslist setatt $temp_sobj units kelvin
sicslist setatt $temp_sobj klass @none
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}
# @brief Make a lakeshore340 temperature controller object.
#
# @param temp_sobj, name for temperature controller object
# @param IP, (optional) IP address for temperature controller.
# @param port, (optional) port number for temperature controller.
proc ::environment::temperature::mkls340 {temp_sobj IP port} {
Makeasyncqueue ${temp_sobj}_AsyncQ LS340 $IP $port
${temp_sobj}_AsyncQ timeout 2000
EvFactory new $temp_sobj ls340 ${temp_sobj}_AsyncQ 1 A ABCD
sicslist setatt $temp_sobj units kelvin
sicslist setatt $temp_sobj klass @none
}