diff --git a/tcl/bfdil.config b/tcl/bfdil.config index 61e6280..9072753 100644 --- a/tcl/bfdil.config +++ b/tcl/bfdil.config @@ -1,4 +1,4 @@ -deviceDesc = "BlueFors dil" +deviceDesc = "BlueFors dil for HAL-9500" # --- lakeshore 370 ctrl --- @@ -16,9 +16,9 @@ makenv tbf -driver 370_lsc -port psts262:3007 { # GraphAdd tbf.mc K T_MC blue # GraphAdd tbf.mc.raw Ohm R_MC blue - lsc_sensor test 6 rx270c -excitation 20uV - GraphAdd tbf.test K T_entropy orange - GraphAdd tbf.test.raw Ohm R_entropy orange +# lsc_sensor test 6 rx270c -excitation 20uV +# GraphAdd tbf.test K T_entropy orange +# GraphAdd tbf.test.raw Ohm R_entropy orange lsc_sensor cf 7 rx03310 -excitation 20uV GraphAdd tbf.cf K T_cf magenta @@ -32,6 +32,9 @@ makenv tbf -driver 370_lsc -port psts262:3007 { # lsc_sensor t5k 16 ruox5k # GraphAdd tbf.t5k K test5k_T orange + lsc_sensor pt2x 13 x71811 + GraphAdd tbf.pt2x K 2ndstage_T pink + lsc_loop set -channel 5 -maxheater 10mA -resist 120 GraphAdd tbf.set.power mW Still_Pow green } @@ -114,7 +117,9 @@ if {0} { # exclude tcf lakeshore #makenv tcf -driver loop -invar "/t/chan7" -outvar "t still" \ # -outmax 100 -prop 0.2 -int 0.2 -# pc11003 is the Windows computer controller the gas handling system +# pc11003 was the Windows computer controller the gas handling system +# pc10410 is the new one +# change to spare system pc11003 after pc10410 does not boot anymore, 12.09.2022 sr35 makenv bfgh -driver bfgh -port pc11003:1234 GraphAdd bfgh.pivc mbar IVC black diff --git a/tcl/bfdil.config_20220917 b/tcl/bfdil.config_20220917 new file mode 100644 index 0000000..2671735 --- /dev/null +++ b/tcl/bfdil.config_20220917 @@ -0,0 +1,230 @@ +deviceDesc = "BlueFors dil" + + +# --- lakeshore 370 ctrl --- +makenv tbf -driver 370_lsc -port psts262:3007 { + lsc_sensor pt1 1 PT1012 -excitation 2mV + GraphAdd tbf.pt1 K T_Stage1 yellow + + lsc_sensor pt2 2 X64004 -excitation 2mV + GraphAdd tbf.pt2 K T_Stage2 cyan + + lsc_sensor still 5 X63592 -excitation 63.2uV + GraphAdd tbf.still K T_Still green + +# lsc_sensor mc 6 rx03312 -excitation 20uV +# GraphAdd tbf.mc K T_MC blue +# GraphAdd tbf.mc.raw Ohm R_MC blue + + lsc_sensor test 6 rx270c -excitation 20uV + GraphAdd tbf.test K T_entropy orange + GraphAdd tbf.test.raw Ohm R_entropy orange + + lsc_sensor cf 7 rx03310 -excitation 20uV + GraphAdd tbf.cf K T_cf magenta + GraphAdd tbf.cf.raw Ohm R_cf magenta + +# GraphAdd tbf.set.power mW MC_Pow blue + +# lsc_sensor t1k 15 ruoxben1k +# GraphAdd tbf.t1k K test1k_T magenta + +# lsc_sensor t5k 16 ruox5k +# GraphAdd tbf.t5k K test5k_T orange + + lsc_sensor pt2x 13 x71811 + GraphAdd tbf.pt2x K 2ndstage_T pink + + lsc_loop set -channel 5 -maxheater 10mA -resist 120 + GraphAdd tbf.set.power mW Still_Pow green +} + +if {0} { # exclude tcf lakeshore + # lakeshore 370 ctrl CF + makenv tcf -driver 370_lsc -port psts262:3008 { + # lsc_sensor rua 6 manual -excitation 20uV + # GraphAdd tcf.rua K 102A_T orange + # GraphAdd tcf.rua.raw Ohm 102A orange + # lsc_sensor rub 7 manual -excitation 20uV + # GraphAdd tcf.rub K 102B magenta + # GraphAdd tcf.rub.raw Ohm 102B magenta + # lsc_sensor ruc 8 manual -excitation 20uV + # GraphAdd tcf.ruc K EntropC cyan + # GraphAdd tcf.ruc.raw Ohm EntropC cyan + + lsc_sensor mc 6 rx03312 -excitation 20uV + GraphAdd tcf.mc K T_mc blue + GraphAdd tcf.mc.raw Ohm R_mc blue + + lsc_sensor rod 7 rx102a -excitation 20uV + GraphAdd tcf.rod K T_WL orange + GraphAdd tcf.rod.raw Ohm R_WL orange + + + lsc_loop set -channel 6 -maxheater 31mA -resist 120 + GraphAdd tcf.set.power mW MC_Pow blue + } +} + + +## --- LS370 scanner --- +#makenv t ls370bf +#t active3 0 +#t active4 0 +#t active8 0 +#t active9 0 +#t active10 0 +#t active11 0 +#t active12 0 +#t active13 0 +#t active14 0 +#GraphAdd t.chan1 K T50K red +#GraphAdd t.chan2 K T4K green +#GraphAdd t.chan5 K TStill blue +#GraphAdd t.chan6 K TMC magenta +#GraphAdd t.chan7 K TCF yellow +#GraphAdd t.chan15 K 1Ktest orange + + +#GraphAdd t.res1 Ohm R50K red +#GraphAdd t.res2 Ohm R4K green +#GraphAdd t.res5 Ohm RStill blue +#GraphAdd t.res6 Ohm RMC magenta +#GraphAdd t.res7 Ohm RCF black +#GraphAdd t.res15 Ohm 1Ktest yellow +#GraphAdd t.res16 Ohm 5Ktest orange + +#GraphAdd t.set K Tset black +#GraphAdd t.htr W Phtr red +#GraphAdd t.still % Still red + + +#--- Fixpoint dev--- +#makenv Vfp nanov +# --- compressor --- +#makenv cp2800 cp2800 + +#GraphAdd cp2800.inp_water_t C InpWater_C red +#GraphAdd cp2800.out_water_t C OutWater_C blue +#GraphAdd cp2800.oil_t C Oil_C green +#GraphAdd cp2800.helium_t C Helium_C magenta + +#GraphAdd cp2800.high_side_p_min psi High_psi_min red +#GraphAdd cp2800.high_side_p_max psi High_psi_max orange +#GraphAdd cp2800.low_side_p_min psi Low_psi_min green +#GraphAdd cp2800.low_side_p_max psi Low_psi_max dark_green + +#makenv tcf -driver loop -invar "/t/chan7" -outvar "t still" \ +# -outmax 100 -prop 0.2 -int 0.2 + +# pc11003 was the Windows computer controller the gas handling system +# pc10410 is the new one +# change to spare system pc11003 after pc10410 does not boot anymore, 12.09.2022 sr35 +makenv bfgh -driver bfgh -port pc11003:1234 + +GraphAdd bfgh.pivc mbar IVC black +GraphAdd bfgh.pstill mbar Still_line red +GraphAdd bfgh.pcond mbar Condensing_line blue +GraphAdd bfgh.phep mbar He3_pump_back green +GraphAdd bfgh.pdump mbar Dump orange +GraphAdd bfgh.paux mbar auxillary magenta +GraphAdd bfgh.flow mmolsec He3_flow black + +GraphAdd bfgh.turbo1 sw He3-Turbo red +GraphAdd bfgh.scroll1 sw He3-scroll hot_pink +GraphAdd bfgh.turbo2 sw aux-Turbo blue +GraphAdd bfgh.scroll2 sw aux-scroll sky_blue +GraphAdd bfgh.pulsetube sw PulseTube black +GraphAdd bfgh.compressor sw He3-compressor magenta +GraphAdd bfgh.hs-still sw HS-Still yellow +GraphAdd bfgh.hs-mc sw HS-MC gray +GraphAdd bfgh.ext sw Still_heat cyan + + +#makenv cmn -driver cmnnanov -port psts257:3016 + +if {0} {# inhibit --- autoheater --- + makenv autoheater -driver auto370 tcf {tcf mc} + + auto370::mode 0 normal { + autoheater ttable 0.01 0.022 0.064 0.22 1.0 + autoheater prop 5 + autoheater propmin 0.5 + autoheater 1 + autoheater autoprop 1 + autoheater propmin 0.5 + autoheater maxrange 6 + tcf set/integ 100 + } + + auto370::mode 1 partial_circulate { + autoheater ttable 0.01 0.022 0.8 1.2 5 100 + autoheater 0 + autoheater heaterrange 7 + autoheater autoprop 1 + autoheater prop 40 + autoheater propmin 2 + autoheater maxrange 7 + tcf set/integ 100 + } + + hset autoheater/mode 0 +} + +# --- sim 921 ac res. bridge --- +#makenv ac -driver sim921 1 rod 3 mc +makenv ac -driver sim921 -port psts262:3004 1 rod 3 mc + +GraphAdd ac.rod K T_rod red +GraphAdd ac.rod.r Ohm R_rod red + +GraphAdd ac.mc K T_mc blue +GraphAdd ac.mc.r Ohm R_mc blue + +catch { + ac mc/curve rx03312 +} + +# --- heaterboxes WL = rodhtr +# MC = mchtr +# weak link +makenv rodhtr dilhtr -port psts262:3006 + +makenv tlrod -driver piloop -invar /ac/rod -outvar rodhtr -outmin 0 -outmax 3.3 \ + -prop 1 -int 6 -precision 0.001 -inpfunc 1 -outfunc 1 -outlinear 0.04 \ + -inplinear 0.01 -ramptime 240 -smoothtime 60 -ramptol 0.05 + +#catch { +# # detect automatically open sensor +# ac rod/sensorcheck 1 +#} + +GraphAdd tlrod.set K tlrod_set grey +GraphAdd tlrod.reg K tlrod_reg black +GraphAdd rodhtr mW rod_htr red + +# mix chamber +makenv mchtr dilhtr -port psts262:3005 + +makenv tlmc -driver piloop -invar /ac/mc -outvar mchtr -outmin 0 -outmax 3.3 \ + -prop 0.2 -int 60 -precision 0.001 -inpfunc 1 -outfunc 1 -outlinear 0.04 \ + -inplinear 0.01 -ramptime 240 -smoothtime 60 -ramptol 0.05 + +GraphAdd tlmc.set K tlmc_set green +GraphAdd tlmc.reg K tlmc_reg olive +GraphAdd mchtr mW mc_htr blue + +device stick_menu "lt wl noother" + + +makenv bfdil -driver bfdil + +# default stick should be selected after config +#stick lt + + + +makeobject magnet array +magnet makeitem field +GraphAdd magnet.field T Magnet + diff --git a/tcl/ccr3.addon b/tcl/ccr3.addon new file mode 100644 index 0000000..6532824 --- /dev/null +++ b/tcl/ccr3.addon @@ -0,0 +1,14 @@ +addonDesc = 4 K closed cycle cryostat (TriCS) + +makenv tccr -driver [lsdriver] { + lsc_sensor tch A -sensor x37342 -sensorname coldh -alarm 330 + lsc_sensor ts B -sensor x68057 -sensorname screen -alarm 330 + lsc_loop set -loop 1 -channel A -maxheater 14.4W -resist 36Ohm +} +catch { + tccr set/prop 100 + tccr set/integ 100 +} +tccr set/limit 325 + + diff --git a/tcl/config/device.list b/tcl/config/device.list index 4383480..ec118c3 100644 --- a/tcl/config/device.list +++ b/tcl/config/device.list @@ -8,6 +8,8 @@ GROUP orange and other 4He cryostats END GROUP muSR flame* + hal* + bfdil END GROUP closed cycle refrigerators apd* diff --git a/tcl/drivers/bfgh.tcl b/tcl/drivers/bfgh.tcl index a56f536..894942a 100644 --- a/tcl/drivers/bfgh.tcl +++ b/tcl/drivers/bfgh.tcl @@ -80,23 +80,35 @@ proc stdConfig::bfgh {} { prop write bfgh::setrmt prop enum 1 } + node ext_still_control par 1 + prop help "control still with lakeshore 370 output from /bfgh/ext" + prop enum 1 + + node stillpower wr + default 0.01 + prop help "when /bfgh/ext is on, stillpower is applied to /tbf/set/manualpower" + prop check bfgh::check_still + prop write stdSct::completeUpdate + prop read bfgh::read_still + + node serial_turbo_control par 1 + prop help "use serial instead of analog connection for switching turbo on/off" + prop enum 1 } - node stillpower par 0.008 - prop help "when ext is on, stillpower is applied to /tbf/set/manualpower. set stillpower to 0 for no link between /bfgh/ext and /tbf/set" variable ctrl variable path $ctrl updatescript $path/ext bfgh::ext_update + $ctrl updatescript $path/turbo1 bfgh::turbo1_update } proc bfgh::ext_update {value} { - set mp [hval [sct parent]/stillpower] - if {$mp} { + if {[hval [sct parent]/ext_still_control]} { set old [hval /tbf/set/mode] set oldp [hval /tbf/set/manualpower] if {$value} { set new 2 - set newp $mp + set newp [hval [sct parent]/stillpower] } else { set new 0 set newp 0 @@ -110,6 +122,46 @@ proc bfgh::ext_update {value} { } } +proc bfgh::read_still {} { + [sct controller] updatescript /tbf/set/manualpower "bfgh::update_still [sct]" + sct update [hvali [sct]] + return idle +} + +proc bfgh::update_still {path value} { + if {$value} { + updateval $path $value + } + return idle +} + +proc bfgh::check_still {} { + if {[sctval [sct parent]/ext_still_control]} { + tbf set/manualpower [sct target] + } +} + +proc bfgh::turbo1_update {value} { + set ser [hval [sct parent]/serial_turbo_control] + if {$ser} { + if {$value} { + if {!([hval /turbo1a/on] && [hval /turbo1a/motor] && [hval /turbo1b/on] && [hval /turbo1b/motor])} { + turbo1a on 1 + turbo1b on 1 + turbo1a motor 1 + turbo1b motor 1 + } + } else { + if {[hval /turbo1a/on] || [hval /turbo1a/motor] || [hval /turbo1b/on] || [hval /turbo1b/motor]} { + turbo1a motor 0 + turbo1b motor 0 + turbo1a on 0 + turbo1b on 0 + } + } + } +} + proc bfgh::chanread {} { sct send "status" return bfgh::chanupd diff --git a/tcl/drivers/ccu4flow.tcl b/tcl/drivers/ccu4flow.tcl index 56c32ea..1f43872 100644 --- a/tcl/drivers/ccu4flow.tcl +++ b/tcl/drivers/ccu4flow.tcl @@ -405,7 +405,7 @@ proc ccu4flow::ctrl {} { set regstate 0 } } else { - if {[silent 0 sct release_blocked]} { + if {[silent 0 sct release_blocked] && $ist > $soll + $tol} { # hack for releasing n.v. at MA7 setstate closed set closecnt [silent 1 sct closecnt] diff --git a/tcl/drivers/tc400.tcl b/tcl/drivers/tc400.tcl new file mode 100644 index 0000000..a8dd4ca --- /dev/null +++ b/tcl/drivers/tc400.tcl @@ -0,0 +1,104 @@ +namespace eval tc400 {} { +} + +proc stdConfig::tc400 {adr} { + controller std "\r" 5 + prop startcmd "0010031202=?101" + prop read tc400::read + prop write tc400::write + + pollperiod 5 5 + + obj "TC400" wr + prop par 707 + prop @adr $adr + prop type fix2 + + kids "turbo $adr" { + node on wr + prop par 10 + prop type bool + prop enum 1 + + node motor wr + prop par 23 + prop type bool + prop enum 1 + + node speed rd + prop par 309 + prop type fix0 + + node nominalspeed rd + prop par 308 + prop type fix0 + + node current rd + prop par 310 + prop type fix2 + + node errorcode -text rd + prop par 303 + prop type text + + node ovtempelec rd + prop par 304 + prop type bool + + node ovtemppump rd + prop par 305 + prop type bool + + node temppmpbot rd + prop par 330 + prop type fix0 + + node tempbearng rd + prop par 342 + prop type fix0 + + node tempmotor rd + prop par 346 + prop type fix0 + + } + + return "TC400 turbo pump" +} + +proc tc400::addcksum {str} { + set cksum 0 + foreach num [scan $str [string repeat %c [string length $str]]] { + incr cksum $num + } + return "$str[format %3.3d [expr $cksum % 256]]" +} + +proc tc400::read {} { + sct send [addcksum [format "%3.3d00%3.3d02=?" [sct @adr] [sct par]]] + return tc400::update +} + +proc tc400::update {} { + set end 15 + set value [string range [sct result] 10 $end] + if {![scan $value %d value]} { + error "$value" + } + switch [sct type] { + bool { sct update [expr $value != 0] } + fix2 { sct update [expr $value * 0.01] } + default { sct update $value } + } + return idle +} + +proc tc400::write {} { + switch [sct type] { + bool {set val [format "06%6.6d" [expr ([sct target] != 0) * 111111]]} + fix2 {set val [format "06%6.6d" [expr int(0.5 + [sct target] * 100)]]} + default {set val [format "06%6.6d" [expr int(0.5 + [sct target])]]} + } + sct send [addcksum [format "%3.3d10%3.3d$val" [sct @adr] [sct par] [sct target]]] + return tc400::update +} diff --git a/tcl/fillgh.tcl b/tcl/fillgh.tcl new file mode 100644 index 0000000..a138fb0 --- /dev/null +++ b/tcl/fillgh.tcl @@ -0,0 +1,33 @@ +clientput "start filling the jtccr-gh" + +clientput "configure compressor automatic..." +jtccr p2min 0.12 +jtccr p2lim 0.5 +jtccr p2max 0.9 +jtccr p3max 6.6 +jtccr plow 4 + +clientput "start compressor automatic" +jtccr 1 + +while {[result p3] < 6.0} { +wait 30 +clientput "HP dump at [result p3] bar.." +clientput ".. filling" +wait 10 +} + +jtccr 0 + +while {[result p2] < 1.01 } { + clientput "filling LP dump.." + wait 30 +} + +clientput "open v6 and v7" +if {[result p2] > 1.01} { + v v6 1 + v v7 1 +} +clientput "done" + diff --git a/tcl/fixheater.tcl b/tcl/fixheater.tcl new file mode 100644 index 0000000..bb32a14 --- /dev/null +++ b/tcl/fixheater.tcl @@ -0,0 +1,21 @@ +proc fixheater {} { + if {[catch {hval /tt/set/reg}]} { + set mout2 [silent 0 hgetpropval /tt/set/power last_htr] + hsetprop /tt/set @manual_out $mout2 + set mout1 [silent 0 hgetpropval /tt/setvti/power last_htr] + hsetprop /tt/setvti @manual_out $mout1 + tt set [silent 0 hgetpropval /tt/set last_target] + tt setvti [silent 0 hgetpropval /tt/setvti last_target] + } else { + set htr [silent 0 hgetpropval /tt/set/power htr] + if {$htr} { + hsetprop /tt/set/power last_htr $htr + } + set htr [silent 0 hgetpropval /tt/setvti/power htr] + if {$htr} { + hsetprop /tt/setvti/power last_htr $htr + } + } +} + +publishLazy fixheater diff --git a/tcl/frappyaddon.addon b/tcl/frappyaddon.addon new file mode 100644 index 0000000..a7a0c46 --- /dev/null +++ b/tcl/frappyaddon.addon @@ -0,0 +1,3 @@ +addonDesc = FRAPPY history recorder for addons + +makenv frappy_addon -driver secop diff --git a/tcl/fs.config b/tcl/fs.config index 4153944..2a6fa96 100644 --- a/tcl/fs.config +++ b/tcl/fs.config @@ -15,3 +15,6 @@ catch { tt set/integ 5 tt set/limit 800 } + +# this might be needed for SICS, when tm should be recorded in the data file +# makenv i1 -driver drvpar /tt/tm diff --git a/tcl/halflow.config b/tcl/halflow.config index c699f55..30fc513 100644 --- a/tcl/halflow.config +++ b/tcl/halflow.config @@ -1,25 +1,20 @@ -deviceDesc = flow cryo for hifi (with He pump) +deviceDesc = flow cryo for HAL-9500 -device stick_menu "flow flow_1" +device stick_menu "halflow" defineTemperature tt -makeCCU4 halflow - makenv tt -driver 336_lsc -port pstc003:7777 { - lsc_sensor tm A -sensor x85571 -sensorname evap + lsc_sensor tm D -sensor x85571 -sensorname evap lsc_sensor tsep B -sensor x86021 -sensorname sep # lsc_sensor tcon C -sensor x86028 -sensorname conus lsc_sensor ts C -sensorname sample - lsc_sensor tshd D -sensor pt-1000 -sensorname shield - lsc_loop set -loop 1 -channel A -maxheater 50W -resist 50Ohm + lsc_sensor tshd A -sensor pt-1000 -sensorname shield + lsc_loop set -loop 1 -channel D -maxheater 10W -resist 50Ohm lsc_loop setcon -loop 2 -channel C -maxheater 35W -resist 35Ohm } tt set/limit 310 -makeHePump -GraphAdd nvflow lnmin Flow_pump auto - makenv table -driver table /tt/tm { "tt set/prop" "50:50 300:20 400:10" "tt set/integ" "10:50 50:20 300:5" @@ -30,14 +25,10 @@ makenv table -driver table /tt/tm { # -- max flow 50ln/min -# psts243 for tests RA36 10-JUN-2015 -#makenv -objname shieldflow -driver bronkfreg -port psts243:3006 50 Shield_Flow makenv -objname shieldflow -driver bronkfreg -port halflow-ts:3001 50 Shield_Flow GraphAdd shieldflow lnmin Flow_shield red # -- max flow 20 ln/min -# psts243 for tests RA36 10-JUN-2015 -#makenv -objname tflineflow -driver bronkfreg -port psts243:3008 20 Transfer-line_Flow makenv -objname tflineflow -driver bronkfreg -port halflow-ts:3002 20 Transfer-line_Flow GraphAdd tflineflow lnmin Flow_tfline magenta GraphAdd cc.f mbar pump_pressure @@ -45,10 +36,24 @@ GraphAdd cc.f mbar pump_pressure makeobject magnet array magnet makeitem field -#makeNv makenv v -driver ccu4 -port halflow-ts:3003 valves valve aux +GraphAdd v.ax mbar manifold_pressure -#makenv hvac -driver pfeiffertpg -port ldmlab1-ts:3013 + + +makenv hepres -driver pfeiffertpg -port psts258:3007 +GraphAdd hepres mbar Hepump_pressure +#makenv hepump -driver hepump +#makenv hemot -driver trinamic -port psts258:3013 -base /hepump/ +#hsetprop /hepump visible false +#hsetprop /hepump/eco_t_lim visible false +#hsetprop /hepump/auto visible false +#hsetprop /hepump/hemot visible false +#hdelprop /hepump/hemot group + +makeHePump + +GraphAdd nvflow lnmin Flow_hepump diff --git a/tcl/halflow.stick b/tcl/halflow.stick new file mode 100644 index 0000000..04375db --- /dev/null +++ b/tcl/halflow.stick @@ -0,0 +1,6 @@ +stickDesc = standard stick for HAL-9500 flow cryo + +#ts_sensor x85569 (old sensor (must be on the cryostet)) +# this is on the sample stick +ts_sensor x127761 + diff --git a/tcl/halmagnet.config b/tcl/halmagnet.config new file mode 100644 index 0000000..840a8ce --- /dev/null +++ b/tcl/halmagnet.config @@ -0,0 +1,14 @@ +deviceDesc = HAL-9500 magnet + +makeobject magnet array +magnet makeitem field + +makenv hepump -driver hepump +makenv hemot -driver trinamic -port psts258:3013 -base /hepump/ +hsetprop /hepump visible false +hsetprop /hepump/eco_t_lim visible false +hsetprop /hepump/auto visible false +hsetprop /hepump/hemot visible false +hdelprop /hepump/hemot group + + diff --git a/tcl/instconfig/halflow.tcl b/tcl/instconfig/halflow.tcl new file mode 100644 index 0000000..aec3105 --- /dev/null +++ b/tcl/instconfig/halflow.tcl @@ -0,0 +1 @@ +instconfig makeitem sensirion 1 diff --git a/tcl/janis_valve.config b/tcl/janis_valve.config new file mode 100644 index 0000000..3753be1 --- /dev/null +++ b/tcl/janis_valve.config @@ -0,0 +1,12 @@ +deviceDesc = valve for Janis Flow Cryostat + +makenv hepump -driver hepump +makenv hemot -driver trinamic -port psts257:3013 -base /hepump/ +hsetprop /hepump visible false +hsetprop /hepump/pump_type_permanent visible false +hsetprop /hepump/eco_t_lim visible false +hsetprop /hepump/auto visible false +hsetprop /hepump/hemot visible false +hdelprop /hepump/hemot group + + diff --git a/tcl/jtccr_cool.tcl b/tcl/jtccr_cool.tcl new file mode 100644 index 0000000..ce7db59 --- /dev/null +++ b/tcl/jtccr_cool.tcl @@ -0,0 +1,30 @@ +# this is not a functioning script, but just meta code +# needs to be checked and written +open V9 +close V8 +set preg auf 12 +while {[result tt] > 9.0 } { + + if {[result pbuffer] > 0.99} { + + close V2 + close V9 + open v7 + while {p4 > 1.8 & p3 > 6 } { + open v4 + } + close v4 + open v8 + switch on compressor + while {p4 >1.8 & P3 > 5} { + open v4 + } + close v4 + } else { + close v4 + close v7 + close v8 + open v9 + open v2 + } +} diff --git a/tcl/jtccr_overp.job b/tcl/jtccr_overp.job new file mode 100644 index 0000000..f740818 --- /dev/null +++ b/tcl/jtccr_overp.job @@ -0,0 +1,18 @@ +while {[result jtccr] == 0} { + wait 5 + if {([result p2] > 0.6) && ([result epc port1] == 0)} { + epc port1 1 + } + if {([result p2] <0.4) && ([result epc port1] == 1)} { + epc port1 0 + } + if {([result p3] > 4.5) && ([result jtccr v10] == 0)} { + jtccr v10 1 + } + if {([result p3] <2.0) && ([result jtccr v10] == 1)} { + jtccr v10 0 + } +} +epc port1 0 +jtccr v10 0 + diff --git a/tcl/jtccr_valves.job b/tcl/jtccr_valves.job new file mode 100644 index 0000000..2aa438b --- /dev/null +++ b/tcl/jtccr_valves.job @@ -0,0 +1,12 @@ +while {[result tt] > 9.8} { + wait 5 +} +jtccr v9 0 +jtccr v8 1 +pressreg setpoint 4 +wait 5 +jtccr v9 0 +jtccr v8 1 +pressreg setpoint 4 + + diff --git a/tcl/ls.addon b/tcl/ls.addon index 88c2514..a47e769 100644 --- a/tcl/ls.addon +++ b/tcl/ls.addon @@ -1,4 +1,7 @@ -addonDesc = simple lakeshore +addonDesc = lakeshore 340 with 2 channels -#makenv t ls340 -#makenv t2 ls370 +makenv ts -driver lsc_s40 { + lsc_sensor tm A -sensor manual -sensorname sample + lsc_sensor tm B -sensor manual -sensorname capillary + lsc_loop set -loop 1 -channel B -maxheater 50W -resist 10Ohm -color green +} diff --git a/tcl/lt.stick b/tcl/lt.stick new file mode 100644 index 0000000..fec7667 --- /dev/null +++ b/tcl/lt.stick @@ -0,0 +1,4 @@ +stickDesc = "BFDIL strong link - low temperature < 0.8 K" + +ac rod/curve rx102a +bfdil heatcontrol 0 diff --git a/tcl/ma6_sampleheat.stick b/tcl/ma6_sampleheat.stick new file mode 100644 index 0000000..79f0d68 --- /dev/null +++ b/tcl/ma6_sampleheat.stick @@ -0,0 +1,3 @@ +\stickDesc = MA6 stick with heater and pt-1000 sensor + +stick_sensors x63161 pt-1000 diff --git a/tcl/ma7_piezo.config b/tcl/ma7_piezo.config new file mode 100644 index 0000000..b4696ce --- /dev/null +++ b/tcl/ma7_piezo.config @@ -0,0 +1,58 @@ +deviceDesc = 6.8 Tesla horizontal cryomagnet + +defineTemperature tt +device stick_menu "ma7 dil2 dil3 dil4 coil" + +makenv tt -driver [lsdriver] { + lsc_sensor tm A -sensor x64682 -sensorname VTI + lsc_sensor ts C -sensorname sample + lsc_sensor ts_2 D -sensor code -sensorname sample2 +# lsc_sensor ts_2 D -sensor x63881 -sensorname sample2 + lsc_loop set -loop 1 -channel A -maxheater 32W -resist 80Ohm -color green + if {[lsdriver] eq "336_lsc"} { + lsc_loop setsamp -loop 2 -channel C -maxheater 62.5W -resist 40Ohm -loopname sample -color dark_green + lsc_loop voltage -loop 3 -channel D -loopname voltage -maxheater 10W -resist 100 -linearpower 360 + } +} + +GraphAdd tt.voltage.power V Voltage +tt set/limit 310 + +makeCCU4 ma7 nv_release_blocked he_ilm + +hupdate /nv/set 1.2 +# increase n.v. motor current +cc mc 75 +nv ctrl/openpulse 2 + +makeN2Fill ccu4ilm { + ln2fill lowlevel 30 + ln2fill highlevel 80 + ln2fill minfillminutes 8 + ln2fill maxfillminutes 40 + ln2fill minholdhours 24 + ln2fill maxholdhours 96 +# appendVars ln2fill.smooth/%/N2smooth/13 +} + +makeIps -limit 6.8 -startRamp 0.25 -port ma7-ts:3001 -startScript checkMA7 6.2 +if {[result instrument] eq "rita2"} { + mf limit 4.0 +} + +makeIlm -channels 2 -port ma7-ts:3002 + +makenv tcoil -driver mom -port ma7-ts:3003 { + mom_sensor ta -label T_Coil1 -curve c_ab270 -adjust {371 293 456 77.4 5400 4.22} + mom_sensor tb -label T_Coil2 -curve c_ab270 -adjust {367 293 456 77.4 5400 4.22} +} + +makenv table -driver table /tt/tm { + "tt set/prop" "50:10 300:5" + "tt set/integ" "10:10 50:5 300:2" + "tt dblctrl/int2" "10:10 50:100 300:600" + "tt dblctrl/prop_up" "20:0.1 50:0.4" + "tt dblctrl/prop_lo" "20:0.1 50:0.8" +} + +setstickrot ma7-ts:3007 diff --git a/tcl/ma7_piezo.stick b/tcl/ma7_piezo.stick new file mode 100644 index 0000000..34bcdaa --- /dev/null +++ b/tcl/ma7_piezo.stick @@ -0,0 +1,4 @@ +stickDesc = high curr stick for MA7 (using piezo) + +stick_sensors x88935 undefined + diff --git a/tcl/ma7_sampleheat.config b/tcl/ma7_sampleheat.config new file mode 100644 index 0000000..816287b --- /dev/null +++ b/tcl/ma7_sampleheat.config @@ -0,0 +1,56 @@ +deviceDesc = 6.8 Tesla horizontal cryomagnet + +defineTemperature tt +device stick_menu "ma6_sampleheat" + +makenv tt -driver [lsdriver] { + lsc_sensor tm A -sensor x64682 -sensorname VTI + lsc_sensor ts C -sensor x63161 -sensorname sample + lsc_sensor ts_2 D -sensor pt-1000 -sensorname sample2 + lsc_loop set -loop 1 -channel A -maxheater 32W -resist 80Ohm -color green + if {[lsdriver] eq "336_lsc"} { + lsc_loop setsamp -loop 2 -channel D -maxheater 10W -resist 10Ohm -loopname sample -color dark_green + } +} +tt set/limit 310 +tt setsamp/prop 5 +tt setsamp/integ 200 + +makeCCU4 ma7 nv_release_blocked he_ilm + +hupdate /nv/set 1.2 +# increase n.v. motor current +cc mc 75 +nv ctrl/openpulse 2 + +makeN2Fill ccu4ilm { + ln2fill lowlevel 30 + ln2fill highlevel 80 + ln2fill minfillminutes 8 + ln2fill maxfillminutes 40 + ln2fill minholdhours 24 + ln2fill maxholdhours 96 +# appendVars ln2fill.smooth/%/N2smooth/13 +} + +makeIps -limit 6.8 -startRamp 0.25 -port ma7-ts:3001 -startScript checkMA7 6.2 +if {[result instrument] eq "rita2"} { + mf limit 4.0 +} + +makeIlm -channels 2 -port ma7-ts:3002 + +makenv tcoil -driver mom -port ma7-ts:3003 { + mom_sensor ta -label T_Coil1 -curve c_ab270 -adjust {371 293 456 77.4 5400 4.22} + mom_sensor tb -label T_Coil2 -curve c_ab270 -adjust {367 293 456 77.4 5400 4.22} +} + +makenv table -driver table /tt/tm { + "tt set/prop" "50:10 300:5" + "tt set/integ" "10:10 50:5 300:2" + "tt dblctrl/int2" "10:10 50:100 300:600" + "tt dblctrl/prop_up" "20:0.1 50:0.4" + "tt dblctrl/prop_lo" "20:0.1 50:0.8" +} + +setstickrot ma7-ts:3007 diff --git a/tcl/ma7_thermalc.config b/tcl/ma7_thermalc.config new file mode 100644 index 0000000..bdbdc68 --- /dev/null +++ b/tcl/ma7_thermalc.config @@ -0,0 +1,55 @@ +deviceDesc = 6.8 Tesla horizontal cryomagnet for thrermalcond + +defineTemperature tt +device stick_menu "thermalcond" + +makenv tt -driver [lsdriver] { + lsc_sensor tm A -sensor x64682 -sensorname VTI + lsc_sensor ts C -sensor x200047 -sensorname sample + lsc_loop set -loop 1 -channel A -maxheater 32W -resist 80Ohm -color green + if {[lsdriver] eq "336_lsc"} { + lsc_loop setsamp -loop 2 -channel C -maxheater 0.1W -resist 82Ohm -loopname sample -color dark_green + } +} +tt set/limit 310 +tt setsamp/prop 5 +tt setsamp/integ 200 + +makeCCU4 ma7 nv_release_blocked he_ilm + +hupdate /nv/set 1.2 +# increase n.v. motor current +cc mc 75 +nv ctrl/openpulse 2 + +makeN2Fill ccu4ilm { + ln2fill lowlevel 30 + ln2fill highlevel 80 + ln2fill minfillminutes 8 + ln2fill maxfillminutes 40 + ln2fill minholdhours 24 + ln2fill maxholdhours 96 +# appendVars ln2fill.smooth/%/N2smooth/13 +} + +makeIps -limit 6.8 -startRamp 0.25 -port ma7-ts:3001 -startScript checkMA7 6.2 +if {[result instrument] eq "rita2"} { + mf limit 4.0 +} + +makeIlm -channels 2 -port ma7-ts:3002 + +makenv tcoil -driver mom -port ma7-ts:3003 { + mom_sensor ta -label T_Coil1 -curve c_ab270 -adjust {371 293 456 77.4 5400 4.22} + mom_sensor tb -label T_Coil2 -curve c_ab270 -adjust {367 293 456 77.4 5400 4.22} +} + +makenv table -driver table /tt/tm { + "tt set/prop" "50:10 300:5" + "tt set/integ" "10:10 50:5 300:2" + "tt dblctrl/int2" "10:10 50:100 300:600" + "tt dblctrl/prop_up" "20:0.1 50:0.4" + "tt dblctrl/prop_lo" "20:0.1 50:0.8" +} + +setstickrot ma7-ts:3007 diff --git a/tcl/mb11.config b/tcl/mb11.config index 9478384..6a96276 100644 --- a/tcl/mb11.config +++ b/tcl/mb11.config @@ -2,6 +2,8 @@ deviceDesc = MB11 Frappy history recorder set ::secop_version 4 +device stick_menu mb11 dil5 + set ins [result instrument] if {[string match "prep*" $ins]} { set nr [string range $ins end end] diff --git a/tcl/ori7.config b/tcl/ori7.config index dea88db..3a10fb4 100644 --- a/tcl/ori7.config +++ b/tcl/ori7.config @@ -31,6 +31,6 @@ makenv table -driver table /tt/tm { table tbl_tt_dblctrl_prop_lo 20:0.1 50:0.4 -makenv dilpars -driver dilpars -condenseflow 3 -circulateflow 1.6 +makenv dilpars -driver dilpars -condenseflow 5 -circulateflow 1.6 #GraphAdd cc.mp sec pulse red #GraphAdd cc.msp sec speed green diff --git a/tcl/tc400.addon b/tcl/tc400.addon new file mode 100644 index 0000000..63758eb --- /dev/null +++ b/tcl/tc400.addon @@ -0,0 +1,16 @@ +addonDesc = TC400 test + +makenv turbo1a -driver tc400 -controller _turbo -port psts261.psi.ch:3001 1 +makenv turbo1b -driver tc400 -controller _turbo -port psts261.psi.ch:3001 2 + +GraphAdd turbo1a.speed Hz turbo1a +GraphAdd turbo1b.speed Hz turbo1b +GraphAdd turbo1a.current A turbo1a +GraphAdd turbo1b.current A turbo1b + +GraphAdd turbo1a.temppmpbot C T_pump1a +GraphAdd turbo1a.tempbearng C T_bear1a +GraphAdd turbo1a.tempmotor C T_motr1a +GraphAdd turbo1b.temppmpbot C T_pump1b +GraphAdd turbo1b.tempbearng C T_bear1b +GraphAdd turbo1b.tempmotor C T_motr1b diff --git a/tcl/thermalcond.stick b/tcl/thermalcond.stick new file mode 100644 index 0000000..36f6972 --- /dev/null +++ b/tcl/thermalcond.stick @@ -0,0 +1,22 @@ +stickDesc = 50 mm thermal conductivity stick, version with standard lsc370 driver + +stick_sensors x200047 none + + + +makenv res -driver 370_lsc { + lsc_sensor s1 -channel 1 -sensor x200037 -excitation 200uV + lsc_sensor s2 -channel 2 -sensor x200044 -excitation 200uV + lsc_sensor s3 -channel 3 -sensor x200038 -excitation 200uV + lsc_sensor s4 -channel 4 -sensor x200048 -excitation 200uV +} + +GraphAdd res.s1 K R1 +GraphAdd res.s2 K R2 +GraphAdd res.s3 K R3 +GraphAdd res.s4 K R4 + +res autoscan/interval 15 +res autoscan/pause 5 +res autoscan/dwell 5 + diff --git a/tcl/wl.stick b/tcl/wl.stick new file mode 100644 index 0000000..8dda250 --- /dev/null +++ b/tcl/wl.stick @@ -0,0 +1,4 @@ +stickDesc = "weak link - high temperature up to 4 K" + +ac rod/curve rx270c +bfdil heatcontrol 2