namespace eval ::environment::temperature { # Default temperature controller parameters array set tc_dfltPar { tolerance 1 settle 30 range 5 upperlimit 500 lowerlimit 4 } set tc_dfltURL ca5-[instname] 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 }