From 1d3bac2eff45cf97a3e545c51692a17cc3090846 Mon Sep 17 00:00:00 2001 From: camea Date: Tue, 19 Sep 2023 11:13:49 +0200 Subject: [PATCH 01/10] dil5.stick is now a secop connection to frappy --- tcl/dil5.stick | 61 +++++++++----------------------------------------- 1 file changed, 10 insertions(+), 51 deletions(-) diff --git a/tcl/dil5.stick b/tcl/dil5.stick index 2200687..3df72ae 100644 --- a/tcl/dil5.stick +++ b/tcl/dil5.stick @@ -1,54 +1,13 @@ -stickDesc = 100 mm dilution +deviceDesc = DIL5 Frappy history recorder -set box linse-dil5 +set ::secop_version 4 -proc triton {kind obj name db col {htrdb ""}} { - upvar box box - makenv $obj -driver itc$kind -port ${box}:33576 -controller _tritondil $db $htrdb - switch $kind { - temp { - GraphAdd $obj K_3 T_$name - # GraphAdd $obj.raw Ohm_3 R_$name - } - press { - GraphAdd $obj mbar_2 p_$name - } - } +set ins [result instrument] +if {[string match "prep*" $ins]} { + set nr [string range $ins end end] + makenv frappy_stick -driver secop -port localhost:1521$nr +} elseif {[lindex [split [info hostname] .] 0] ne $ins} { + error "runs on instruments or prep0-9 only" +} else { + makenv frappy_stick -driver secop -port localhost:15201 } - -proc itcchan {obj name dbt dbh col setcol} { - upvar box box - makenv $obj -driver itctemp -port ${box}:3000 -controller _itcdil ${dbt}.T1 ${dbh}.H1 - GraphAdd $obj K_5 T_$name - GraphAdd $obj.set K_5 T_${name}_set $setcol - # GraphAdd $obj.pow W_3 pow_$name - # GraphAdd $obj.raw Ohm_3 R_$name -} - -itcchan twstill wupstill MB1 MB0 blue cyan - -itcchan tonek oneK DB5 DB3 red orange - -itcchan twmix wupMix DB6 DB1 green lightgreen - -itcchan twivc wupIVC DB7 DB2 magenta violet - -itcchan tcond cond DB8 DB3 yellow grey - -triton temp tsorb sorb T1 dark_violet -triton temp tivc IVC T2 brown -triton temp tstill still T3 orange -triton temp tcp cond T4 grey -triton temp tmix mix T5 cyan H1 - -triton press pdump dump P1 cyan -triton press pcond cond P2 blue -triton press pstill still P3 black -triton press pfore fore P4 green -triton press pback back P5 red - -makenv tmixdrv -driver drvpar /tmix - -defineTemperature tmixdrv - - From 8fcd4f8e1a25b26b3a314fbb3ab92f3b86864c17 Mon Sep 17 00:00:00 2001 From: zebra Date: Thu, 5 Oct 2023 08:22:50 +0200 Subject: [PATCH 02/10] fix stick sensors on reload it seems stick sensors are not installed properly sometimes after restart. fix_stick_sensors is triggered for execution on creation of an lsc object --- tcl/drivers/lsc.tcl | 3 ++- tcl/seacom.tcl | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tcl/drivers/lsc.tcl b/tcl/drivers/lsc.tcl index 176ff80..b89ac9d 100644 --- a/tcl/drivers/lsc.tcl +++ b/tcl/drivers/lsc.tcl @@ -895,7 +895,7 @@ proc lsc::set_curve {} { } #write action, direct -proc lsc::check_header {id} { +proc lsc::check_header {{id unknown}} { upvar #0 lsc::cache_$id cache if {[lsc::hdreq $cache([sct curveno]) [sct result]]} { sct oldhdr [sct result] @@ -4626,6 +4626,7 @@ proc stdConfig::lsc_end {} { if {$lsc(samplesensor) eq ""} { set lsc(samplesensor) $lsc(mainsensor) } + dolater 0 fix_stick_sensors hsetprop $path getcmd "hvali $path/$lsc(mainsensor)" hsetprop $path getsample "hvali $path/$lsc(samplesensor)" if {[silent "" set lsc(setsample)] ne ""} { diff --git a/tcl/seacom.tcl b/tcl/seacom.tcl index eadf5de..b1bfb82 100644 --- a/tcl/seacom.tcl +++ b/tcl/seacom.tcl @@ -652,6 +652,16 @@ proc stick_sensors {sensor1 sensor2} { } } +proc fix_stick_sensors {} { + # fix stick sensors + foreach path {/tt/ts/curve /tt/ts_2/curve} { + set curv [silent "" hval $path] + if {$curv ne ""} { + hset $path $curv + } + } +} + proc ts_sensor {sensor} { catch { catch { From 33296cc03b8ed643b59eb70f132bbbe4a35d9713 Mon Sep 17 00:00:00 2001 From: zebra Date: Thu, 5 Oct 2023 08:24:52 +0200 Subject: [PATCH 03/10] do not trigger error on level reading when inactive --- tcl/drivers/ccu4ext.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcl/drivers/ccu4ext.tcl b/tcl/drivers/ccu4ext.tcl index c3b15d9..5e3e837 100644 --- a/tcl/drivers/ccu4ext.tcl +++ b/tcl/drivers/ccu4ext.tcl @@ -181,7 +181,7 @@ proc ccu4ext::fillExt {type} { set rdpath [hvali [sct]/readpath] set level [hvali $rdpath] set levelerror [silent "" hgetpropval $rdpath geterror] - if {$levelerror ne "" && $errtxt eq ""} { + if {$levelerror ne "" && $errtxt eq "" && [hvali [sct]] < 2} { set errtxt "$txt ($rdpath $levelerror)" } if {$errtxt eq ""} { From 55c17cc04d235493522bbe39bf2848d52225b627 Mon Sep 17 00:00:00 2001 From: zebra Date: Thu, 5 Oct 2023 08:27:21 +0200 Subject: [PATCH 04/10] ma6: increase flow --- .gitignore | 2 ++ tcl/ma6.config | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 87933ac..71cc3c6 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,7 @@ CVS /focus /hifi /hrpt +/hrpt2 /morpheus /poldi /ppms @@ -40,6 +41,7 @@ CVS /seaman /tasp /zebra +/zebra2 /logger_tar cheat_chart tcl/stuff_before_2022 diff --git a/tcl/ma6.config b/tcl/ma6.config index 27c7ad0..7686898 100644 --- a/tcl/ma6.config +++ b/tcl/ma6.config @@ -12,7 +12,7 @@ makenv tt -driver [lsdriver] { lsc_sensor ts_2 C -sensor code -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 20Ohm -color dark_green -loopname sample + lsc_loop setsamp -loop 2 -channel D -maxheater 62.5W -resist 20Ohm -color dark_green -loopname sample } } @@ -20,7 +20,7 @@ makenv tt -driver [lsdriver] { makeCCU4 ma6 nv he_ilm -hupdate /nv/set 1.2 +hupdate /nv/set 1.5 makeN2Fill ccu4ilm { ln2fill lowlevel 10 ln2fill highlevel 100 From 6c4e7989afdb3e62412e8ebd80a3b4b378c11f74 Mon Sep 17 00:00:00 2001 From: zebra Date: Wed, 18 Oct 2023 14:59:23 +0200 Subject: [PATCH 05/10] MA^: stick sample sensor o.k., sensor2 defect --- tcl/ma6.config | 10 +++++----- tcl/ma6.stick | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/tcl/ma6.config b/tcl/ma6.config index 7686898..3c34aef 100644 --- a/tcl/ma6.config +++ b/tcl/ma6.config @@ -5,14 +5,14 @@ device stick_menu "ma6 dil2 dil3 dil4 coil" makenv tt -driver [lsdriver] { lsc_sensor tm A -sensor x48581 -sensorname VTI + lsc_sensor ts C -sensorname sample + lsc_sensor ts_2 D -sensor code -sensorname sample2 # 2023-07-06: sample sensor seems defect, use hx sensor -# lsc_sensor ts C -sensorname sample -# lsc_sensor ts_2 D -sensor code -sensorname sample2 - lsc_sensor ts D -sensorname sample - lsc_sensor ts_2 C -sensor code -sensorname sample2 +# lsc_sensor ts D -sensorname sample +# lsc_sensor ts_2 C -sensor code -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 62.5W -resist 20Ohm -color dark_green -loopname sample + lsc_loop setsamp -loop 2 -channel C -maxheater 62.5W -resist 20Ohm -color dark_green -loopname sample } } diff --git a/tcl/ma6.stick b/tcl/ma6.stick index 9870b81..a1fbd2c 100644 --- a/tcl/ma6.stick +++ b/tcl/ma6.stick @@ -1,4 +1,4 @@ stickDesc = standard MA6 stick -stick_sensors x63163 undefined -# stick_sensors x63161 x63163 +stick_sensors x63161 undefined +#stick_sensors x63161 x63163 # sensor 2 wiring defect From 759f7ac06c38aba45495d0e2fc05d1c6d9a61a5e Mon Sep 17 00:00:00 2001 From: zebra Date: Wed, 18 Oct 2023 15:15:16 +0200 Subject: [PATCH 06/10] fix sitck sensor stuff - code not found in stick table -> must match with code undefined - fix_stick_sensors must use sctval, not hval --- tcl/seacom.tcl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tcl/seacom.tcl b/tcl/seacom.tcl index b1bfb82..260c381 100644 --- a/tcl/seacom.tcl +++ b/tcl/seacom.tcl @@ -628,7 +628,7 @@ proc stick_sensors {sensor1 sensor2} { source config/stick.list if {[string match "code*" $sensor2]} { set code [lindex [split $sensor2=0 =] 1] - set table_code [silent -1 set stick_cfgtable($stick_name)] + set table_code [silent 0 set stick_cfgtable($stick_name)] if {$table_code != $code} { clientput "ERROR: code $code in $stick_name.stick does not match value from config/sticklist: $table_code" } @@ -655,7 +655,7 @@ proc stick_sensors {sensor1 sensor2} { proc fix_stick_sensors {} { # fix stick sensors foreach path {/tt/ts/curve /tt/ts_2/curve} { - set curv [silent "" hval $path] + set curv [silent "" sctval $path] if {$curv ne ""} { hset $path $curv } From 5c5f0d3ef7389569fdbda83cb0cecfefde5bc72e Mon Sep 17 00:00:00 2001 From: sans Date: Tue, 24 Oct 2023 13:13:48 +0200 Subject: [PATCH 07/10] use tt.set.reg instead of tt.target for hepump auto eco if available --- tcl/drivers/hepump.tcl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tcl/drivers/hepump.tcl b/tcl/drivers/hepump.tcl index 5f0a952..1cdeb09 100644 --- a/tcl/drivers/hepump.tcl +++ b/tcl/drivers/hepump.tcl @@ -400,9 +400,10 @@ proc hepump::get_auto {} { if {$auto && $oldeco != 2} { set eco [sctval [sct parent]/eco] set lim [sctval [sct parent]/eco_t_lim 7] - if {[silent 10 hval /tt/target] < $lim && [silent 10 hval /tt] < 2 * $lim} { + set target [silent [silent $lim hval /tt/target] hval /tt/set/reg] + if {$target < $lim && [silent $lim hval /tt] < 2 * $lim} { set ecoset 0 - } elseif {[silent 10 hval /tt/target] > $lim || [silent 10 hval /tt] > 3 * $lim} { + } elseif {$target > $lim || [silent $lim hval /tt] > 3 * $lim} { set ecoset 1 } else { set ecoset $eco From b54a51def2fc44562b653a4e8054b6d02974f207 Mon Sep 17 00:00:00 2001 From: sans Date: Tue, 24 Oct 2023 13:16:22 +0200 Subject: [PATCH 08/10] add flow ctrl hysteresis with automatic nv, do not open nv before value is above 0.5 * (flowmax + flowstd) --- tcl/startup/flow_ctrl.tcl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/tcl/startup/flow_ctrl.tcl b/tcl/startup/flow_ctrl.tcl index a2dc8b0..e63be9c 100644 --- a/tcl/startup/flow_ctrl.tcl +++ b/tcl/startup/flow_ctrl.tcl @@ -30,7 +30,17 @@ proc flow::loop {difget flowget flowset path flowstd flowlim} { set flowtarget $setval } putIntoLimits flowtarget $flowstd $flowlim - hupdate $path/flowtarget $flowtarget + set suppress_auto [silent 0 sct suppress_auto] + if {$suppress_auto || $flowtarget > ($flowstd + $flowlim) * 0.5} { + sct suppress_auto 0 + hupdate $path/flowtarget $flowtarget + } else { + if {$flowtarget < $flowstd + 0.1} { + sct suppress_auto 1 + } else { + hupdate $path/flowtarget $flowtarget + } + } } proc flow::bufferPut {path name var value} { From 7ccc96759eec35573a6b2535bec19e5d0aebc99d Mon Sep 17 00:00:00 2001 From: sans Date: Tue, 24 Oct 2023 13:18:39 +0200 Subject: [PATCH 09/10] catch around setmaintarget --- tcl/drivers/lsc.tcl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tcl/drivers/lsc.tcl b/tcl/drivers/lsc.tcl index 176ff80..e68183a 100644 --- a/tcl/drivers/lsc.tcl +++ b/tcl/drivers/lsc.tcl @@ -2950,7 +2950,9 @@ proc lsc::check_set {} { } if {[silent 0 sct internalset] eq "0"} { if {[silent 0 sct setmaintarget] ne "0"} { - eval "[sct setmaintarget] $target" + if {[catch {eval "[sct setmaintarget] $target"} msg]} { + clientlog "WARNING: $msg" + } } } if {$target == 0} { From a3cefc36c2e860502962f6098362cc319d0ea048 Mon Sep 17 00:00:00 2001 From: dmc Date: Tue, 24 Oct 2023 13:23:31 +0200 Subject: [PATCH 10/10] decrease ma10 std flow --- tcl/ma10.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcl/ma10.config b/tcl/ma10.config index 0b3f939..0ceb1ce 100644 --- a/tcl/ma10.config +++ b/tcl/ma10.config @@ -18,7 +18,7 @@ makeCCU4 ma10 nv_release_blocked he_ilm hefill minfillminutes 20 hefill maxfillminutes 60 -hupdate /nv/set 1.8 +hupdate /nv/set 1.2 makenv mf -driver ipsmag -port ma10-ts:3001 -controller _mf