94 lines
2.1 KiB
Tcl
94 lines
2.1 KiB
Tcl
#----- ITC temperature controller ------
|
|
proc makeItc args {
|
|
scanargs $args var -port 0
|
|
makenv te itc -port $port
|
|
Layout itc
|
|
}
|
|
|
|
proc itcLayout args {
|
|
# if {[result lc t3] != 315.9} {
|
|
# Style Warning
|
|
# Label "connect magnet top sensor to channel 3"
|
|
# }
|
|
if {[string compare [sicsdescriptor te] notfound] == 0} return
|
|
Input "vti set temperature" "run te/[result te targetValue]"
|
|
Group itc "ITC temperature controller"
|
|
}
|
|
|
|
proc nvItcGroup {} {
|
|
nvPars nv nv
|
|
}
|
|
|
|
proc itcGroup {} {
|
|
showStatus te
|
|
|
|
Tip upper limit for the temperature set value
|
|
Input "set limit" "te upperlimit"
|
|
|
|
Tip Timeout for drive command \[sec\], 0 = infinite
|
|
Input "drive timeout" "te maxwait"
|
|
|
|
Tip tolerance for drive command
|
|
Input "tolerance" "te tolerance"
|
|
|
|
Tip settling time after beeing within tolerance
|
|
Input "settling time (sec)" "te settle"
|
|
|
|
if {0} {
|
|
Newline
|
|
Label needle valve control
|
|
RadioGroup "te gasMode"
|
|
NoNewline
|
|
RadioButton 0 off
|
|
NoNewline
|
|
RadioButton 1 manual
|
|
NoNewline
|
|
RadioButton 2 automatic
|
|
Newline
|
|
|
|
if {[result te gasmode] == 2} {
|
|
Tip "needle valve flow for stable temperature \[mbar\]"
|
|
Input "n.v. flow (stable)" "flowpars flowstd"
|
|
|
|
Tip "needle valve flow for max. cooling \[mbar\]"
|
|
Input "n.v. flow (cooling)" "flowpars flowlim"
|
|
|
|
Tip needle valve opening
|
|
Input "valve setting \[%\]" "te setGas"
|
|
|
|
if {[result te heatermode] == 3} {
|
|
Label AutoGas on (n.v. controlled by ITC)
|
|
} else {
|
|
Label AutoGas off (n.v. software controlled)
|
|
}
|
|
# Group nvItc "n.v. controller parameter"
|
|
} else {
|
|
Tip needle valve opening
|
|
Input "valve setting \[%\]" "te setGas"
|
|
}
|
|
}
|
|
Group itcPid "ITC pid control"
|
|
}
|
|
|
|
proc itcPidGroup {} {
|
|
RadioGroup "te pidMode"
|
|
Label "PID mode"
|
|
NoNewline
|
|
RadioButton 1 manual
|
|
NoNewline
|
|
RadioButton 2 automatic
|
|
|
|
Tip "maximum heater power \[W\]"
|
|
Input "max. power" "te maxPower"
|
|
|
|
Tip proportional band \[%\]
|
|
Input "prop" "te prop"
|
|
|
|
Tip integral parameter \[min\]
|
|
Input "int" "te int"
|
|
|
|
Tip derivative parameter \[min\] (0 is mostly used)
|
|
Input "deriv" "te deriv"
|
|
}
|
|
|