Add lakeshore config for RHQ

r2769 | ffr | 2009-03-31 17:28:11 +1100 (Tue, 31 Mar 2009) | 2 lines
This commit is contained in:
Ferdi Franceschini
2009-03-31 17:28:11 +11:00
committed by Douglas Clowes
parent 8e5b7842e3
commit 4a898637b4

View File

@@ -0,0 +1,52 @@
source $cfPath(environment)/temperature/lakeshore340_common.tcl
# @brief Adds a lakeshore 340 temperature controller object.
#
# This must be called when the instrument configuration is loaded and before\n
# the buildHDB function is called. Currently there is no way to add and remove\n
# environment controllers and their hdb paths at runtime.
#
# @param tcn temperature controller name, the hdb name will be tcn_cntrl
# @param mport, the moxa RS232 port number, ie 1,2,3,4
#
# Optional parameters, see lakeshore340_common.tcl for defaults in tc_dfltPar
# @param tolerance, temperature controller tolerance
# @param settle, settling time in seconds
# @param range, lakeshore range
# @param upperlimit, upper temperature limit Kelvin
# @param lowerlimit, lower temperature limit Kelvin
proc ::environment::temperature::add_ls340 {tcn mport args} {
variable tc_dfltPar
variable tc_dfltURL
variable moxaPortMap
if [catch {
if {$tcn == "" || $mport == ""} {
error "ERROR: You must provide a temperature controller name and moxa port number"
}
array set tc_param [array get tc_dfltPar]
if {$args != ""} {
array set tc_param $args
foreach {nm v} $args {
set tc_param($nm) $v
}
}
set sim_mode [SplitReply [environment_simulation]]
if {$sim_mode == "true"} {
::environment::temperature::mkls340sim $tcn
} else {
::environment::temperature::mkls340 $tcn 137.157.202.85 $moxaPortMap($mport)
foreach nm [array names tc_param] {
$tcn $nm $tc_param($nm)
}
}
sicslist setatt $tcn environment_name ${tcn}_cntrl
sicslist setatt $tcn long_name control_sensor_reading
::environment::mkenvinfo $tcn {heateron {priv user} range {priv manager} }
} message ] {
if {$::errorCode=="NONE"} {return $message}
return -code error $message
}
}