45 lines
1.4 KiB
Tcl
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
|
|
}
|