Merge branch 'master' of gitlab.psi.ch-samenv:samenv/sea
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@ -44,3 +44,4 @@ cheat_chart
|
||||
tcl/stuff_before_2022
|
||||
SeaServer
|
||||
GraphServer
|
||||
tcl/calcurves
|
||||
|
6
tcl/attocube.addon
Normal file
6
tcl/attocube.addon
Normal file
@ -0,0 +1,6 @@
|
||||
addonDesc = atto cube
|
||||
|
||||
set ::secop_version 4
|
||||
|
||||
makenv frappy_addons -driver secop
|
||||
|
@ -546,7 +546,7 @@ proc ccu4flow::ctrl {} {
|
||||
} elseif {$now < $lastim + $period} {
|
||||
# wait
|
||||
} else {
|
||||
set slope [expr 0.01 + abs($dif) * $period / [hvali [sct]/ctrl/deriv$_dir]]
|
||||
set slope [expr 0.00 + abs($dif) * $period / [hvali [sct]/ctrl/deriv$_dir]]
|
||||
set totalmin ""
|
||||
set ddif [format %.2f [expr -($dif - [sct olddif]) * [sct dir]]]
|
||||
sct filtered_ddif [expr max(0,[silent 0 sct filtered_ddif] * 0.9 + $ddif * 0.1)]
|
||||
|
@ -257,6 +257,9 @@ proc stdConfig::dil12 args {
|
||||
prop label "remove mixture status"
|
||||
prop check dil12::check_removephase
|
||||
prop write stdSct::completeUpdate
|
||||
|
||||
node ignore_vti_temp -int par 0
|
||||
prop enum 1
|
||||
}
|
||||
}
|
||||
hset $name/heatermode 0
|
||||
@ -992,10 +995,15 @@ proc dil12::autostep {phase init} {
|
||||
dil12::openvalves v1 v6 v12 v13 vm_open
|
||||
|
||||
sorb mode 0
|
||||
dil12::set_VtiT 1.25
|
||||
hset [sct]/onekstate 0
|
||||
nv set [silent 5 hvali [sct]/circulateflow]
|
||||
nv 2 ;# auto
|
||||
if {[hval [sct]/ignore_vti_temp]} {
|
||||
dil12::set_VtiT 0
|
||||
nv 1 ;# controlled
|
||||
} else {
|
||||
dil12::set_VtiT 1.25
|
||||
nv 2 ;# auto
|
||||
}
|
||||
dil12::msg ""
|
||||
}
|
||||
circulate {
|
||||
@ -1034,7 +1042,11 @@ proc dil12::autostep {phase init} {
|
||||
sct optimize [clock seconds]
|
||||
clientput "reduced VTI flow to [hvali [sct]/circulateflow]"
|
||||
nv set $circulateflow
|
||||
nv 2 ;# auto
|
||||
if {[hval [sct]/ignore_vti_temp]} {
|
||||
nv 1 ;# controlled
|
||||
} else {
|
||||
nv 2 ;# auto
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ proc hepump::read {} {
|
||||
sct health_cnt [expr [sct health_cnt] + 1]
|
||||
if {[sct health_cnt] == 10} {
|
||||
if {$health > 100} {set health 100}
|
||||
catch {prep0 / "pump_health_update [result instrument] [format %.0f $health]"} msg
|
||||
catch {prep0 / pump_health_update [result instrument] [format %.0f $health]} msg
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -204,7 +204,7 @@ proc hepump::check_valve {} {
|
||||
}
|
||||
|
||||
proc hepump::set_valve {} {
|
||||
if {[sctval [sct parent]] != 0} return
|
||||
if {[sctval [sct parent]] % 8 != 0} {return idle}
|
||||
set val [hvali [sct]]
|
||||
if {[sct target] < 2} {
|
||||
if {[hvali [sct parent]/[sct @motname]/encoder] > 20} {
|
||||
@ -238,7 +238,7 @@ proc hepump::slow_close {} {
|
||||
}
|
||||
|
||||
proc hepump::get_valve {} {
|
||||
if {[sctval [sct parent]] != 0} {return idle}
|
||||
if {[sctval [sct parent]] % 8 != 0} {return idle}
|
||||
set p [sct parent]/[sct @motname]
|
||||
set stat [hgetpropval $p status]
|
||||
set pos [hvali $p/encoder]
|
||||
@ -296,7 +296,7 @@ proc hepump::get_valve {} {
|
||||
}
|
||||
|
||||
proc hepump::chk_running {} {
|
||||
if {[sctval [sct parent]] != 0} return
|
||||
if {[sctval [sct parent]] % 8 != 0} return
|
||||
if {[sct target]} {
|
||||
hset [sct parent]/[sct @motname]/output0 1
|
||||
} else { # off
|
||||
@ -314,8 +314,8 @@ proc hepump::chk_running {} {
|
||||
}
|
||||
|
||||
proc hepump::get_running {} {
|
||||
# only for xds35
|
||||
if {[sctval [sct parent]] != 0} {return idle}
|
||||
# only for xds35 and neodry
|
||||
if {[sctval [sct parent]] % 8 != 0} {return idle}
|
||||
|
||||
set running [sctval [sct parent]/[sct @motname]/output0]
|
||||
set pumpoff [silent 1 hval [sct parent]/[sct @motname]/input3]
|
||||
@ -361,6 +361,7 @@ proc hepump::get_running {} {
|
||||
}
|
||||
|
||||
proc hepump::set_eco {} {
|
||||
# xds35 only, not for neodry
|
||||
if {[sctval [sct parent]] != 0} {return idle}
|
||||
if {[sct target] != [hvali [sct]]} {
|
||||
hset [sct parent]/auto 0
|
||||
@ -374,6 +375,7 @@ proc hepump::set_eco {} {
|
||||
}
|
||||
|
||||
proc hepump::get_eco {} {
|
||||
# xds35 only, not for neodry
|
||||
if {[sctval [sct parent]] != 0} {
|
||||
sct update 0
|
||||
return idle
|
||||
@ -385,11 +387,13 @@ proc hepump::get_eco {} {
|
||||
}
|
||||
|
||||
proc hepump::set_auto {} {
|
||||
# xds35 only, not for neodry
|
||||
if {[sctval [sct parent]] != 0} {return idle}
|
||||
sct update [sct target]
|
||||
}
|
||||
|
||||
proc hepump::get_auto {} {
|
||||
# xds35 only, not for neodry
|
||||
if {[sctval [sct parent]] != 0} {return idle}
|
||||
set auto [hvali [sct]]
|
||||
set oldeco [sctval [sct parent]/eco]
|
||||
|
@ -758,7 +758,7 @@ proc secop::update_ {} {
|
||||
}
|
||||
error_update {
|
||||
lassign $val etype erepr
|
||||
set etext erepr
|
||||
set etext $erepr
|
||||
regexp {.*'(.*)'} $erepr -> etext
|
||||
hsetprop $path geterror "${etype}: $etext"
|
||||
}
|
||||
|
@ -496,10 +496,12 @@ proc trun::read_run {} {
|
||||
}
|
||||
set now [DoubleTime]
|
||||
set tr [silent none sct target]
|
||||
set prev_tr [silent $tr sct prev_tr]
|
||||
sct prev_tr $tr
|
||||
if {$tr eq "none"} {
|
||||
set tr $tmain
|
||||
} else {
|
||||
set dif [expr abs($tr) - [hvali [sct]/target]]
|
||||
set dif [expr $tr - $prev_tr]
|
||||
updateval_u [sct]/target $tr 0
|
||||
set dblmode [silent -1 hval [sct]/dblctrl/mode]
|
||||
if {$dblmode >= 0} { # not disabled
|
||||
|
@ -9,7 +9,7 @@ makenv tt -driver 340_lsc -port @lsc340a {
|
||||
lsc_sensor t2 D -sensor type-c-k1000 -sensorname t2 -alarm 1805
|
||||
# lsc_sensor te B -sensor rhfe4140 -sensorname outer -alarm 323
|
||||
lsc_sensor p A -sensor vacuum -sensorname vacuum
|
||||
lsc_loop set -loop 1 -channel D -maxheater 0.05A -resist 1000Ohm -linearpower 3000
|
||||
lsc_loop set -loop 1 -channel C -maxheater 0.05A -resist 1000Ohm -linearpower 3000
|
||||
hsetprop /tt dblmode disabled
|
||||
hsetprop /tt/dblctrl visible false
|
||||
hdelprop /tt/dblctrl group
|
||||
|
@ -2,7 +2,7 @@ deviceDesc = CCR with JT-stage
|
||||
|
||||
defineTemperature tt
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
makenv tt -driver 336_lsc -port jtccr-ls:7777 {
|
||||
lsc_sensor main A x63710
|
||||
lsc_sensor ccr B x67737
|
||||
lsc_loop set -loop 1 -channel A -maxheater 5W -resist 500Ohm
|
||||
@ -41,8 +41,6 @@ makenv epc epc8210 -port jtccr-ts:3007 {jt-compressor 1 jt-pump 2 ccr-compressor
|
||||
#makenv clt -driver loop -invar "/tt" -outvar "v motpos/set" \
|
||||
# -outmin 0.06 -outmax 0.9 -prop -1 -int 20 -maxdelta 10 -precision 0.01
|
||||
|
||||
#makeCCU4 jtccr n2
|
||||
|
||||
#makenv n2 n2_ccu ccu
|
||||
#appendVars n2.upper/K2/N2_Upper n2.lower/K2/N2_Lower
|
||||
|
||||
|
@ -17,13 +17,11 @@ tt set/limit 310
|
||||
tt set/prop 15
|
||||
tt set/integ 10
|
||||
|
||||
makeCCU4 ma02 nv n2
|
||||
makeCCU4 ma02 nv n2 he_ilm
|
||||
|
||||
hupdate /nv/set 1.2
|
||||
|
||||
makeIps -limit 1.8 -startRamp 0.5 -port ma02-ts:3002
|
||||
|
||||
makeIlm -channels 1 -port ma02-ts:3001
|
||||
makeHeFill ccu4ilm
|
||||
#makeHeFill lev
|
||||
|
||||
|
@ -14,7 +14,7 @@ makenv tt -driver [lsdriver] {
|
||||
}
|
||||
tt set/limit 310
|
||||
|
||||
makeCCU4 ma10 nv_release_blocked
|
||||
makeCCU4 ma10 nv_release_blocked he_ilm
|
||||
hupdate /nv/set 1.8
|
||||
|
||||
makenv mf -driver ipsmag -port ma10-ts:3001 -controller _mf
|
||||
@ -54,7 +54,6 @@ makeN2Fill ccu4ilm {
|
||||
ln2fill minholdhours 12
|
||||
ln2fill maxholdhours 96
|
||||
}
|
||||
makeHeFill ccu4ilm
|
||||
|
||||
# increase motor current
|
||||
cc mc 75
|
||||
|
@ -16,7 +16,7 @@ makenv tt -driver [lsdriver] {
|
||||
}
|
||||
tt set/limit 310
|
||||
|
||||
makeCCU4 ma11 nv
|
||||
makeCCU4 ma11 nv he_ilm
|
||||
hupdate /nv/set 1.5
|
||||
makeN2Fill ccu4ilm {
|
||||
ln2fill lowlevel 30
|
||||
@ -28,7 +28,6 @@ makeN2Fill ccu4ilm {
|
||||
# appendVars ln2fill.smooth/%/N2smooth/13
|
||||
}
|
||||
|
||||
makeHeFill ccu4ilm
|
||||
catch {
|
||||
hefill minfillminutes 20
|
||||
hefill maxfillminutes 60
|
||||
|
@ -15,10 +15,10 @@ tt set/limit 310
|
||||
|
||||
makeCCU4 ma15 nv he_ilm
|
||||
catch {
|
||||
hupdate /nv/set 1.5
|
||||
hupdate /nv/set 1
|
||||
nv ctrl/minpulse_o 0.01
|
||||
nv ctrl/minpulse_c 0.05
|
||||
nv tol 0.02
|
||||
cc mc 75
|
||||
}
|
||||
|
||||
makeIps -limit 14.9 -startRamp 0.31 -port ma15-ts:3002
|
||||
|
@ -27,7 +27,6 @@ makeN2Fill ccu4ilm {
|
||||
ln2fill minholdhours 12
|
||||
ln2fill maxholdhours 96
|
||||
}
|
||||
makeHeFill ccu4ilm
|
||||
|
||||
makeIps -limit 6 -startRamp 0.3844 -port ma6-ts:3002
|
||||
if {[result instrument] eq "tasp"} {
|
||||
|
@ -11,7 +11,7 @@ makenv tt -driver [lsdriver] {
|
||||
}
|
||||
tt set/limit 310
|
||||
makeCCU4 ori3 nv n2 he
|
||||
hupdate /nv/set 1.6
|
||||
hupdate /nv/set 1.2
|
||||
|
||||
source maxi_orange.table
|
||||
|
||||
|
@ -10,7 +10,7 @@ makenv tt -driver [lsdriver] {
|
||||
}
|
||||
tt set/limit 310
|
||||
makeCCU4 ori7 nv n2 he
|
||||
hupdate /nv/set 1.6
|
||||
hupdate /nv/set 0.6
|
||||
|
||||
nv ctrl/prop_o 0.05
|
||||
nv ctrl/prop_c 0.03
|
||||
|
@ -1,6 +1,6 @@
|
||||
addonDesc = Pfeiffer Pressure gauge RS232
|
||||
|
||||
makenv hvac -driver pfeiffertpg -port ldmse3-ts:3005
|
||||
makenv hvac -driver pfeiffertpg
|
||||
|
||||
GraphAdd hvac mbar ivc blue
|
||||
GraphAdd hvac mbar hvac blue
|
||||
|
||||
|
@ -292,7 +292,7 @@ proc book_this {caller args} {
|
||||
}
|
||||
}
|
||||
foreach instr [array names ilist] {
|
||||
$instr / "disconnect_from $caller $ilist($instr)"
|
||||
$instr / disconnect_from $caller $ilist($instr)
|
||||
}
|
||||
}
|
||||
|
||||
@ -306,7 +306,7 @@ proc book_confirm {caller args} {
|
||||
busy_list_add $item $caller
|
||||
lappend rlist [list $item $caller [silent "" result device_list $caller]]
|
||||
}
|
||||
$caller / "reconnect_or_set_busy $rlist"
|
||||
$caller / reconnect_or_set_busy $rlist
|
||||
}
|
||||
|
||||
proc show_item {item} {
|
||||
@ -343,7 +343,7 @@ proc show {{key ""}} {
|
||||
}
|
||||
lappend table($ins) $item
|
||||
}
|
||||
|
||||
|
||||
set result "Instrument Device Connections Requests\n"
|
||||
append result "----------------------------------------------------------------------\n"
|
||||
foreach instr [lsort [array names table]] {
|
||||
@ -394,6 +394,8 @@ namespace eval inst_select {
|
||||
|
||||
clientput "REORDER web_ports"
|
||||
|
||||
set home /home/l_samenv
|
||||
|
||||
foreach itm [web_ports items] {
|
||||
web_ports deleteitem $itm
|
||||
}
|
||||
@ -462,6 +464,17 @@ proc mainGroup {} {
|
||||
Group ports "ports"
|
||||
}
|
||||
|
||||
proc refresh {} {
|
||||
foreach instr [instr_list items] {
|
||||
clientlog "$instr"
|
||||
catch {
|
||||
$instr / save_samenv
|
||||
} msg
|
||||
clientput $msg
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
publish book_this User
|
||||
publish book_request User
|
||||
publish book_confirm User
|
||||
@ -479,3 +492,4 @@ publish rack_not_available_for Spy
|
||||
publish free_instruments Spy
|
||||
publish move_rack_to Spy
|
||||
|
||||
publish refresh Spy
|
||||
|
@ -266,9 +266,12 @@ proc frappy_async_client {} {
|
||||
|
||||
proc get_all_param {args} {
|
||||
foreach obj $args {
|
||||
set hp [get_obj_path $obj]
|
||||
hnotify $hp 1
|
||||
get_param_values $hp
|
||||
catch {
|
||||
set hp [get_obj_path $obj]
|
||||
hnotify $hp 1
|
||||
get_param_values $hp
|
||||
}
|
||||
# todo: create error message on failure
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -26,9 +26,9 @@ proc helium_update {p instrument label value} {
|
||||
# Usage example: _lev updatescript /lev "helium_update prep0v dmc dmc_vessel"
|
||||
catch {
|
||||
if {[silent "" sct geterror] eq ""} {
|
||||
$p / "helium_instr_update $instrument $label $value"
|
||||
$p / helium_instr_update $instrument $label $value
|
||||
} else {
|
||||
$p / "helium_instr_update $instrument $label none"
|
||||
$p / helium_instr_update $instrument $label none
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -15,7 +15,7 @@ proc makeHePump {} {
|
||||
}
|
||||
hset /hepump $type
|
||||
|
||||
if {$type == 0} {
|
||||
if {$type == 0 || $type == 8} {
|
||||
makenv hemot -driver trinamic -base /hepump/ hepump
|
||||
if {[silent 0 result instconfig sensirion]} {
|
||||
makenv nvflow -driver sensirion -controller _hemot
|
||||
|
@ -59,7 +59,8 @@ proc get_rack {{oldrack ""}} {
|
||||
}
|
||||
}
|
||||
}
|
||||
if {$mysubnet ne "office" && [llength $inmynet]} {
|
||||
set hostname [lindex [split [info hostname] .] 0]
|
||||
if {$mysubnet ne "office" && [llength $inmynet] && $hostname eq [result instrument]} {
|
||||
# if any rack is in the instrument subnet, racks in office net are not shown
|
||||
return $inmynet
|
||||
}
|
||||
|
@ -116,7 +116,7 @@ proc disconnect_from {caller args} {
|
||||
}
|
||||
if {[llength $confirm] != 0} {
|
||||
if {$caller ne "0"} {
|
||||
seaman / "book_confirm $caller $confirm"
|
||||
seaman / book_confirm $caller $confirm
|
||||
}
|
||||
}
|
||||
if {$answer eq ""} {
|
||||
@ -133,7 +133,8 @@ proc save_samenv {{dev ""}} {
|
||||
if {$dev eq ""} {
|
||||
set dev [samenv name]
|
||||
}
|
||||
seaman / "samenv_list makeitem [result instrument] $dev"
|
||||
seaman / samenv_list makeitem [result instrument] $dev
|
||||
seaman / rack_list makeitem [rack] [result instrument]
|
||||
}
|
||||
|
||||
publishLazy save_samenv
|
||||
@ -169,7 +170,7 @@ proc request_items {device} {
|
||||
lappend items $hostport
|
||||
}
|
||||
}
|
||||
seaman / "book_request [result instrument] [info hostname]:$serverport $device $items"
|
||||
seaman / book_request [result instrument] [info hostname]:$serverport $device $items
|
||||
set ts_status "Checking serial connections ..."
|
||||
}
|
||||
|
||||
@ -199,7 +200,7 @@ proc reconnect_object {obj {value 0}} {
|
||||
}
|
||||
}
|
||||
if {[is_mobile_port $hostport]} {
|
||||
seaman / "book_request [result instrument] [info hostname]:$serverport PARTIAL $hostport"
|
||||
seaman / book_request [result instrument] [info hostname]:$serverport PARTIAL $hostport
|
||||
set ts_status "Checking serial connection ..."
|
||||
}
|
||||
}
|
||||
@ -249,14 +250,14 @@ proc remote_disconnect {args} {
|
||||
foreach {item instr} $args {
|
||||
set disconnect_time($item) [DoubleTime]
|
||||
}
|
||||
seaman / "book_this [result instrument] $args"
|
||||
seaman / book_this [result instrument] $args
|
||||
}
|
||||
|
||||
proc forced_disconnect {item {value 0}} {
|
||||
global disconnect_time
|
||||
if {$value} {
|
||||
catch {unset disconnect_time($item)}
|
||||
seaman / "book_confirm [result instrument] $item"
|
||||
seaman / book_confirm [result instrument] $item
|
||||
} else {
|
||||
return 0
|
||||
}
|
||||
@ -264,7 +265,7 @@ proc forced_disconnect {item {value 0}} {
|
||||
|
||||
proc remote_device_none {instrument {value 0}} {
|
||||
global disconnect_time
|
||||
seaman / "device_none_on $instrument"
|
||||
seaman / device_none_on $instrument
|
||||
set disconnect_time(0) [DoubleTime]
|
||||
}
|
||||
|
||||
|
@ -14,6 +14,6 @@ tt set/limit 310
|
||||
tt set/prop 20
|
||||
tt set/integ 10
|
||||
makeCCU4 variox nv n2 he
|
||||
hupdate /nv/set 2.5
|
||||
hupdate /nv/set 1.2
|
||||
nv ctrl/minpulse_o 0.01
|
||||
nv ctrl/minpulse_c 0.1
|
||||
|
Reference in New Issue
Block a user