put things from HAL-9500 muSR instrument into git

This commit is contained in:
HAL-9500
2024-05-21 08:29:44 +02:00
parent 78d6c07858
commit e18346ff8e
13 changed files with 481 additions and 26 deletions

View File

@ -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

230
tcl/bfdil.config_20220917 Normal file
View File

@ -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

View File

@ -8,6 +8,8 @@ GROUP orange and other 4He cryostats
END
GROUP muSR
flame*
hal*
bfdil
END
GROUP closed cycle refrigerators
apd*

View File

@ -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

104
tcl/drivers/tc400.tcl Normal file
View File

@ -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
}

View File

@ -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

6
tcl/halflow.stick Normal file
View File

@ -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

14
tcl/halmagnet.config Normal file
View File

@ -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

View File

@ -0,0 +1 @@
instconfig makeitem sensirion 1

12
tcl/janis_valve.config Normal file
View File

@ -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

4
tcl/lt.stick Normal file
View File

@ -0,0 +1,4 @@
stickDesc = "BFDIL strong link - low temperature < 0.8 K"
ac rod/curve rx102a
bfdil heatcontrol 0

16
tcl/tc400.addon Normal file
View File

@ -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

4
tcl/wl.stick Normal file
View File

@ -0,0 +1,4 @@
stickDesc = "weak link - high temperature up to 4 K"
ac rod/curve rx270c
bfdil heatcontrol 2