Now supports creation of multiple lakeshore controller objects. hmm_configuration_common_1.tcl SICS-275 histmem command now rejects invalid frame source arguments hipd/config/environment/temperature/lakeshore340.tcl Now supports creation of multiple lakeshore controller objects. wombat_configuration.tcl Added example which creates two lakeshore controllers. rsd/config/motors/motor_configuration.tcl SICS-276 Disable debug mode on sz motor. r2694 | ffr | 2008-09-18 12:20:09 +1000 (Thu, 18 Sep 2008) | 15 lines
53 lines
1.8 KiB
Tcl
53 lines
1.8 KiB
Tcl
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 $tc_dfltURL $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
|
|
}
|
|
}
|