Merge branch 'master' of gitlab.psi.ch-samenv:samenv/sea
This commit is contained in:
@ -2,7 +2,7 @@ Comment: 30.07.2021, FP and CMN, 16mK--2.3K extrapolated elsewhere
|
|||||||
Sensor Model: RX-1000-BF0.007
|
Sensor Model: RX-1000-BF0.007
|
||||||
Serial Number: U08127
|
Serial Number: U08127
|
||||||
Data Format: 4 (Log Ohms/Kelvin)
|
Data Format: 4 (Log Ohms/Kelvin)
|
||||||
SetPoint Limit: 0.0282 (Kelvin)
|
SetPoint Limit: 20 (Kelvin)
|
||||||
Temperature coefficient: 1 (Negative)
|
Temperature coefficient: 1 (Negative)
|
||||||
Number of Breakpoints: 198
|
Number of Breakpoints: 198
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Sensor Model: RX-1000-BF0.007
|
Sensor Model: RX-1000-BF0.007
|
||||||
Serial Number: U08130
|
Serial Number: U08130
|
||||||
Data Format: 4 (Log Ohms/Kelvin)
|
Data Format: 4 (Log Ohms/Kelvin)
|
||||||
SetPoint Limit: 0.0167 (Kelvin)
|
SetPoint Limit: 10 (Kelvin)
|
||||||
Temperature coefficient: 1 (Negative)
|
Temperature coefficient: 1 (Negative)
|
||||||
Number of Breakpoints: 198
|
Number of Breakpoints: 198
|
||||||
|
|
||||||
|
0
tcl/calcurves/X145791.340
Executable file → Normal file
0
tcl/calcurves/X145791.340
Executable file → Normal file
@ -6,6 +6,8 @@ set diln dil2
|
|||||||
|
|
||||||
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
||||||
|
|
||||||
|
ts auto/pumptime1 3600
|
||||||
|
|
||||||
# lakeshore 370 ctrl
|
# lakeshore 370 ctrl
|
||||||
makenv treg -driver 370_lsc -port ${diln}-ts:3001 {
|
makenv treg -driver 370_lsc -port ${diln}-ts:3001 {
|
||||||
# curves for sample:
|
# curves for sample:
|
||||||
|
@ -6,6 +6,8 @@ set dilts dil3-ts.psi.ch
|
|||||||
|
|
||||||
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
||||||
|
|
||||||
|
ts auto/pumptime1 3600
|
||||||
|
|
||||||
# lakeshore 370 ctrl
|
# lakeshore 370 ctrl
|
||||||
makenv treg -driver 370_lsc -port ${dilts}:3001 {
|
makenv treg -driver 370_lsc -port ${dilts}:3001 {
|
||||||
# curves for sample:
|
# curves for sample:
|
||||||
@ -73,6 +75,6 @@ dil extVersion 1
|
|||||||
catch {default ts control}
|
catch {default ts control}
|
||||||
catch {default ts heaterselect}
|
catch {default ts heaterselect}
|
||||||
|
|
||||||
#makeMotorValve vb ${dilts}:3004
|
makeMotorValve vb ${dilts}:3004
|
||||||
#makeMotorValve vm ${dilts}:3006
|
makeMotorValve vm ${dilts}:3006
|
||||||
|
|
||||||
|
@ -6,6 +6,8 @@ set diln dil4
|
|||||||
|
|
||||||
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
||||||
|
|
||||||
|
ts auto/pumptime1 3600
|
||||||
|
|
||||||
# lakeshore 370 ctrl
|
# lakeshore 370 ctrl
|
||||||
makenv treg -driver 370_lsc -port ${diln}-ts:3001 {
|
makenv treg -driver 370_lsc -port ${diln}-ts:3001 {
|
||||||
# curves for sample:
|
# curves for sample:
|
||||||
|
@ -228,7 +228,7 @@ proc stdConfig::ccu4 {{title CCU4} args} {
|
|||||||
|
|
||||||
node hea out
|
node hea out
|
||||||
prop label "add. He channels"
|
prop label "add. He channels"
|
||||||
prop enum 0,1,6
|
prop enum 0,1,6=6
|
||||||
|
|
||||||
node hch out -int
|
node hch out -int
|
||||||
prop label "LHe channel"
|
prop label "LHe channel"
|
||||||
@ -539,7 +539,13 @@ proc ccu4::update {} {
|
|||||||
set errvar [silent "" hgetpropval [sct]/$name errvar]
|
set errvar [silent "" hgetpropval [sct]/$name errvar]
|
||||||
if {$errvar ne ""} {
|
if {$errvar ne ""} {
|
||||||
set errval [hvali [sct]/$errvar]
|
set errval [hvali [sct]/$errvar]
|
||||||
if {$errval > 0} {
|
if {$errval == 1} {
|
||||||
|
# sens warm
|
||||||
|
updateval [sct]/$name -11
|
||||||
|
} elseif {$errval == 3} {
|
||||||
|
# timeout
|
||||||
|
updateval [sct]/$name 111
|
||||||
|
} elseif {$errval > 0} {
|
||||||
hsetprop [sct]/$name geterror [lindex [split [hgetpropval [sct]/$errvar enum] ,] $errval]
|
hsetprop [sct]/$name geterror [lindex [split [hgetpropval [sct]/$errvar enum] ,] $errval]
|
||||||
hupdate [sct]/$name $value
|
hupdate [sct]/$name $value
|
||||||
} else {
|
} else {
|
||||||
|
@ -41,7 +41,7 @@ proc stdConfig::ccu4flow {args} {
|
|||||||
node flow upd -secop=nvflow
|
node flow upd -secop=nvflow
|
||||||
|
|
||||||
node set out
|
node set out
|
||||||
default 2.0
|
default 1.0
|
||||||
prop check ccu4flow::checkset
|
prop check ccu4flow::checkset
|
||||||
prop write stdSct::complete
|
prop write stdSct::complete
|
||||||
prop label "flow set"
|
prop label "flow set"
|
||||||
@ -89,11 +89,11 @@ proc stdConfig::ccu4flow {args} {
|
|||||||
node hystpulse_c par 0
|
node hystpulse_c par 0
|
||||||
prop help {motor pulse to overcome hysteresis when closing}
|
prop help {motor pulse to overcome hysteresis when closing}
|
||||||
|
|
||||||
node tol par 0.1
|
node tol par 0.25
|
||||||
prop label tolerance
|
prop label tolerance
|
||||||
prop help {valid below 3 mbar}
|
prop help {valid below 3 mbar}
|
||||||
|
|
||||||
node tolhigh par 0.2
|
node tolhigh par 0.5
|
||||||
prop label tol. above 4
|
prop label tol. above 4
|
||||||
prop help {valid above 4 mbar}
|
prop help {valid above 4 mbar}
|
||||||
|
|
||||||
|
@ -798,13 +798,13 @@ proc dil12::autostep {phase init} {
|
|||||||
}
|
}
|
||||||
dil12::check_cool_button
|
dil12::check_cool_button
|
||||||
if {[result dil p1] < [hvali [sct]/p1low] && [result dil g1] < 5 &&
|
if {[result dil p1] < [hvali [sct]/p1low] && [result dil g1] < 5 &&
|
||||||
[result dil p2] < [hvali [sct]/p2low] && [result dil v6pos] > 99} {
|
[result dil p2] < [hvali [sct]/p2low] && [result dil v6pos] > 50} {
|
||||||
if {[sct pumptime] == 0} {
|
if {[sct pumptime] == 0} {
|
||||||
dil12::openvalves v5a v2a v7 v2 v1 v6 v5 v3 vb_open
|
dil12::openvalves v5a v2a v7 v2 v1 v6 v5 v3 vb_open
|
||||||
dil v4a 1
|
dil v4a 1
|
||||||
sct pumptime [expr [DoubleTime] + 105]
|
sct pumptime [expr [DoubleTime] + 105]
|
||||||
dil12::msg "pump for 2 more minutes"
|
dil12::msg "pump for 2 more minutes"
|
||||||
} elseif {[DoubleTime] > [sct pumptime]} {
|
} elseif {[DoubleTime] > [sct pumptime] && [result dil v6pos] > 99} {
|
||||||
# do not check for vb/vm here, as the user already might manipulate the valves
|
# do not check for vb/vm here, as the user already might manipulate the valves
|
||||||
dil12::openvalves v1 v6 v3 v5
|
dil12::openvalves v1 v6 v3 v5
|
||||||
dil v4a 0
|
dil v4a 0
|
||||||
|
@ -27,16 +27,30 @@ proc stdConfig::heliox {} {
|
|||||||
|
|
||||||
node pot_state -text upd
|
node pot_state -text upd
|
||||||
|
|
||||||
node target_hours par 60
|
node target_hours par 48
|
||||||
prop help "how many hours the pot should last (< 75)"
|
prop help "how many hours the pot should last (< 75)"
|
||||||
|
|
||||||
|
node holdflow out
|
||||||
|
default 1.5
|
||||||
|
prop check heliox::check_holdflow
|
||||||
|
prop help "flow for holding pressure"
|
||||||
|
prop write stdSct::complete
|
||||||
|
|
||||||
|
node condenseflow out
|
||||||
|
default 3
|
||||||
|
prop check heliox::check_condenseflow
|
||||||
|
prop help "flow for condensing"
|
||||||
|
prop write stdSct::complete
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
hsetprop /tt getsample hvali /ts/pot
|
hsetprop /tt getsample hvali /th/pot
|
||||||
} msg
|
} msg
|
||||||
clientput $msg
|
clientput $msg
|
||||||
}
|
}
|
||||||
|
|
||||||
proc heliox::check_set {} {
|
proc heliox::check_set {} {
|
||||||
|
# save for later
|
||||||
|
sct goto [sct target]
|
||||||
if {[sct target] < 1.6} {
|
if {[sct target] < 1.6} {
|
||||||
set condense_text ""
|
set condense_text ""
|
||||||
if {[hvali [sct]/lasts_until] > [DoubleTime]} {
|
if {[hvali [sct]/lasts_until] > [DoubleTime]} {
|
||||||
@ -49,7 +63,7 @@ proc heliox::check_set {} {
|
|||||||
hupdate [sct]/mode 4
|
hupdate [sct]/mode 4
|
||||||
set condense_text "started"
|
set condense_text "started"
|
||||||
}
|
}
|
||||||
sct goto [sct target]
|
# sct goto [sct target]
|
||||||
if {$condense_text ne ""} {
|
if {$condense_text ne ""} {
|
||||||
sct print "going to [sct target] K might take a while - condense process is $condense_text"
|
sct print "going to [sct target] K might take a while - condense process is $condense_text"
|
||||||
}
|
}
|
||||||
@ -65,7 +79,7 @@ proc heliox::check_set {} {
|
|||||||
set mainsensor /th/pot
|
set mainsensor /th/pot
|
||||||
switch [sctval [sct]/mode] {
|
switch [sctval [sct]/mode] {
|
||||||
1 {
|
1 {
|
||||||
nv set 2.5
|
nv set [hvali [sct]/holdflow]
|
||||||
th setsorb/channel C
|
th setsorb/channel C
|
||||||
th setsorb 20
|
th setsorb 20
|
||||||
th mainloop set
|
th mainloop set
|
||||||
@ -73,7 +87,7 @@ proc heliox::check_set {} {
|
|||||||
run tt [sct target]
|
run tt [sct target]
|
||||||
}
|
}
|
||||||
2 {
|
2 {
|
||||||
nv set 2.5
|
nv set [hvali [sct]/holdflow]
|
||||||
th setsorb/channel C
|
th setsorb/channel C
|
||||||
th setsorb 20
|
th setsorb 20
|
||||||
th mainloop set
|
th mainloop set
|
||||||
@ -82,7 +96,7 @@ proc heliox::check_set {} {
|
|||||||
th set [sct target]
|
th set [sct target]
|
||||||
}
|
}
|
||||||
3 {
|
3 {
|
||||||
nv set 2.5
|
nv set [hvali [sct]/holdflow]
|
||||||
th setsorb/channel B
|
th setsorb/channel B
|
||||||
th mainloop setsorb
|
th mainloop setsorb
|
||||||
th set 0
|
th set 0
|
||||||
@ -111,13 +125,14 @@ proc heliox::check_set {} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc heliox::setmainsensor {mainsensor} {
|
proc heliox::setmainsensor {mainsensor} {
|
||||||
set old [silent "" hgetpropval [sct objectPath] mainsensor]
|
if {$mainsensor eq "/th/low"} {
|
||||||
if {$mainsensor ne $old} {
|
set old /th/pot
|
||||||
if {$old ne ""} {
|
} else {
|
||||||
|
set old /th/low
|
||||||
|
}
|
||||||
catch {[sct controller] killupdatescript $old "updateval [sct objectPath]"}
|
catch {[sct controller] killupdatescript $old "updateval [sct objectPath]"}
|
||||||
}
|
|
||||||
[sct controller] updatescript $mainsensor "updateval [sct objectPath]"
|
[sct controller] updatescript $mainsensor "updateval [sct objectPath]"
|
||||||
}
|
hsetprop [sct objectPath] mainsensor $mainsensor
|
||||||
}
|
}
|
||||||
|
|
||||||
proc heliox::check_mode {} {
|
proc heliox::check_mode {} {
|
||||||
@ -126,7 +141,7 @@ proc heliox::check_mode {} {
|
|||||||
0 {
|
0 {
|
||||||
}
|
}
|
||||||
1 {
|
1 {
|
||||||
nv set 2.5
|
nv set [hvali [sct parent]/holdflow]
|
||||||
if {[sct target] != [hvali [sct]]} {
|
if {[sct target] != [hvali [sct]]} {
|
||||||
th set [hvali /th/target]
|
th set [hvali /th/target]
|
||||||
}
|
}
|
||||||
@ -136,7 +151,7 @@ proc heliox::check_mode {} {
|
|||||||
set state "hi-T mode"
|
set state "hi-T mode"
|
||||||
}
|
}
|
||||||
2 {
|
2 {
|
||||||
nv set 2.5
|
nv set [hvali [sct parent]/holdflow]
|
||||||
if {[sct target] != [hvali [sct]]} {
|
if {[sct target] != [hvali [sct]]} {
|
||||||
th set [hvali /th/target]
|
th set [hvali /th/target]
|
||||||
}
|
}
|
||||||
@ -146,7 +161,7 @@ proc heliox::check_mode {} {
|
|||||||
set state "mid-T mode"
|
set state "mid-T mode"
|
||||||
}
|
}
|
||||||
3 {
|
3 {
|
||||||
nv set 2.5
|
nv set [hvali [sct parent]/holdflow]
|
||||||
if {[hvali [sct parent]/lasts_until] > [DoubleTime]} {
|
if {[hvali [sct parent]/lasts_until] > [DoubleTime]} {
|
||||||
th set 0
|
th set 0
|
||||||
th setsorb/channel B
|
th setsorb/channel B
|
||||||
@ -178,6 +193,20 @@ proc heliox::check_mode {} {
|
|||||||
sct update [sct target]
|
sct update [sct target]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc heliox::check_condenseflow {} {
|
||||||
|
if {[sctval [sct parent]/mode] == 4} {
|
||||||
|
nv set [sct target]
|
||||||
|
}
|
||||||
|
sct update [sct target]
|
||||||
|
}
|
||||||
|
|
||||||
|
proc heliox::check_holdflow {} {
|
||||||
|
if {[sctval [sct parent]/mode] != 4} {
|
||||||
|
nv set [sct target]
|
||||||
|
}
|
||||||
|
sct update [sct target]
|
||||||
|
}
|
||||||
|
|
||||||
proc heliox::complete {} {
|
proc heliox::complete {} {
|
||||||
sct print [lindex {undefined "hi-T mode" "mid-T mode" "low-T mode" "-> condense"} [sct target]]
|
sct print [lindex {undefined "hi-T mode" "mid-T mode" "low-T mode" "-> condense"} [sct target]]
|
||||||
return idle
|
return idle
|
||||||
@ -215,11 +244,11 @@ proc heliox::read {} {
|
|||||||
}
|
}
|
||||||
if {[hvali [sct]] == 4} {
|
if {[hvali [sct]] == 4} {
|
||||||
if {$ts > 3} {
|
if {$ts > 3} {
|
||||||
nv set 4
|
nv set [hvali [sct parent]/condenseflow]
|
||||||
set lasts_until 0
|
set lasts_until 0
|
||||||
sct condense_deadline [expr $now + 36000] # timeout: should be 3600
|
sct condense_deadline [expr $now + 36000] # timeout: should be 3600
|
||||||
} elseif {[result th sorb] > 39} {
|
} elseif {[result th sorb] > 39} {
|
||||||
nv set 4
|
nv set [hvali [sct parent]/condenseflow]
|
||||||
# 3He vapor pressure: 200 mbar at 2 K, power law
|
# 3He vapor pressure: 200 mbar at 2 K, power law
|
||||||
set p [expr 200 * ($ts / 2.0) ** 3.5]
|
set p [expr 200 * ($ts / 2.0) ** 3.5]
|
||||||
# dump pressure at condensation start
|
# dump pressure at condensation start
|
||||||
@ -241,8 +270,9 @@ proc heliox::read {} {
|
|||||||
th setsorb/channel B
|
th setsorb/channel B
|
||||||
th mainloop setsorb
|
th mainloop setsorb
|
||||||
th setsorb [silent 0.25 hgetpropval [sct parent] goto]
|
th setsorb [silent 0.25 hgetpropval [sct parent] goto]
|
||||||
sct update 3
|
# switch to lowT and trigger check_mode
|
||||||
nv set 2.5
|
hset [sct] 3
|
||||||
|
nv set [hvali [sct parent]/holdflow]
|
||||||
clientput "the 3He pot [hvali [sct parent]/pot_state]"
|
clientput "the 3He pot [hvali [sct parent]/pot_state]"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -303,7 +303,7 @@ proc ipsmag::update_leads {{n_of_slaves 3}} {
|
|||||||
set msg "slave currents ($currents) are not within $mincur .. $maxcur"
|
set msg "slave currents ($currents) are not within $mincur .. $maxcur"
|
||||||
hupdate [sct objectPath]/status $msg
|
hupdate [sct objectPath]/status $msg
|
||||||
if {$status eq ""} {
|
if {$status eq ""} {
|
||||||
# clientlog "ERROR: $msg"
|
clientlog "WARNING: $msg"
|
||||||
}
|
}
|
||||||
} elseif {[string match {slave currents *} $status]} {
|
} elseif {[string match {slave currents *} $status]} {
|
||||||
hupdate [sct objectPath]/status ""
|
hupdate [sct objectPath]/status ""
|
||||||
|
@ -45,8 +45,8 @@ proc luft::writeCf {} {
|
|||||||
} else {
|
} else {
|
||||||
luft::set_error "epics error: $val $errtxt"
|
luft::set_error "epics error: $val $errtxt"
|
||||||
}
|
}
|
||||||
if {[scan [lindex [sct target] 0] %d period]} {
|
catch {
|
||||||
sct timeout [expr [clock seconds] + $period + 10]
|
sct timeout [expr [clock seconds] + $timeout + 10]
|
||||||
}
|
}
|
||||||
return idle
|
return idle
|
||||||
}
|
}
|
||||||
|
@ -618,12 +618,12 @@ proc secop::update_ {} {
|
|||||||
hsetprop $objpath status posfault
|
hsetprop $objpath status posfault
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if {[silent idle hgetpropval $objpath status] eq "run" && $writestatus ne "done"
|
# if {[silent idle hgetpropval $objpath status] eq "run" && $writestatus ne "done"
|
||||||
&& ($value < 300 || $value >= 390)} {
|
# && ($value < 300 || $value >= 390)} {
|
||||||
clientput "$objpath/target changed, but status not BUSY: $value $text_value ($writestatus)"
|
# clientput "$objpath/target changed, but status not BUSY: $value $text_value ($writestatus)"
|
||||||
set value 300
|
# set value 300
|
||||||
set text_value "target changed ($text_value)"
|
# set text_value "target changed ($text_value)"
|
||||||
}
|
# }
|
||||||
if {$value < 300 || $value >= 390} { # not busy or finalizing
|
if {$value < 300 || $value >= 390} { # not busy or finalizing
|
||||||
hsetprop $objpath status idle
|
hsetprop $objpath status idle
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,6 @@ makenv tt -driver [lsdriver] {
|
|||||||
}
|
}
|
||||||
tt set/limit 310
|
tt set/limit 310
|
||||||
makeCCU4 ill2 nv n2 he
|
makeCCU4 ill2 nv n2 he
|
||||||
hupdate /nv/set 2.0
|
hupdate /nv/set 1.0
|
||||||
|
|
||||||
source std_orange.table
|
source std_orange.table
|
||||||
|
@ -11,6 +11,7 @@ makenv tt -driver [lsdriver] {
|
|||||||
}
|
}
|
||||||
tt set/limit 310
|
tt set/limit 310
|
||||||
makeCCU4 ill5 nv n2 he
|
makeCCU4 ill5 nv n2 he
|
||||||
|
nv set 1
|
||||||
|
|
||||||
source maxi_orange.table
|
source maxi_orange.table
|
||||||
|
|
||||||
|
@ -32,6 +32,7 @@ makenv pccu -driver ccu4 pressure_ccu
|
|||||||
makenv p -driver ccupressure pccu 28
|
makenv p -driver ccupressure pccu 28
|
||||||
GraphAdd p bar p auto
|
GraphAdd p bar p auto
|
||||||
|
|
||||||
|
# needed for TASMAD: must be drivable
|
||||||
makenv i1 -driver drvpar /p
|
makenv i1 -driver drvpar /p
|
||||||
|
|
||||||
hsetprop /tc group "capillary temperature"
|
hsetprop /tc group "capillary temperature"
|
||||||
|
@ -3,3 +3,4 @@ instconfig makeitem n2fill 1
|
|||||||
instconfig makeitem hefill 1
|
instconfig makeitem hefill 1
|
||||||
# he vessel with RS232
|
# he vessel with RS232
|
||||||
instconfig makeitem hevessel 1
|
instconfig makeitem hevessel 1
|
||||||
|
instconfig makeitem sensirion 1
|
||||||
|
@ -16,6 +16,7 @@ proc readpipe {} {
|
|||||||
puts stdout "> $line"
|
puts stdout "> $line"
|
||||||
}
|
}
|
||||||
if {[eof $sea(pipe)]} {
|
if {[eof $sea(pipe)]} {
|
||||||
|
puts stdout EOF
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
lassign $line adr date time value
|
lassign $line adr date time value
|
||||||
@ -65,7 +66,12 @@ set env(EPICS_CA_AUTO_ADDR_LIST) NO
|
|||||||
set env(PATH) $env(PATH):/afs/psi.ch/project/sinq/rhel7/stow/base-3.15.5/bin/linux-x86_64-debug/
|
set env(PATH) $env(PATH):/afs/psi.ch/project/sinq/rhel7/stow/base-3.15.5/bin/linux-x86_64-debug/
|
||||||
|
|
||||||
set sea(debug) [lindex "$argv 0" 0]
|
set sea(debug) [lindex "$argv 0" 0]
|
||||||
|
if {$sea(debug) eq "1"} {
|
||||||
|
set sea(heartbeat) 20
|
||||||
|
} else {
|
||||||
set sea(heartbeat) 300
|
set sea(heartbeat) 300
|
||||||
|
set sea(debug) 0
|
||||||
|
}
|
||||||
|
|
||||||
# connect to sea server prep0
|
# connect to sea server prep0
|
||||||
set sea(sock) [socket samenv.psi.ch 8640]
|
set sea(sock) [socket samenv.psi.ch 8640]
|
||||||
@ -78,15 +84,14 @@ if {$sea(debug)} {
|
|||||||
set cmd "/afs/psi.ch/project/sinq/rhel7/stow/base-3.15.5/bin/linux-x86_64-debug/camonitor [array names values]"
|
set cmd "/afs/psi.ch/project/sinq/rhel7/stow/base-3.15.5/bin/linux-x86_64-debug/camonitor [array names values]"
|
||||||
|
|
||||||
set ret [catch {set proc [exec ps ax -o pid,args | grep $cmd]} msg]
|
set ret [catch {set proc [exec ps ax -o pid,args | grep $cmd]} msg]
|
||||||
|
set killed [list]
|
||||||
if {$ret == 0} {
|
if {$ret == 0} {
|
||||||
foreach line [split $proc "\n"] {
|
foreach line [split $proc "\n"] {
|
||||||
set l [split [string trim $line]]
|
set l [split [string trim $line]]
|
||||||
set c [lrange $l 1 end]
|
set c [lrange $l 1 end]
|
||||||
if {"$c" eq "$cmd"} {
|
if {"$c" eq "$cmd"} {
|
||||||
# process was still running
|
# process was still running
|
||||||
if {$sea(debug)} {
|
lappend killed [lindex $l 0]
|
||||||
puts stdout "kill $proc ($c)"
|
|
||||||
}
|
|
||||||
exec kill -9 [lindex $l 0]
|
exec kill -9 [lindex $l 0]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -95,5 +100,15 @@ if {$ret == 0} {
|
|||||||
set sea(pipe) [open "|$cmd" r]
|
set sea(pipe) [open "|$cmd" r]
|
||||||
fileevent $sea(pipe) readable readpipe
|
fileevent $sea(pipe) readable readpipe
|
||||||
|
|
||||||
puts stdout [pid $sea(pipe)]
|
set mypid [pid $sea(pipe)]
|
||||||
|
set f [open $env(HOME)/monitfiles/luft_camonitor.pid w]
|
||||||
|
puts $f $mypid
|
||||||
|
close $f
|
||||||
|
|
||||||
|
puts stdout $mypid
|
||||||
|
if {[llength $killed] > 0 && $sea(debug)} {
|
||||||
|
puts stdout "killed $killed"
|
||||||
|
}
|
||||||
|
|
||||||
|
seacom "clientlog luft started"
|
||||||
vwait forever
|
vwait forever
|
||||||
|
@ -19,7 +19,7 @@ tt set/integ 10
|
|||||||
|
|
||||||
makeCCU4 ma02 nv n2
|
makeCCU4 ma02 nv n2
|
||||||
|
|
||||||
hupdate /nv/set 1.8
|
hupdate /nv/set 1.2
|
||||||
|
|
||||||
makeIps -limit 1.8 -startRamp 0.5 -port ma02-ts:3002
|
makeIps -limit 1.8 -startRamp 0.5 -port ma02-ts:3002
|
||||||
|
|
||||||
|
@ -38,6 +38,8 @@ mf gen/limit 10
|
|||||||
|
|
||||||
mf gen/wait_switch_on 15
|
mf gen/wait_switch_on 15
|
||||||
mf gen/wait_switch_off 30
|
mf gen/wait_switch_off 30
|
||||||
|
mf gen/wait_stable_leads 5
|
||||||
|
mf gen/wait_stable_field 15
|
||||||
|
|
||||||
makeIpsLev -port ma10-ts:3001 -controller _mf
|
makeIpsLev -port ma10-ts:3001 -controller _mf
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@ makenv tt -driver [lsdriver] {
|
|||||||
|
|
||||||
#tt set/limit 310
|
#tt set/limit 310
|
||||||
|
|
||||||
makeCCU4 ma6 nv
|
makeCCU4 ma6 nv he_ilm
|
||||||
hupdate /nv/set 2.0
|
hupdate /nv/set 1.2
|
||||||
makeN2Fill ccu4ilm {
|
makeN2Fill ccu4ilm {
|
||||||
ln2fill lowlevel 10
|
ln2fill lowlevel 10
|
||||||
ln2fill highlevel 100
|
ln2fill highlevel 100
|
||||||
@ -29,6 +29,9 @@ makeN2Fill ccu4ilm {
|
|||||||
makeHeFill ccu4ilm
|
makeHeFill ccu4ilm
|
||||||
|
|
||||||
makeIps -limit 6 -startRamp 0.3844 -port ma6-ts:3002
|
makeIps -limit 6 -startRamp 0.3844 -port ma6-ts:3002
|
||||||
|
if {[result instrument] eq "tasp"} {
|
||||||
|
mf limit 4
|
||||||
|
}
|
||||||
|
|
||||||
makeIlm -channels 2 -port ma6-ts:3001
|
makeIlm -channels 2 -port ma6-ts:3001
|
||||||
|
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
stickDesc = standard MA6 stick
|
stickDesc = standard MA6 stick
|
||||||
|
|
||||||
stick_sensors x63161 x63163
|
stick_sensors x63161 undefined
|
||||||
|
@ -81,12 +81,20 @@ proc makeCCU4 {args} {
|
|||||||
helium_register _cc /cc/h0 vessel
|
helium_register _cc /cc/h0 vessel
|
||||||
if {$vessel ne "0"} {
|
if {$vessel ne "0"} {
|
||||||
catch {cc hea 1}
|
catch {cc hea 1}
|
||||||
|
catch {cc hem0 475}
|
||||||
|
catch {cc hfu0 0}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
helium_register _cc /cc/h
|
helium_register _cc /cc/h
|
||||||
}
|
}
|
||||||
he_ilm {
|
he_ilm {
|
||||||
makenv hefill -driver ccu4ext he lev
|
makenv hefill -driver ccu4ext he lev
|
||||||
|
set vessel [silent 0 result instconfig hevessel]
|
||||||
|
if {$vessel ne "0"} {
|
||||||
|
catch {cc hea 1}
|
||||||
|
catch {cc hem0 475}
|
||||||
|
catch {cc hfu0 0}
|
||||||
|
}
|
||||||
GraphAdd lev % He_Level brown
|
GraphAdd lev % He_Level brown
|
||||||
GraphAdd cc.h0 % HeVessel blue
|
GraphAdd cc.h0 % HeVessel blue
|
||||||
hsetprop /hefill fast_cmd "lev mode 1\ncc hf 1"
|
hsetprop /hefill fast_cmd "lev mode 1\ncc hf 1"
|
||||||
|
Reference in New Issue
Block a user