Merge branch 'master' of gitlab.psi.ch-samenv:samenv/sea
This commit is contained in:
25
tcl/Bernina_cryochamber.config
Normal file
25
tcl/Bernina_cryochamber.config
Normal file
@ -0,0 +1,25 @@
|
||||
deviceDesc = Bernina cryochamber
|
||||
|
||||
makenv tt -driver 336_lsc {
|
||||
lsc_sensor ta A -sensor X71737 -sensorname Cernox
|
||||
lsc_sensor tb B -sensor dt-670 -sensorname Diode
|
||||
lsc_loop set -loop 1 -channel A -maxheater 0.7A -resist 27Ohm -color green
|
||||
}
|
||||
|
||||
tt set/prop 25
|
||||
tt set/integ 20
|
||||
tt dblctrl/int2 100
|
||||
|
||||
|
||||
#makeCCU4 lollyp he
|
||||
#cc hav 1
|
||||
#cc hea 1
|
||||
|
||||
#nv ctrl/adjust_minpulse 0
|
||||
#nv ctrl/openpulse 0
|
||||
#nv ctrl/prop_o 0.5
|
||||
#nv ctrl/prop_c 0.5
|
||||
|
||||
#hupdate /hepump 3
|
||||
#hepump calib 1
|
||||
#dolater 1 hepump 3
|
12
tcl/OOspec.addon
Normal file
12
tcl/OOspec.addon
Normal file
@ -0,0 +1,12 @@
|
||||
addonDesc = Ocean Optics Spectrometer
|
||||
makenv Spec -driver OOspec
|
||||
|
||||
GraphAdd Spec.peak1 nm P1 auto
|
||||
GraphAdd Spec.peak2 nm P2 auto
|
||||
GraphAdd Spec.peak3 nm P3 auto
|
||||
GraphAdd Spec.peak4 nm P4 auto
|
||||
GraphAdd Spec.peak5 nm P5 auto
|
||||
GraphAdd Spec.peak6 nm P6 auto
|
||||
GraphAdd Spec.peak7 nm P7 auto
|
||||
GraphAdd Spec.peak8 nm P8 auto
|
||||
|
11
tcl/archive/ACM.config
Normal file
11
tcl/archive/ACM.config
Normal file
@ -0,0 +1,11 @@
|
||||
deviceDesc = ACM 45
|
||||
|
||||
|
||||
|
||||
#--ACM Levelmeter---
|
||||
|
||||
makenv cap acm
|
||||
|
||||
|
||||
|
||||
GraphAdd cap pF R dark_green
|
4
tcl/archive/AH2700.config
Normal file
4
tcl/archive/AH2700.config
Normal file
@ -0,0 +1,4 @@
|
||||
deviceDesc = Andeen Hagerling 2700
|
||||
|
||||
makenv cap -driver ah2700 -port ldmcc13-ts:3006
|
||||
|
5
tcl/archive/SRlockin.config
Normal file
5
tcl/archive/SRlockin.config
Normal file
@ -0,0 +1,5 @@
|
||||
deviceDesc = lock-in 7265_7270
|
||||
|
||||
makenv la lockin
|
||||
appendVars la.x/mV/X la.y/mV/Y la/Hz/freq la.amp/uV/Amp
|
||||
|
5
tcl/archive/anders.config
Normal file
5
tcl/archive/anders.config
Normal file
@ -0,0 +1,5 @@
|
||||
deviceDesc = anders special device
|
||||
|
||||
defineTemperature tc
|
||||
|
||||
makenv tc -driver anders
|
6
tcl/archive/asm120h.addon
Normal file
6
tcl/archive/asm120h.addon
Normal file
@ -0,0 +1,6 @@
|
||||
addonDesc = asm120h leak detector with fluke 45
|
||||
|
||||
makenv voltage fluke45
|
||||
hsetprop /voltage expr {$x -9}
|
||||
|
||||
GraphAdd voltage.calc log-mbar-l-s leak_rate dark_green
|
6
tcl/archive/asm142.addon
Normal file
6
tcl/archive/asm142.addon
Normal file
@ -0,0 +1,6 @@
|
||||
addonDesc = asm142 leak detector with moxa nport 5130a
|
||||
|
||||
makenv ld asm142 -port asm142.psi.ch:3001
|
||||
|
||||
GraphAdd ld log-mbar-l-s leak_rate dark_green
|
||||
#GraphAdd ld log-mbar-l-s leak_rate dark_green
|
5
tcl/archive/asm340.addon
Normal file
5
tcl/archive/asm340.addon
Normal file
@ -0,0 +1,5 @@
|
||||
addonDesc = asm340 leak detector
|
||||
|
||||
makenv ld asm340
|
||||
|
||||
GraphAdd ld mbar.l/s leak_rate dark_green
|
8
tcl/archive/avs2.addon
Normal file
8
tcl/archive/avs2.addon
Normal file
@ -0,0 +1,8 @@
|
||||
addonDesc = AVS 2 bridges
|
||||
|
||||
makenv r1 avs -port Prologix-00-21-69-01-1b-34:1234
|
||||
makenv r2 avs -port Prologix-00-21-69-01-19-57:1234
|
||||
|
||||
GraphAdd r1/Ohm/R1/auto
|
||||
GraphAdd r2/Ohm/R2/auto
|
||||
|
7
tcl/archive/bunker.addon
Normal file
7
tcl/archive/bunker.addon
Normal file
@ -0,0 +1,7 @@
|
||||
addonDesc = bunker room T monitor
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor source A -sensor pt-1000
|
||||
lsc_sensor mid B -sensor pt-1000
|
||||
lsc_sensor instr C -sensor pt-1000
|
||||
}
|
14
tcl/archive/bunker.config
Normal file
14
tcl/archive/bunker.config
Normal file
@ -0,0 +1,14 @@
|
||||
deviceDesc = bunker room T monitor
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor SEL_1 A -sensor pt-1000 -sensorname Selene_2
|
||||
lsc_sensor SEL_2 B -sensor pt-1000 -sensorname Selene_1
|
||||
lsc_sensor MK10_1 C -sensor type-k -sensorname MK10_1
|
||||
lsc_sensor MK10_3 D -sensor type-k -sensorname MK10_3
|
||||
}
|
||||
|
||||
#GraphAdd tt.SEL_1 K Selene_1
|
||||
#GraphAdd tt.SEL_2 K Selene_2
|
||||
#GraphAdd tt.MK10_1 K MK10_1
|
||||
#GraphAdd tt.MK10_3 K MK10_3
|
||||
|
11
tcl/archive/calib_old.stick
Normal file
11
tcl/archive/calib_old.stick
Normal file
@ -0,0 +1,11 @@
|
||||
stickDesc = 50 mm calibration stick (ORI1/ORI2/ILL1), old version with calib370 driver
|
||||
|
||||
makenv r -driver calib370
|
||||
|
||||
GraphAdd res.s1 Ohm R1
|
||||
GraphAdd res.s2 Ohm R2
|
||||
GraphAdd res.s2 Ohm R3
|
||||
GraphAdd res.s3 Ohm R4
|
||||
GraphAdd res.s4 Ohm R5
|
||||
GraphAdd res.s5 Ohm R6
|
||||
|
77
tcl/archive/dil3gonio.stick
Normal file
77
tcl/archive/dil3gonio.stick
Normal file
@ -0,0 +1,77 @@
|
||||
stickDesc = dilution insert (added gonio T on channel 2)
|
||||
|
||||
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon
|
||||
|
||||
stick_sensors undefined undefined
|
||||
|
||||
# lakeshore 370 ctrl
|
||||
makenv treg -driver 370_lsc -port dil3-ts:3001 {
|
||||
# curves for sample:
|
||||
# u02045 normal dil2 holder
|
||||
# m59 old dil2 weak link
|
||||
# ruoxben1k weak link with test ring heater
|
||||
# ruox5k weak link with test ring heater
|
||||
# standard ch6 cx262 (new sensor from Sep2014)
|
||||
# heater/thermo ch8 rx262 (new field insensitive sensor Sep2014)
|
||||
|
||||
lsc_sensor sample -channel 6 -sensor cx262 -active 0 -excitation 20uV \
|
||||
-color blue
|
||||
lsc_sensor mix -channel 5 -sensor ruoxm0 -active 1 -excitation 20uV \
|
||||
-color cyan
|
||||
lsc_sensor samplehtr -channel 8 -sensor rx262 -active 0 -excitation 20uV \
|
||||
-color black
|
||||
|
||||
# weaklink heater
|
||||
lsc_loop set -channel 5 -maxheater 31mA -resist 316 -linearpower 0.2e-3
|
||||
GraphAdd treg.set.reg K T_set dark_green
|
||||
GraphAdd treg.set.power W Htr_Power dark_green
|
||||
}
|
||||
# fix a bug (in the 370?): set the HRTRNG to 7 (31mA) when needed
|
||||
hsetprop /treg/set fix_range 7
|
||||
|
||||
# lakeshore 370 monitor
|
||||
makenv tmon -driver 370_lsc -port dil3-ts:3003 {
|
||||
lsc_sensor sorb -channel 12 -sensor c270 -excitation 2mV -color dark_violet
|
||||
lsc_sensor onek -channel 11 -sensor ruoxm0 -excitation 2mV -color yellow
|
||||
lsc_sensor stillt -channel 10 -sensor ruoxm0 -excitation 200uV -color orange
|
||||
lsc_sensor goniot -channel 2 -sensor gonio -excitation 20uV -color red
|
||||
lsc_sensor sample 3 clone
|
||||
lsc_sensor samplehtr 1 clone
|
||||
lsc_sensor mix 4 clone
|
||||
}
|
||||
|
||||
proc graphvti {} {
|
||||
GraphItem shown tt.ts 0
|
||||
GraphItem label tt.set.reg VTI_reg
|
||||
GraphItem label tt.set.power VTI_power
|
||||
}
|
||||
dolater 0 graphvti
|
||||
|
||||
tt ts/curve undefined
|
||||
hsetprop /tt group "VTI temperature"
|
||||
|
||||
makeDil -port dil3-ts:3005
|
||||
|
||||
makenv sorb -driver piloop -invar "/tmon/sorb" -outvar "dil psorb" \
|
||||
-prop 200 -int 15
|
||||
|
||||
makenv n2trap -driver n2_ccu -port dil3-ts:3007 "trap level" trap
|
||||
|
||||
# control on mix by default (todo: check for unknown first/check default mechanism)
|
||||
ts control 6
|
||||
treg set/deriv 0
|
||||
|
||||
# Sept 2015: we have too much mixture in the dump:
|
||||
ts auto/dumptarget 150
|
||||
|
||||
defineTemperature ts
|
||||
|
||||
dil extVersion 0
|
||||
|
||||
# take last selected values when doing samenv reload
|
||||
catch {default ts control}
|
||||
catch {default ts heaterselect}
|
||||
|
||||
# _treg updatescript /treg/sample "lsc::updatesensor370 /ts"
|
||||
# makenv td -driver loop -invar "/tmon/sample" -outvar "treg set" -prop 1 -int 100 -outmax 1
|
||||
|
76
tcl/archive/dil4pluschan2.stick
Normal file
76
tcl/archive/dil4pluschan2.stick
Normal file
@ -0,0 +1,76 @@
|
||||
stickDesc = dilution insert (added channels 2 blue, 9 yellow, 16 red)
|
||||
|
||||
stick_sensors undefined undefined
|
||||
|
||||
makenv ts -driver dil12 -reg370 /treg -mon370 /tmon -hasturbo 1
|
||||
|
||||
# lakeshore 370 ctrl
|
||||
makenv treg -driver 370_lsc -port dil4-ts:3001 {
|
||||
# curves for sample:
|
||||
# u02045 normal dil2 holder
|
||||
# m59 weak link 2
|
||||
# ruoxben1k weak link with test ring heater
|
||||
# ruox5k weak link with test ring heater
|
||||
# standard ch6 cx078 (new sensor from Sep2014)
|
||||
# heater/thermo ch8 rx078 (new field insensitive sensor Sep2014)
|
||||
|
||||
lsc_sensor sample -channel 6 -sensor cx078 -active 0 -excitation 20uV \
|
||||
-color blue
|
||||
lsc_sensor mix -channel 5 -sensor ruoxm0 -active 1 -excitation 20uV \
|
||||
-color cyan
|
||||
lsc_sensor samplehtr -channel 8 -sensor rx078 -active 0 -excitation 20uV \
|
||||
-color black
|
||||
|
||||
# weaklink heater
|
||||
lsc_loop set -channel 5 -maxheater 31mA -resist 316 -linearpower 0.2e-3
|
||||
GraphAdd treg.set.reg K T_set dark_green
|
||||
GraphAdd treg.set.power W Htr_Power dark_green
|
||||
}
|
||||
# fix a bug (in the 370?): set the HRTRNG to 7 (31mA) when needed
|
||||
hsetprop /treg/set fix_range 7
|
||||
|
||||
# lakeshore 370 monitor
|
||||
makenv tmon -driver 370_lsc -port dil4-ts:3003 {
|
||||
lsc_sensor sorb -channel 12 -sensor c270 -excitation 2mV -color dark_violet
|
||||
lsc_sensor onek -channel 11 -sensor ruoxm0 -excitation 2mV -color yellow
|
||||
lsc_sensor stillt -channel 10 -sensor ruoxm0 -excitation 200uV -color orange
|
||||
lsc_sensor rblue -channel 2 -sensor raw -excitation 20uV
|
||||
lsc_sensor ryellow -channel 9 -sensor raw -excitation 20uV
|
||||
lsc_sensor rred -channel 16 -sensor raw -excitation 20uV
|
||||
lsc_sensor sample 3 clone
|
||||
lsc_sensor samplehtr 1 clone
|
||||
lsc_sensor mix 4 clone
|
||||
}
|
||||
|
||||
proc graphvti {} {
|
||||
GraphItem shown tt.ts 0
|
||||
GraphItem label tt.set.reg VTI_reg
|
||||
GraphItem label tt.set.power VTI_power
|
||||
}
|
||||
dolater 0 graphvti
|
||||
|
||||
tt ts/curve undefined
|
||||
hsetprop /tt group "VTI temperature"
|
||||
|
||||
makeDil -port dil4-ts:3005
|
||||
|
||||
makenv sorb -driver piloop -invar "/tmon/sorb" -outvar "dil psorb" \
|
||||
-prop 200 -int 15
|
||||
|
||||
#makenv n2trap -driver n2_ccu -port dil4-ts:3007 "trap level" trap
|
||||
|
||||
# control on mix by default
|
||||
ts control 6
|
||||
treg set/deriv 0
|
||||
|
||||
defineTemperature ts
|
||||
|
||||
dil extVersion 1
|
||||
|
||||
# take last selected values when doing samenv reload
|
||||
catch {default ts control}
|
||||
catch {default ts heaterselect}
|
||||
|
||||
#makenv -objname condflow -driver bronkfreg -port dil4-ts:3008 200. condflow
|
||||
#GraphAdd condflow mln-min condflow magenta
|
||||
|
44
tcl/archive/dilRDR2.stick
Normal file
44
tcl/archive/dilRDR2.stick
Normal file
@ -0,0 +1,44 @@
|
||||
stickDesc = dilution insert RDR2
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mcbot -channel 14 -sensor raw -active 1 -excitation 63uV -color blue
|
||||
lsc_sensor hxup -channel 9 -sensor raw -active 1 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 13 -sensor raw -active 1 -excitation 200uV -color red
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 14 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor ruox408 -active 1 -excitation 63uV -color yellow
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
58
tcl/archive/dilRDR2iv.stick
Normal file
58
tcl/archive/dilRDR2iv.stick
Normal file
@ -0,0 +1,58 @@
|
||||
stickDesc = dilution insert RDR2
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mcbot -channel 14 -sensor raw -active 0 -excitation 63uV -color blue
|
||||
lsc_sensor hxup -channel 9 -sensor raw -active 0 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 13 -sensor raw -active 1 -excitation 200uV -color red
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 13 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor ruox408 -active 1 -excitation 63uV -color yellow
|
||||
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tsample.set.reg K T_set green
|
||||
GraphAdd tsample.set.power W Htr_Power green
|
||||
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse3-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
||||
#define current source
|
||||
makenv curr -driver k2601b -port ldmse3-ts:3005
|
||||
makenv volt -driver nanov -port ldmse3-ts:3006
|
||||
|
||||
GraphAdd curr.Imeas A VL_current
|
||||
GraphAdd curr.Pmeas W VL_dissipation
|
||||
GraphAdd curr.Vmeas V VL_Vkeith
|
||||
GraphAdd volt.u1 V VL_Volt
|
||||
|
58
tcl/archive/dilRDR2ivAug.stick
Normal file
58
tcl/archive/dilRDR2ivAug.stick
Normal file
@ -0,0 +1,58 @@
|
||||
stickDesc = dilution insert RDR2
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mcbot -channel 14 -sensor matsh100 -active 0 -excitation 63uV -color blue
|
||||
# lsc_sensor hxup -channel 9 -sensor raw -active 0 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 13 -sensor speer220 -active 1 -excitation 200uV -color red
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 13 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor ruox408 -active 1 -excitation 63uV -color yellow
|
||||
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tsample.set.reg K T_set green
|
||||
GraphAdd tsample.set.power W Htr_Power green
|
||||
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse3-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
||||
#define current source
|
||||
makenv curr -driver k2601b -port ldmse3-ts:3005
|
||||
makenv volt -driver nanov -port ldmse3-ts:3006
|
||||
|
||||
GraphAdd curr.Imeas A VL_current
|
||||
GraphAdd curr.Pmeas W VL_dissipation
|
||||
GraphAdd curr.Vmeas V VL_Vkeith
|
||||
GraphAdd volt.u1 V VL_Volt
|
||||
|
51
tcl/archive/dilRDR5.stick
Normal file
51
tcl/archive/dilRDR5.stick
Normal file
@ -0,0 +1,51 @@
|
||||
stickDesc = dilution insert RDR5
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
# lsc_sensor mcbot -channel 14 -sensor RCW575 -active 1 -excitation 63uV -color blue
|
||||
lsc_sensor mctop -channel 12 -sensor RCW575 -active 1 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 13 -sensor RCW575 -active 1 -excitation 200uV -color red
|
||||
# lsc_sensor t2k -channel 5 -sensor RCW575 -active 1 -excitation 200uV -color green
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 12 -maxheater 10mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor rx102aa -active 1 -excitation 63uV -color yellow
|
||||
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tsample.set.reg K T_set dark_green
|
||||
GraphAdd tsample.set.power W Htr_Power dark_green
|
||||
|
||||
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse3-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
53
tcl/archive/dilRDRN.stick
Normal file
53
tcl/archive/dilRDRN.stick
Normal file
@ -0,0 +1,53 @@
|
||||
stickDesc = dilution insert RDRN
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mctop -channel 1 -sensor RCW575 -active 1 -excitation 200uV
|
||||
lsc_sensor mcbot -channel 2 -sensor RCW575 -active 1 -excitation 200uV
|
||||
lsc_sensor ch3 -channel 3 -sensor RCW575 -active 1 -excitation 200uV
|
||||
lsc_sensor still -channel 4 -sensor RCW575 -active 1 -excitation 200uV
|
||||
lsc_sensor t2k -channel 5 -sensor RCW575 -active 1 -excitation 200uV
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 1 -maxheater 10mA -resist 800
|
||||
lsc_analog -maxuser 3.8 -maxvolt 3.8
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor rx102aa -active 1 -excitation 63uV -color yellow
|
||||
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tsample.set.reg K T_set dark_green
|
||||
GraphAdd tsample.set.power W Htr_Power dark_green
|
||||
|
||||
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse3-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
7
tcl/archive/dilhtr.config
Normal file
7
tcl/archive/dilhtr.config
Normal file
@ -0,0 +1,7 @@
|
||||
deviceDesc = dil heater test
|
||||
|
||||
makenv dh -driver dilhtr -port ets-62a713.psi.ch:3009
|
||||
|
||||
GraphAdd dh mW power_set green
|
||||
GraphAdd dh.power mW power_rd red
|
||||
GraphAdd dh.resistance Ohm R red
|
57
tcl/archive/dilmangoiv.stick
Normal file
57
tcl/archive/dilmangoiv.stick
Normal file
@ -0,0 +1,57 @@
|
||||
stickDesc = dilution insert 1989 RDR18
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mcbot -channel 1 -sensor RCW575 -active 1 -excitation 63uV -color blue
|
||||
lsc_sensor mctop -channel 2 -sensor RCW575 -active 1 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 4 -sensor RCW575 -active 1 -excitation 200uV -color red
|
||||
lsc_sensor t2k -channel 5 -sensor RCW575 -active 1 -excitation 200uV -color green
|
||||
# MC heater
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor ruox408 -active 1 -excitation 63uV -color yellow
|
||||
# sample holder heater
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tsample.set.reg K T_set_sample dark_green
|
||||
GraphAdd tsample.set.power W Htr_Power_sample dark_green
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 % Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmse3-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmse3-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmse3-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmse3-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmse3-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmse3-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmse3-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
||||
#define current source
|
||||
makenv curr -driver k2601b -port ldmse3-ts:3005
|
||||
makenv volt -driver nanov -port ldmse3-ts:3006
|
||||
|
||||
GraphAdd curr.Imeas A VL_current
|
||||
GraphAdd curr.Pmeas W VL_dissipation
|
||||
GraphAdd curr.Vmeas V VL_Vkeith
|
||||
GraphAdd volt.u1 V VL_Volt
|
||||
|
45
tcl/archive/dilmangola.stick
Normal file
45
tcl/archive/dilmangola.stick
Normal file
@ -0,0 +1,45 @@
|
||||
stickDesc = dilution insert 1986 RDR18
|
||||
|
||||
# lakeshore 370 ctrl 1
|
||||
makenv tmon -driver 370_lsc -port ldmse3-ts:3002 {
|
||||
# curves for sample:
|
||||
# ruoxben1k weak link with test ring heater
|
||||
lsc_sensor mcbot -channel 1 -sensor RCW575 -active 1 -excitation 63uV -color blue
|
||||
lsc_sensor mctop -channel 2 -sensor RCW575 -active 1 -excitation 63uV -color cyan
|
||||
lsc_sensor still -channel 4 -sensor RCW575 -active 1 -excitation 200uV -color red
|
||||
lsc_sensor t2k -channel 5 -sensor RCW575 -active 1 -excitation 200uV -color green
|
||||
|
||||
# MC heater
|
||||
lsc_loop set -channel 1 -maxheater 3.16mA -resist 120
|
||||
GraphAdd tmon.set.reg K T_set dark_green
|
||||
GraphAdd tmon.set.power W Htr_Power dark_green
|
||||
}
|
||||
|
||||
# lakeshore 370 ctrl 2
|
||||
makenv tsample -driver 370_lsc -port ldmse3-ts:3003 {
|
||||
#curves for sample temperature:
|
||||
lsc_sensor sample -channel 1 -sensor rx102aa -active 1 -excitation 63uV -color yellow
|
||||
}
|
||||
|
||||
GraphAdd tmon.analog2 pers Htr_Still red
|
||||
|
||||
makenv tbath -driver avs45 -port ldmlab1-ts:3004
|
||||
|
||||
GraphAdd tbath Ohm R_bath
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv P6 -driver ana8 -controller ana -port ldmlab1-ts:3008 0 $div100
|
||||
makenv P7 -driver ana8 -controller ana -port ldmlab1-ts:3008 1 $div100
|
||||
makenv P8 -driver ana8 -controller ana -port ldmlab1-ts:3008 2 $div100
|
||||
makenv P10 -driver ana8 -controller ana -port ldmlab1-ts:3008 3 $div100
|
||||
makenv P2 -driver ana8 -controller ana -port ldmlab1-ts:3008 4 $div 0 tpr010
|
||||
makenv P4 -driver ana8 -controller ana -port ldmlab1-ts:3008 5 $div 0 tpr010
|
||||
|
||||
GraphAdd P6 mbar
|
||||
GraphAdd P7 mbar
|
||||
GraphAdd P8 mbar
|
||||
GraphAdd P10 mbar
|
||||
GraphAdd P2 mbar
|
||||
GraphAdd P4 mbar
|
||||
|
60
tcl/archive/drivers/DAQ.tcl
Normal file
60
tcl/archive/drivers/DAQ.tcl
Normal file
@ -0,0 +1,60 @@
|
||||
namespace eval DAQ {} {
|
||||
}
|
||||
|
||||
proc stdConfig::DAQ {} {
|
||||
controller std "\n" 20
|
||||
prop startcmd "*IDN?"
|
||||
|
||||
obj DAQ -none
|
||||
kids settings {
|
||||
node resist upd
|
||||
node stddev upd
|
||||
node file upd
|
||||
node measure out
|
||||
default 0
|
||||
prop write DAQ::measure
|
||||
prop enum 1
|
||||
|
||||
node freq out
|
||||
default 5000.0
|
||||
prop write DAQ::setval
|
||||
node ampl out
|
||||
default 0.1
|
||||
prop write DAQ::setval
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
proc DAQ::measure {} {
|
||||
sct send "AQUIRE"
|
||||
return DAQ::update
|
||||
}
|
||||
|
||||
|
||||
proc DAQ::update {} {
|
||||
set output [sct result]
|
||||
set items [split $output ","]
|
||||
|
||||
hupdate [sct parent]/resist [lindex $items 0]
|
||||
hupdate [sct parent]/stddev [lindex $items 1]
|
||||
hupdate [sct parent]/file [lindex $items 2]
|
||||
hupdate [sct] 0
|
||||
return idle
|
||||
}
|
||||
|
||||
proc DAQ::setval {} {
|
||||
sct send "PULSE [format "%0.2f" [sctval [sct parent]/freq]] [format "%0.3f" [sctval [sct parent]/ampl]]"
|
||||
# clientput "PULSE [format "%0.2f" [sctval [sct parent]/freq]] [format "%0.3f" [sctval [sct parent]/ampl]]"
|
||||
return DAQ::readval
|
||||
}
|
||||
|
||||
proc DAQ::readval {} {
|
||||
set dat [sct result]
|
||||
scan $dat "F=%fHz; A= %fVpp" f a
|
||||
hupdate [sct parent]/freq $f
|
||||
hupdate [sct parent]/ampl $a
|
||||
return idle
|
||||
}
|
122
tcl/archive/drivers/ana8.tcl
Normal file
122
tcl/archive/drivers/ana8.tcl
Normal file
@ -0,0 +1,122 @@
|
||||
# read 8 ADC channels with taskit RS232 ADC
|
||||
namespace eval ana8 {
|
||||
}
|
||||
|
||||
if {![namespace exists lsc]} {
|
||||
source drivers/lsc.tcl
|
||||
}
|
||||
|
||||
proc stdConfig::ana8 {channel {scale 1} {offset 0} {curve ""}} {
|
||||
|
||||
controller std "\r" 2
|
||||
prop node_$channel 0
|
||||
prop time_$channel 0
|
||||
poll 1 read ana8::poll
|
||||
|
||||
pollperiod 5
|
||||
obj ANA8 rd
|
||||
prop read "ana8::read $channel"
|
||||
variable name
|
||||
variable path
|
||||
kids "$name analog input" {
|
||||
node scale par $scale
|
||||
|
||||
node offset par $offset
|
||||
|
||||
node raw upd
|
||||
|
||||
node curve out -text
|
||||
prop width 32
|
||||
prop model 0
|
||||
prop check ana8::curve
|
||||
prop write stdSct::completeUpdate
|
||||
|
||||
kids "calibration" {
|
||||
hfactory $path/points plain mugger floatvarar 1
|
||||
}
|
||||
}
|
||||
if {$curve ne "" && $curve ne "raw"} {
|
||||
hset /$name/curve $curve
|
||||
} else {
|
||||
hupdate /$name/curve ""
|
||||
}
|
||||
return "ANA8"
|
||||
}
|
||||
|
||||
proc ana8::start {} {
|
||||
# set adc rate to 11
|
||||
sct send ":10000D000102000B.."
|
||||
return ana8::start2
|
||||
}
|
||||
|
||||
proc ana8::start2 {} {
|
||||
# set all i/o to output / push-pull / low
|
||||
sct send ":10000000030600FF00FF0000.."
|
||||
return ana8::getidn
|
||||
}
|
||||
|
||||
proc ana8::getidn {} {
|
||||
sct send ":0300030001.."
|
||||
return stdSct::completeStart
|
||||
}
|
||||
|
||||
proc ana8::read {channel} {
|
||||
sct node_$channel [sct]
|
||||
sct time_$channel [DoubleTime]
|
||||
return idle
|
||||
}
|
||||
|
||||
proc ana8::poll {} {
|
||||
set now [DoubleTime]
|
||||
set channels [list ]
|
||||
foreach channel {0 1 2 3 4 5 6 7} {
|
||||
if {$now < [silent 0 sct time_$channel] + 30} {
|
||||
lappend channels $channel
|
||||
}
|
||||
}
|
||||
if {[llength $channels] == 0} {
|
||||
return idle
|
||||
}
|
||||
set first [lindex $channels 0]
|
||||
set nchan [expr [lindex $channels end] - $first + 1]
|
||||
if {$nchan > 0} {
|
||||
sct channels $channels
|
||||
sct nchan $nchan
|
||||
sct send ":04000${first}000${nchan}.."
|
||||
return ana8::update
|
||||
}
|
||||
return idle
|
||||
}
|
||||
|
||||
proc ana8::update {} {
|
||||
set first [lindex [sct channels] 0]
|
||||
set nb [format %.2X [expr [sct nchan] * 2]]
|
||||
set res [scan [sct result] ":04${nb}%4x%4x%4x%4x%4x%4x%4x%4x" a0 a1 a2 a3 a4 a5 a6 a7]
|
||||
if {$res < [sct nchan]} {
|
||||
error "bad response to '[sct send]': '[sct result]'"
|
||||
}
|
||||
foreach ch [sct channels] {
|
||||
set i [expr $ch - $first]
|
||||
set scale [hval [sct node_$ch]/scale]
|
||||
set offset [hval [sct node_$ch]/offset]
|
||||
# 26214 = (2^32-1) steps / 2.5 V
|
||||
set raw [expr [set a$i] / 26214. * $scale + $offset]
|
||||
set node [sct node_$ch]
|
||||
updateval $node/raw $raw
|
||||
if {[hval $node/curve] eq ""} {
|
||||
updateval $node $raw
|
||||
} else {
|
||||
set t [interpolate [hvali $node/curve/points] 0 $raw logy extrapolate]
|
||||
updateval $node $t
|
||||
}
|
||||
}
|
||||
return idle
|
||||
}
|
||||
|
||||
proc ana8::curve {} {
|
||||
if {[sct requested] ne "" && [sct requested] ne "raw"} {
|
||||
lsc::read_curve
|
||||
}
|
||||
}
|
||||
|
||||
|
10
tcl/archive/drivers/anders.tcl
Normal file
10
tcl/archive/drivers/anders.tcl
Normal file
@ -0,0 +1,10 @@
|
||||
namespace eval anders {
|
||||
}
|
||||
|
||||
proc stdConfig::anders {} {
|
||||
controller std "\n++read eoi\n"
|
||||
|
||||
obj TCOUPLE rd
|
||||
prop readcmd "SETP?1"
|
||||
prop readfmt "%g"
|
||||
}
|
27
tcl/archive/drivers/asm120h.tcl
Normal file
27
tcl/archive/drivers/asm120h.tcl
Normal file
@ -0,0 +1,27 @@
|
||||
# ASM 120 h, analog output read by fluke 45
|
||||
|
||||
namespace eval asm120h {} {
|
||||
}
|
||||
|
||||
proc stdConfig::asm120h {} {
|
||||
controller std "\n" 5 ">"
|
||||
prop startcmd "*IDN?"
|
||||
|
||||
obj Fluke45 rd
|
||||
prop read asm120h::read
|
||||
prop readcmd "MEAS?"
|
||||
prop readfmt "%g"
|
||||
}
|
||||
|
||||
|
||||
proc asm120h::read {} {
|
||||
sct send "MEAS?"
|
||||
return asm120h::update
|
||||
}
|
||||
|
||||
proc asm120h::update {} {
|
||||
set res 0
|
||||
scan [sct result] %f res
|
||||
sct update [expr $res - 9]
|
||||
return idle
|
||||
}
|
130
tcl/archive/drivers/asm142.tcl
Normal file
130
tcl/archive/drivers/asm142.tcl
Normal file
@ -0,0 +1,130 @@
|
||||
namespace eval asm142 {} {
|
||||
}
|
||||
|
||||
proc stdConfig::asm142 {} {
|
||||
controller bin
|
||||
|
||||
pollperiod 0.01
|
||||
|
||||
obj ASM142 rd
|
||||
prop read asm142::read
|
||||
kids "leak detector" {
|
||||
node p upd
|
||||
|
||||
node state upd
|
||||
prop enum standby,cycle,test
|
||||
|
||||
node vent upd
|
||||
prop enum 1
|
||||
|
||||
node manualvalve par 0
|
||||
prop enum 1
|
||||
}
|
||||
}
|
||||
|
||||
proc asm142::read {} {
|
||||
# we wait for at least one byte. the bin driver adds additional bytes
|
||||
# arriving immediately, but as we are sending nothing, nothing is purged
|
||||
# (modification of SICS 22.10.2014)
|
||||
sct send " / hex"
|
||||
return asm142::update
|
||||
}
|
||||
|
||||
proc asm142::update {} {
|
||||
# Format of data sent from ASM142 to its remote control:
|
||||
# ff <adr> <data>
|
||||
# for <adr>==04 <data> is 2 bytes, for all other known <adr> 1 byte
|
||||
# several (not always all) data chunks are sent one by one
|
||||
# at the end, "ff 00 00" is sent, and the remote control respond is
|
||||
# "00 00" (or i.e. "00 02" when CYCLE is pressed)
|
||||
# if the remote control is not connected, only ff "00 00" is sent
|
||||
# known data chunks:
|
||||
# 01 <i>: mbar bargraph (<i> = 1 ... 20, meaning 1e-3 ... 2e+3, 3 per magnitude)
|
||||
# 02 <i>: leak rate bargraph (<i> = 1 ... 40, meaning 1.7e-12 ... 1e-2)
|
||||
# 04 nm cl: leak rate (n.mE-l, BCD format, where c seems to be the code for "-")
|
||||
# 06 10tzaclr (LEDs bits: test, zero, autocal, cycle, left, right)
|
||||
# 07 0000v0s0 (LEDs bits: vent, snif)
|
||||
# 0d <i>: threshold for leak rate (blinking) (<i> = 128 + bar number)
|
||||
|
||||
set buf [silent "" sct buf]
|
||||
set res [concat [silent "" sct oldres] [sct result]]
|
||||
#clientput $res
|
||||
foreach byte $res {
|
||||
if {$byte eq "ff"} {
|
||||
if {[llength $buf] > 0} {
|
||||
set adr [lindex $buf 1]
|
||||
set val [lrange $buf 2 end]
|
||||
switch $adr {
|
||||
04 {
|
||||
set exp1 0
|
||||
scan $val "%1s%1s %1s%1s" dig1 dig2 exp1 exp2
|
||||
switch $exp1 {
|
||||
3 {set exp1 "e-1"}
|
||||
c {set exp1 "e-"}
|
||||
}
|
||||
if {$exp1 ne "0"} {
|
||||
sct update "${dig1}.${dig2}${exp1}${exp2}"
|
||||
}
|
||||
}
|
||||
01 {
|
||||
set p 0
|
||||
scan $val "%x" p
|
||||
updateval [sct]/p [expr pow(10, ($p-1)/3.0) * 0.001]
|
||||
}
|
||||
06 {
|
||||
set state 0
|
||||
set led 0
|
||||
scan $val "%x" led
|
||||
if {$led & 32} {
|
||||
set state 2
|
||||
} elseif {$led & 4} {
|
||||
set state 1
|
||||
}
|
||||
updateval [sct]/state $state
|
||||
}
|
||||
07 {
|
||||
set vent 0
|
||||
set led 0
|
||||
scan $val "%x" led
|
||||
if {$led & 8} {
|
||||
set vent 1
|
||||
}
|
||||
updateval [sct]/vent $vent
|
||||
}
|
||||
# 02 - 0d {
|
||||
# # ignore leak rate bar and level
|
||||
# set press 0
|
||||
# scan $val "%x" p
|
||||
# updateval [sct]/p [expr pow(10, ($p-1)/3.0) * 0.001]
|
||||
# }
|
||||
# default {
|
||||
# set old ""
|
||||
# global pars
|
||||
# catch {set old $pars($adr)}
|
||||
# if {$old ne $val} {
|
||||
# set pars($adr) $val
|
||||
# clientput "${adr}:${val}"
|
||||
# }
|
||||
# }
|
||||
}
|
||||
set buf ""
|
||||
}
|
||||
set buf $byte
|
||||
} else {
|
||||
append buf " $byte"
|
||||
if {$buf eq "ff 00 00" && [silent 0 sct noremote]} {
|
||||
#clientput "send 00 00"
|
||||
sct buf ""
|
||||
sct send "00 00 /"
|
||||
return asm142::readnext
|
||||
}
|
||||
}
|
||||
}
|
||||
sct buf $buf
|
||||
return idle
|
||||
}
|
||||
|
||||
proc asm142::readnext {} {
|
||||
sct oldres [sct result]
|
||||
return idle
|
||||
}
|
50
tcl/archive/drivers/asm340.tcl
Normal file
50
tcl/archive/drivers/asm340.tcl
Normal file
@ -0,0 +1,50 @@
|
||||
# ASM340 RS232 interface.
|
||||
# Setup: >EINSTELLUNGEN>Extras>Seriell Schnittstelle#1
|
||||
# Typ: Seriell
|
||||
# >Konfiguration
|
||||
# Betriebsart: Tabelle
|
||||
# Zeitintervall: 1 s
|
||||
# Handshake: None
|
||||
# Versor.pin9: 5 Volt (not relevant)
|
||||
#
|
||||
|
||||
namespace eval asm340 {} {
|
||||
}
|
||||
|
||||
proc stdConfig::asm340 {} {
|
||||
controller std timeout=10
|
||||
|
||||
# pollperiod 1 1
|
||||
obj ASM340 rd
|
||||
prop read asm340::read
|
||||
kids "ASM 340" {
|
||||
node p upd
|
||||
node text -text upd
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
proc asm340::read {} {
|
||||
sct send "@@NOSEND@@"
|
||||
return asm340::update
|
||||
}
|
||||
|
||||
proc asm340::update {} {
|
||||
if {[scan [sct result] "%s %s S=%s P=%s %s %s" x e s p t f] == 6} {
|
||||
sct update $s
|
||||
updateval [sct]/p $p
|
||||
if {$e ne "on"} {
|
||||
set tail "filament off"
|
||||
} else {
|
||||
set tail ""
|
||||
}
|
||||
updateval [sct]/text "$x $tail"
|
||||
} else {
|
||||
clientput "NO"
|
||||
sct geterror "syntax error"
|
||||
hsetprop [sct]/p geterror "syntax error"
|
||||
updateval [sct]/text [sct result]
|
||||
clientput "NO [sct result]"
|
||||
}
|
||||
return idle
|
||||
}
|
13
tcl/archive/drivers/avs45.tcl
Normal file
13
tcl/archive/drivers/avs45.tcl
Normal file
@ -0,0 +1,13 @@
|
||||
namespace eval avs45 {} {
|
||||
}
|
||||
|
||||
proc stdConfig::avs45 {} {
|
||||
controller std sendterminator=\r
|
||||
# attention: baud rate 4800
|
||||
|
||||
obj AVS45 rd
|
||||
prop readcmd "D"
|
||||
prop readfmt "%g"
|
||||
|
||||
}
|
||||
|
22
tcl/archive/drivers/bin.tcl
Normal file
22
tcl/archive/drivers/bin.tcl
Normal file
@ -0,0 +1,22 @@
|
||||
namespace eval bin {} {
|
||||
}
|
||||
|
||||
proc stdConfig::bin {} {
|
||||
controller bin chksum-crc 5
|
||||
obj BIN upd
|
||||
prop read bin::poll
|
||||
|
||||
}
|
||||
|
||||
|
||||
proc bin::read {} {
|
||||
sct send " / dump"
|
||||
sct print poll
|
||||
return bin::update
|
||||
}
|
||||
|
||||
|
||||
proc bin::update {} {
|
||||
sct print [sct result]
|
||||
return idle
|
||||
}
|
82
tcl/archive/drivers/calib370.tcl
Normal file
82
tcl/archive/drivers/calib370.tcl
Normal file
@ -0,0 +1,82 @@
|
||||
# calibration with a 370 using 6 channels
|
||||
# datafile format: <time> <log10(R)> <channel>
|
||||
|
||||
namespace eval calib370 {} {
|
||||
}
|
||||
|
||||
proc stdConfig::calib370 {} {
|
||||
variable ctrl
|
||||
controller std "\n" 5
|
||||
prop startcmd "*IDN?"
|
||||
|
||||
obj calib370 rd
|
||||
default 0
|
||||
prop read calib370::read
|
||||
prop period 30
|
||||
prop period0 0
|
||||
kids "Sensor Channels" {
|
||||
node chan1 upd
|
||||
prop newline 1
|
||||
node active1 par 1
|
||||
prop enum 1
|
||||
node chan2 upd
|
||||
node active2 par 1
|
||||
prop enum 1
|
||||
node chan3 upd
|
||||
node active3 par 1
|
||||
prop enum 1
|
||||
node chan4 upd
|
||||
node active4 par 1
|
||||
prop enum 1
|
||||
node chan5 upd
|
||||
node active5 par 1
|
||||
prop enum 1
|
||||
node chan6 upd
|
||||
node active6 par 1
|
||||
prop enum 1
|
||||
}
|
||||
}
|
||||
|
||||
proc calib370::read {} {
|
||||
if {[sct period] ne [sct period0]} {
|
||||
[sct controller] poll [sct] [sct period] read read
|
||||
sct period0 [sct period]
|
||||
}
|
||||
if {[hvali [sct]] > 0} {
|
||||
sct send "RDGR?[hvali [sct]]"
|
||||
sct utime send_time
|
||||
if {[silent 0 sct base_time] == 0} {
|
||||
sct base_time [expr [clock seconds] / 3600 * 3600]
|
||||
}
|
||||
return calib370::update
|
||||
}
|
||||
sct update 1
|
||||
sct send "SCAN 1,0;SCAN?"
|
||||
return stdSct::complete
|
||||
}
|
||||
|
||||
proc calib370::update {} {
|
||||
set chan [hvali [sct]]
|
||||
set value [expr log10([sct result])]
|
||||
hdelprop [sct]/chan$chan geterror
|
||||
hupdate [sct]/chan$chan $value
|
||||
set file [silent 0 sct outputfile]
|
||||
if {$file ne "0"} {
|
||||
set fd [open $file a]
|
||||
set now [expr [sct utime] * 0.5 + [sct send_time] * 0.5 - [sct base_time]]
|
||||
puts $fd [format "%.3f\t%.6f\t%d" $now $value $chan]
|
||||
close $fd
|
||||
}
|
||||
for {set i 0} {$i < 6} {incr i} {
|
||||
incr chan
|
||||
if {$chan > 6} {
|
||||
set chan 1
|
||||
}
|
||||
if {[hvali [sct]/active$chan]} {
|
||||
break
|
||||
}
|
||||
}
|
||||
sct update $chan
|
||||
sct send "SCAN $chan,0;SCAN?"
|
||||
return stdSct::complete
|
||||
}
|
45
tcl/archive/drivers/cryocon_sniffer.tcl
Normal file
45
tcl/archive/drivers/cryocon_sniffer.tcl
Normal file
@ -0,0 +1,45 @@
|
||||
namespace eval cryocon_sniffer {} {
|
||||
}
|
||||
|
||||
proc stdConfig::cryocon_sniffer {} {
|
||||
controller std "\n" 5
|
||||
|
||||
pollperiod 0.001 0.001
|
||||
|
||||
obj CryoconSniffer rd
|
||||
prop read cryocon_sniffer::read
|
||||
prop rdcmd "INPUT A:SENPR?"
|
||||
prop path ""
|
||||
|
||||
kids "cryocon" {
|
||||
# node tb upd
|
||||
# prop rdcmd "INPUT B:SENPR?"
|
||||
node l1 upd
|
||||
prop rdcmd "LOOP 1:OUTPWR?"
|
||||
node l2 upd
|
||||
prop rdcmd "LOOP 2:OUTPWR?"
|
||||
}
|
||||
}
|
||||
|
||||
proc cryocon_sniffer::read {} {
|
||||
sct send "@@NOSEND@@"
|
||||
return cryocon_sniffer::update
|
||||
}
|
||||
|
||||
proc cryocon_sniffer::update {} {
|
||||
if {[sct result] eq [sct rdcmd]} {
|
||||
sct path [sct]
|
||||
return idle
|
||||
}
|
||||
foreach var [hlist [sct]] {
|
||||
if {[sct result] eq [silent "" hgetpropval [sct]/$var rdcmd]} {
|
||||
sct path [sct]/$var
|
||||
return idle
|
||||
}
|
||||
}
|
||||
if {[sct path] ne ""} {
|
||||
updateval [sct path] [sct result]
|
||||
sct path ""
|
||||
}
|
||||
return idle
|
||||
}
|
48
tcl/archive/drivers/cryotel_light.tcl
Normal file
48
tcl/archive/drivers/cryotel_light.tcl
Normal file
@ -0,0 +1,48 @@
|
||||
namespace eval cryotel {} {
|
||||
}
|
||||
|
||||
proc stdConfig::cryotel {} {
|
||||
# controler uses std with send terminator "\r" 5sec comm.interval receive terminator "\n" and multi line replies will be separated by ","
|
||||
controller std "\r" 5 "\n" ","
|
||||
# the {2} in addition to the command defines the number of expected return values
|
||||
prop startcmd "SERIAL{2}"
|
||||
# driver for Sunpower stirling cooler CryoTel
|
||||
# serial interface is set to:
|
||||
# Char Size/Stop Bits: 8/1 Input Speed: 4800
|
||||
# Flow Ctrl: None Output Speed: 4800
|
||||
# Parity: None Modem Control: None
|
||||
|
||||
|
||||
obj cryo rd
|
||||
prop label Temperature
|
||||
prop readcmd "TC{2}"
|
||||
prop readfmt "TC ,%f"
|
||||
#cryotel::readT
|
||||
kids cryo {
|
||||
|
||||
node setT wr
|
||||
prop label Setpoint
|
||||
prop writecmd "SET TTARGET=%.2f"
|
||||
prop readcmd "SET TTARGET{2}"
|
||||
prop readfmt "SET TTARGET ,%f"
|
||||
|
||||
node power rd
|
||||
prop label Power
|
||||
prop readcmd "P{2}"
|
||||
prop readfmt "P ,%f"
|
||||
|
||||
node cool wr
|
||||
prop label Cool
|
||||
prop enum on,off
|
||||
prop writecmd "SET SSTOP=%i"
|
||||
prop readcmd "SET SSTOP{2}"
|
||||
prop readfmt "SET SSTOP ,%i"
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
84
tcl/archive/drivers/flowbus.tcl
Normal file
84
tcl/archive/drivers/flowbus.tcl
Normal file
@ -0,0 +1,84 @@
|
||||
# based on untested flowbusprot, not used M.Z. Feb 2017
|
||||
|
||||
namespace eval flowbus {} {
|
||||
}
|
||||
|
||||
proc stdConfig::flowbus {label scale {adr 128} {readonly 0}} {
|
||||
|
||||
controller flowbus "\r\n"
|
||||
|
||||
# driver for Bronkhorst Flow or Pressure regulator (i.e.P-602CV-21KA-AAD)
|
||||
# serial interface is set to:
|
||||
# Char Size/Stop Bits: 8/1 Input Speed: 38400
|
||||
# Flow Ctrl: None Output Speed: 38400
|
||||
# Parity: None Modem Control: None
|
||||
|
||||
# syntax (chaining not mentioned):
|
||||
# read command: :06Ad04CopyPrTp
|
||||
# write command: :LnAd01PrTpData
|
||||
# where:
|
||||
# Ln: number of bytes (hex digits pairs) following
|
||||
# Ad: node address (starting from 3)
|
||||
# Copy: values just to be copied by the reply (first and third digit < 8)
|
||||
# recommended practice: Use PrTp for Copy
|
||||
# Pr: Process number (<80)
|
||||
# Tp: Type + parameter number. Type: 00 byte, 20 int, 40 long/float, 60 string
|
||||
# for strings either 00 (for nul terminated) or the max. number of chars
|
||||
# has to be appended to the type
|
||||
# Data: length depending on type.
|
||||
|
||||
# the interface returns readings on a scale where 32000 is 100%
|
||||
|
||||
set adr [format %02x $adr]
|
||||
clientput "BRONK $label $scale $adr"
|
||||
|
||||
obj bflow rd
|
||||
prop label $label
|
||||
prop readcmd "r$adr 1 i0"
|
||||
prop readfmt "%d"
|
||||
prop update flowbus::conv $scale
|
||||
prop @adr $adr
|
||||
|
||||
kids "$label" {
|
||||
node setpoint wr
|
||||
prop label Setpoint
|
||||
prop write flowbus::setp $scale
|
||||
prop readcmd "r$adr 1 i1"
|
||||
prop readfmt "%d"
|
||||
prop update flowbus::conv $scale
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
proc flowbus::conv {scale} {
|
||||
if {[scan [sct result] [sct readfmt] flow ] != 1} {
|
||||
error "bad result format: '[sct result]'"
|
||||
}
|
||||
sct update [format %.6g [expr $flow * $scale / 32000.]]
|
||||
return idle
|
||||
}
|
||||
|
||||
|
||||
proc flowbus::setp {scale} {
|
||||
set setval [expr int( [sct target] * 32000.0 / $scale) ]
|
||||
if {$setval > 32000 } {
|
||||
if {$setval < 32320} {
|
||||
set setval 32000
|
||||
} else {
|
||||
error "[sct]: setpoint [sct target] must be <= $scale"
|
||||
}
|
||||
} elseif {$setval < 0 } {
|
||||
error "[sct]: setpoint [sct target] must be >= 0"
|
||||
}
|
||||
sct send "w [sct @adr] 1 i1=$setval"
|
||||
return "flowbus::acknowledge"
|
||||
}
|
||||
|
||||
proc flowbus::acknowledge {} {
|
||||
if {[string compare [sct result] "0" ] != 0} {
|
||||
error "bad result format: '[sct result]' [sct result]"
|
||||
}
|
||||
return read
|
||||
}
|
56
tcl/archive/drivers/ihelium3_cryocon.tcl
Normal file
56
tcl/archive/drivers/ihelium3_cryocon.tcl
Normal file
@ -0,0 +1,56 @@
|
||||
namespace eval ihelium3_cryocon {} {
|
||||
}
|
||||
|
||||
proc stdConfig::ihelium3_cryocon {} {
|
||||
controller std "\n" 5
|
||||
|
||||
pollperiod 0.001 0.001
|
||||
|
||||
obj CryoconSniffer rd
|
||||
prop read ihelium3_cryocon::read
|
||||
prop path ""
|
||||
|
||||
kids "cryocon" {
|
||||
# node tb upd
|
||||
# prop rdcmd "INPUT B:SENPR?"
|
||||
node ra upd
|
||||
prop rdcmd "INPUT A:SENPR?"
|
||||
prop sensno 054
|
||||
|
||||
node l1 upd
|
||||
prop rdcmd "LOOP 1:OUTPWR?"
|
||||
node l2 upd
|
||||
prop rdcmd "LOOP 2:OUTPWR?"
|
||||
|
||||
node bref par 0
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
proc ihelium3_cryocon::read {} {
|
||||
sct send "@@NOSEND@@"
|
||||
return ihelium3_cryocon::update
|
||||
}
|
||||
|
||||
proc ihelium3_cryocon::update {} {
|
||||
foreach var [hlist [sct]] {
|
||||
if {[sct result] eq [silent "" hgetpropval [sct]/$var rdcmd]} {
|
||||
sct path [sct]/$var
|
||||
return idle
|
||||
}
|
||||
}
|
||||
if {[sct path] ne ""} {
|
||||
updateval [sct path] [sct result]
|
||||
set sensno [silent "" hgetpropval [sct path] sensno]
|
||||
sct path ""
|
||||
if {$sensno ne ""} {
|
||||
if {![silent 0 sct $sensno]} {
|
||||
ihelium3_calib $sensno
|
||||
sct $sensno 1
|
||||
}
|
||||
set tk [ihelium3_res2temp $sensno [hvali [sct]/bref] [sct result]]
|
||||
sct update $tk
|
||||
}
|
||||
}
|
||||
return idle
|
||||
}
|
25
tcl/archive/drivers/itc503p.tcl
Normal file
25
tcl/archive/drivers/itc503p.tcl
Normal file
@ -0,0 +1,25 @@
|
||||
# itc503 simple nv control
|
||||
namespace eval itc503p {} {
|
||||
}
|
||||
|
||||
proc stdConfig::itc503p {} {
|
||||
controller std "\r" 5
|
||||
prop startcmd "V"
|
||||
|
||||
obj nv rd
|
||||
prop readcmd "R7"
|
||||
prop readfmt "R%g"
|
||||
kids nvoi {
|
||||
node set wr
|
||||
prop read stdSct::read
|
||||
prop readcmd "R7"
|
||||
prop readfmt "R%g"
|
||||
prop write itc503p::write
|
||||
}
|
||||
}
|
||||
|
||||
proc itc503p::write {} {
|
||||
sct send [format G%3.0f [sct target]]
|
||||
return read
|
||||
}
|
||||
|
61
tcl/archive/drivers/kdvm.tcl
Normal file
61
tcl/archive/drivers/kdvm.tcl
Normal file
@ -0,0 +1,61 @@
|
||||
# keithley 2701 Digital multimeter
|
||||
namespace eval kdvm {} {
|
||||
}
|
||||
|
||||
proc stdConfig::kdvm {} {
|
||||
controller std "\n" 5
|
||||
prop startcmd "*IDN?"
|
||||
|
||||
obj Keithley2701 rd -none
|
||||
prop read kdvm::read
|
||||
kids channels {
|
||||
node u1 upd
|
||||
node u2 upd
|
||||
node chan out
|
||||
default 0
|
||||
prop write kdvm::setchan
|
||||
prop enum auto,chan1,chan2
|
||||
}
|
||||
}
|
||||
|
||||
proc kdvm::read {} {
|
||||
sct send "READ?"
|
||||
return kdvm::update
|
||||
}
|
||||
|
||||
proc kdvm::update {} {
|
||||
set mode [hvali [sct]/chan]
|
||||
if {$mode == 0} {
|
||||
set chan [silent 1 sct channel]
|
||||
} else {
|
||||
set chan $mode
|
||||
}
|
||||
hupdate [sct]/u$chan [sct result]
|
||||
hdelprop [sct]/u$chan geterror
|
||||
if {$mode != 0} {
|
||||
return idle
|
||||
}
|
||||
set chan [expr 3-$chan]
|
||||
sct send "ROUT:CLOS (@10${chan}); *IDN?"
|
||||
sct channel $chan
|
||||
return stdSct::complete
|
||||
}
|
||||
|
||||
proc kdvm::setchan {} {
|
||||
set mode [sct target]
|
||||
if {$mode == 0} {
|
||||
sct update $mode
|
||||
return idle
|
||||
}
|
||||
set chan $mode
|
||||
sct send "ROUT:CLOS (@10${chan}); *IDN?"
|
||||
sct channel $chan
|
||||
return kdvm::updatechan
|
||||
}
|
||||
|
||||
proc kdvm::updatechan {} {
|
||||
sct update [sct result]
|
||||
return idle
|
||||
}
|
||||
|
||||
|
14
tcl/archive/drivers/kei195.tcl
Normal file
14
tcl/archive/drivers/kei195.tcl
Normal file
@ -0,0 +1,14 @@
|
||||
namespace eval kei195 {} {
|
||||
}
|
||||
|
||||
proc stdConfig::kei195 {} {
|
||||
controller std "sendterminator=\n"
|
||||
# prop startcmd "++addr 16"
|
||||
|
||||
obj kei195 rd
|
||||
prop readcmd "++read eoi"
|
||||
prop readfmt "NDCV %g"
|
||||
|
||||
# kids "avs settings" { }
|
||||
}
|
||||
|
36
tcl/archive/drivers/lowdpflow.tcl
Normal file
36
tcl/archive/drivers/lowdpflow.tcl
Normal file
@ -0,0 +1,36 @@
|
||||
namespace eval lowdpflow {} {
|
||||
}
|
||||
|
||||
proc stdConfig::lowdpflow {} {
|
||||
controller std "\r\n"
|
||||
|
||||
# driver for mass flow meter bronkhorst low-dp-flow
|
||||
# serial interface is set to:
|
||||
# Char Size/Stop Bits: 8/1 Input Speed: 38400
|
||||
# Flow Ctrl: None Output Speed: 38400
|
||||
# Parity: None Modem Control: None
|
||||
|
||||
|
||||
obj low-dp-flow rd
|
||||
|
||||
# 0C=length
|
||||
# 80=address
|
||||
# 04=read
|
||||
# 00 not chained, custom process 0
|
||||
# 40 not chained, float, custom parameter 0
|
||||
# 21 process 33
|
||||
# 40 float, parameter 0
|
||||
prop readcmd ":06800400402140"
|
||||
prop readfmt ":0880020040%8s"
|
||||
prop update lowdpflow::update
|
||||
|
||||
}
|
||||
|
||||
proc lowdpflow::update {} {
|
||||
if {[scan [sct result] [sct readfmt] flow] != 1} {
|
||||
error "bad result format: '[sct result]' $flow"
|
||||
}
|
||||
set flow [cnvrt xieee2float $flow]
|
||||
sct update $flow
|
||||
return idle
|
||||
}
|
86
tcl/archive/drivers/ls370bf.tcl
Normal file
86
tcl/archive/drivers/ls370bf.tcl
Normal file
@ -0,0 +1,86 @@
|
||||
#LS370 simple driver
|
||||
|
||||
namespace eval ls370bf {} {
|
||||
}
|
||||
|
||||
proc stdConfig::ls370bf {} {
|
||||
variable ctrl
|
||||
controller std "\n" 5
|
||||
prop startcmd "*IDN?"
|
||||
|
||||
obj ls370bf rd
|
||||
default 0
|
||||
prop read ls370bf::read
|
||||
prop period 15
|
||||
prop period0 0
|
||||
kids "Sensor Channels" {
|
||||
node set wr
|
||||
prop writecmd "SETP %g;*OPC?"
|
||||
prop readcmd "SETP?"
|
||||
prop readfmt "%g"
|
||||
|
||||
node htr rd
|
||||
prop readcmd "HTR?"
|
||||
prop readfmt "%g"
|
||||
|
||||
node still wr
|
||||
prop writecmd "STILL %g;*OPC?"
|
||||
prop readcmd "STILL?"
|
||||
prop readfmt "%g"
|
||||
|
||||
foreach chan {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16} {
|
||||
node active$chan par 1
|
||||
prop enum 1
|
||||
if {$chan == 1} {
|
||||
prop newline 1
|
||||
}
|
||||
}
|
||||
foreach chan {1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16} {
|
||||
node chan$chan upd
|
||||
if {$chan == 1} {
|
||||
prop newline 1
|
||||
}
|
||||
node res$chan upd
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ls370bf::read {} {
|
||||
if {[sct period] ne [sct period0]} {
|
||||
[sct controller] poll [sct] [sct period] read read
|
||||
sct period0 [sct period]
|
||||
}
|
||||
if {[hvali [sct]] > 0} {
|
||||
sct send "RDGK?[hvali [sct]]"
|
||||
return ls370bf::readR
|
||||
}
|
||||
sct update 1
|
||||
sct send "SCAN 1,0;SCAN?"
|
||||
return stdSct::complete
|
||||
}
|
||||
|
||||
proc ls370bf::readR {} {
|
||||
set chan [hvali [sct]]
|
||||
hdelprop [sct]/chan$chan geterror
|
||||
hupdate [sct]/chan$chan [sct result]
|
||||
sct send "RDGR?$chan"
|
||||
return ls370bf::update
|
||||
}
|
||||
|
||||
proc ls370bf::update {} {
|
||||
set chan [hvali [sct]]
|
||||
hdelprop [sct]/res$chan geterror
|
||||
hupdate [sct]/res$chan [sct result]
|
||||
for {set i 0} {$i < 16} {incr i} {
|
||||
incr chan
|
||||
if {$chan > 16} {
|
||||
set chan 1
|
||||
}
|
||||
if {[hvali [sct]/active$chan]} {
|
||||
break
|
||||
}
|
||||
}
|
||||
sct update $chan
|
||||
sct send "SCAN $chan,0;SCAN?"
|
||||
return stdSct::complete
|
||||
}
|
53
tcl/archive/drivers/moxa.tcl
Normal file
53
tcl/archive/drivers/moxa.tcl
Normal file
@ -0,0 +1,53 @@
|
||||
namespace eval moxa {
|
||||
}
|
||||
|
||||
proc stdConfig::moxa {} {
|
||||
variable ctrl
|
||||
variable node
|
||||
|
||||
if {[controller tmo 10 2]} {
|
||||
controllerDesc "MOXA http connection"
|
||||
}
|
||||
|
||||
obj moxa out
|
||||
default 0
|
||||
prop check moxa::check
|
||||
prop write moxa::getline
|
||||
prop connections ""
|
||||
|
||||
$ctrl queue $node write moxa::getline
|
||||
|
||||
}
|
||||
|
||||
proc moxa::getline {} {
|
||||
sct send "GET /Mn_line.htm HTTP/1.1\r\n"
|
||||
return moxa::updateline
|
||||
}
|
||||
|
||||
proc moxa::updateline {} {
|
||||
set r [sct result]
|
||||
set l 0
|
||||
set pattern {<TR><TD>(.*?)</TD><TD>TCP Server Mode</TD><TD>(.*?)</TD>.*?</TR>}
|
||||
array set iplist {}
|
||||
while {[regexp -start $l -indices ($pattern) $r idx]} {
|
||||
set l [lindex $idx 1]
|
||||
set line [string range $r [lindex $idx 0] $l]
|
||||
regexp $pattern $line all port ip
|
||||
if {$ip ne "Listen"} {
|
||||
lappend iplist($ip) [expr 3000+$port]
|
||||
}
|
||||
}
|
||||
sct connections [array get iplist]
|
||||
sct update 0
|
||||
clientput "connections: [sct connections]"
|
||||
# seaclient hostport ${ip}:${po}
|
||||
# seaclient cmd "disconnect_from [sct sicsdev]"
|
||||
return idle
|
||||
}
|
||||
|
||||
proc moxa::check {} {
|
||||
sct connections ""
|
||||
sct update [sct target]
|
||||
[sct controllerName] reconnect
|
||||
}
|
||||
|
17
tcl/archive/drivers/nvdummy.tcl
Normal file
17
tcl/archive/drivers/nvdummy.tcl
Normal file
@ -0,0 +1,17 @@
|
||||
namespace eval nvdummy {} {
|
||||
}
|
||||
|
||||
proc stdConfig::nvdummy {} {
|
||||
controller syncedprot
|
||||
|
||||
obj NvDummy par 0
|
||||
|
||||
kids "nv dummy" {
|
||||
node set par 0
|
||||
node flow par 5
|
||||
node autoflow par 0
|
||||
kids "autoflow" {
|
||||
node flowtarget par 5
|
||||
}
|
||||
}
|
||||
}
|
191
tcl/archive/drivers/nvstep_lim.tcl
Normal file
191
tcl/archive/drivers/nvstep_lim.tcl
Normal file
@ -0,0 +1,191 @@
|
||||
namespace eval nvstep {
|
||||
}
|
||||
|
||||
proc stdConfig::nvstep {} {
|
||||
variable name
|
||||
|
||||
controller syncedprot
|
||||
pollperiod 1 1
|
||||
|
||||
obj NvStep wr
|
||||
prop write nvstep::setmode
|
||||
prop read nvstep::read
|
||||
prop enum fixed=0,controlled=1,automatic=2,close=3,open=4
|
||||
prop write nvstep::write
|
||||
prop lastpulse 0
|
||||
prop filter 0
|
||||
prop closetest 0
|
||||
default 0
|
||||
|
||||
kids "needle value" {
|
||||
node motpos upd
|
||||
|
||||
node flow upd
|
||||
|
||||
node set out
|
||||
default 2.5
|
||||
prop check nvstep::checkset
|
||||
prop write stdSct::complete
|
||||
prop label "flow set"
|
||||
|
||||
node flowmax par 20
|
||||
prop label "flow maximum"
|
||||
|
||||
node ctrl -none
|
||||
kids "control parameters" {
|
||||
node prop par 50
|
||||
node int par 15
|
||||
node delay par 5
|
||||
node dif upd
|
||||
node lim upd
|
||||
node tol upd
|
||||
}
|
||||
node autoflow -none
|
||||
kids "autoflow control parameters" {
|
||||
flow::make flow::tmts {result tt set/reg}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc nvstep::checkset {} {
|
||||
sct update [sct target]
|
||||
set s [hvali [sct parent]]
|
||||
if {[hvali /cc/fa] == 0 || ($s != 1 && $s != 2)} {
|
||||
hset [sct parent] 1
|
||||
}
|
||||
}
|
||||
|
||||
proc nvstep::write {} {
|
||||
switch {[sct target]} {
|
||||
3 {
|
||||
nvmot [hvali /nvmot/posclosed]
|
||||
sct closetest 1
|
||||
}
|
||||
4 {
|
||||
nvmot [hvali /nvmot/posopen]
|
||||
}
|
||||
}
|
||||
sct update [sct target]
|
||||
return idle
|
||||
}
|
||||
|
||||
proc nvstep::transf {flow} {
|
||||
if {$flow > 1} {
|
||||
set flow [expr 2 - 1.0 / $flow]
|
||||
}
|
||||
return $flow
|
||||
}
|
||||
|
||||
proc nvstep::poll {} {
|
||||
hupdate [sct]/motpos [hvali /nvmot/pos]
|
||||
set now [DoubleTime]
|
||||
set delta [expr $now - [silent 0 sct lastpoll]]
|
||||
sct lastpoll $now
|
||||
if {$delta > 1} {
|
||||
set delta 1
|
||||
}
|
||||
set umsg "automatic needle valve not activated - set temperature undefined"
|
||||
switch [hvali [sct]] {
|
||||
1 - 2 {
|
||||
if {[hvali [sct]] == 1} {
|
||||
set soll [hvali [sct]/set]
|
||||
hupdate [sct]/autoflow/flowtarget $soll
|
||||
} else {
|
||||
flow::task [sct]/autoflow [hvali [sct]/set] [hvali [sct]/flowmax]
|
||||
set soll [hvali [sct]/autoflow/flowset]
|
||||
if {[hgetpropval [sct]/autoflow/getTset t_set_undefined]} {
|
||||
if {[hvali [sct]/status] ne $umsg} {
|
||||
clientput "ERROR: $umsg"
|
||||
}
|
||||
hupdate [sct]/status $umsg
|
||||
}
|
||||
}
|
||||
set ist [hvali [sct]/flow]
|
||||
set soll2 [expr $soll + [hvali [sct]/ctrl/tol]]
|
||||
set soll [nvstep::transf $soll]
|
||||
set tol [expr [nvstep::transf $soll2] - $soll]
|
||||
set ist [nvstep::transf $ist]
|
||||
set dif [expr $soll - $ist]
|
||||
set lim [hvali [sct]/ctrl/lim]
|
||||
set int [hvali [sct]/ctrl/int]
|
||||
set lim [expr $lim * exp(-$delta/$int)]
|
||||
if {abs($dif) > $tol + $lim} {
|
||||
set lim [expr abs($dif) * exp($delta*[hvali [sct]/ctrl/delay]/double($int)) - $tol]
|
||||
set step [expr $dif * [hvali [sct]/ctrl/prop]]
|
||||
run nvmot [expr [hvali /nvmot] + $step]
|
||||
}
|
||||
hupdate [sct]/ctrl/dif [expr log(abs($dif)/$tol + 1e-3)]
|
||||
hupdate [sct]/ctrl/tol [expr log($lim/$tol + 1.0)]
|
||||
hupdate [sct]/ctrl/lim $lim
|
||||
sct lastmode [hvali [sct]]
|
||||
}
|
||||
0 - 3 - 4 { # fixed, close, open
|
||||
if {[hvali [sct]] == 3 && [sct closetest]} {
|
||||
if {[hgetpropval /nvmot status] ne "run"} {
|
||||
if {[hvali /nvmot] < [hvali /nvmot/posopen] + [hvali /nvmot/precision]} {
|
||||
hupdate [sct]/status "needle valve not fully closed"
|
||||
}
|
||||
sct closetest 0
|
||||
}
|
||||
}
|
||||
switch -- [hvali /cc/fm] {
|
||||
2 - 4 { # closing or closed
|
||||
sct update 3
|
||||
}
|
||||
1 - 3 { # opening or opened
|
||||
sct update 4
|
||||
}
|
||||
default {
|
||||
# sct update 0
|
||||
}
|
||||
}
|
||||
logsetup [sct]/set clear
|
||||
logsetup [sct]/autoflow/flowtarget clear
|
||||
return idle
|
||||
}
|
||||
}
|
||||
if {[hvali [sct]/status] eq $umsg && \
|
||||
([sctval [sct]] != 2 || [hgetpropval [sct]/autoflow/getTset t_set_undefined] == 0)} {
|
||||
hsetprop [sct]/autoflow/getTset t_set_undefined 0
|
||||
hupdate [sct]/status ""
|
||||
}
|
||||
return idle
|
||||
}
|
||||
|
||||
proc nvstep::read {} {
|
||||
hsetprop /cc/fa nvpath [sct]
|
||||
_cc updatescript /cc/fa nvstep::updatemode
|
||||
hsetprop /cc/f nvpath [sct]
|
||||
hsetprop /cc/f nvctrl [sct controller]
|
||||
_cc updatescript /cc/f nvstep::updateflow
|
||||
return unpoll
|
||||
}
|
||||
|
||||
proc nvstep::updateflow {value} {
|
||||
set filter [lrange "[silent $value sct filter] $value" end-9 10]
|
||||
sct filter $filter
|
||||
# filter out values which are within the 3 highest or 3 lowest values
|
||||
# out of 10 last values (i.e. within 5 seconds)
|
||||
set m 3
|
||||
set filter [lsort -real $filter]
|
||||
if {[llength $filter] < 10} {
|
||||
set flow $value
|
||||
} else {
|
||||
set min [lindex $filter $m]
|
||||
set max [lindex $filter end-$m]
|
||||
set flow [silent 0 hvali [sct nvpath]/flow]
|
||||
if {$max < $flow} {
|
||||
set flow $max
|
||||
} elseif {$min > $flow} {
|
||||
set flow $min
|
||||
}
|
||||
}
|
||||
if {$flow < -50} {
|
||||
set flow -62.5
|
||||
}
|
||||
# clientput "flow $value $flow"
|
||||
updateval_e [sct nvpath]/flow $flow -62.5 no_sensor
|
||||
[sct nvctrl] queue [sct nvpath] read nvstep::poll
|
||||
}
|
||||
|
||||
|
129
tcl/archive/drivers/taskit.tcl
Normal file
129
tcl/archive/drivers/taskit.tcl
Normal file
@ -0,0 +1,129 @@
|
||||
namespace eval taskit {} {
|
||||
}
|
||||
|
||||
proc stdConfig::taskit {} {
|
||||
controller std "\r" 5
|
||||
|
||||
obj TaskitADC rd
|
||||
prop readcmd ":0400000008.."
|
||||
prop update taskit::update
|
||||
|
||||
kids "Taskit Settings" {
|
||||
node dig out -text
|
||||
default 00
|
||||
prop write taskit::write
|
||||
|
||||
node mode out -text
|
||||
default ff
|
||||
prop write taskit::write
|
||||
|
||||
node pulse out -int
|
||||
prop write taskit::pulse
|
||||
|
||||
node res wr -int
|
||||
prop write taskit::writeRes
|
||||
prop read taskit::readRes
|
||||
|
||||
node a0 upd
|
||||
node a1 upd
|
||||
node a2 upd
|
||||
node a3 upd
|
||||
node a4 upd
|
||||
node a5 upd
|
||||
node a6 upd
|
||||
node a7 upd
|
||||
|
||||
node p upd
|
||||
|
||||
}
|
||||
|
||||
return "new taskit"
|
||||
}
|
||||
|
||||
proc taskit::writeRes {} {
|
||||
sct send [format ":10000D00010200%2.2x.." [sct target]]
|
||||
return taskit::readRes
|
||||
}
|
||||
|
||||
proc taskit::readRes {} {
|
||||
sct send ":03000D0001.."
|
||||
return taskit::updateRes
|
||||
}
|
||||
|
||||
proc taskit::updateRes {} {
|
||||
set res 0
|
||||
scan [sct result] ":0302%4x" res
|
||||
sct update $res
|
||||
return idle
|
||||
}
|
||||
|
||||
proc taskit::update {} {
|
||||
if {[scan [sct result] ":0410%4x%4x%4x%4x%4x%4x%4x%4x" \
|
||||
a(0) a(1) a(2) a(3) a(4) a(5) a(6) a(7)] == 8} {
|
||||
set vmax 2.5
|
||||
foreach i {0 1 2 3 4 5 6 7} {
|
||||
set a($i) [expr 2.5 * $a($i) / 65535.]
|
||||
hupdate [sct]/a$i $a($i)
|
||||
}
|
||||
hupdate [sct]/p [expr 250 * ($a(2) - 0.4) / 1.6]
|
||||
set x [expr ($a(6) - $vmax * 0.5)]
|
||||
set y [expr ($a(7) - $vmax * 0.5)]
|
||||
set r [expr abs($x) + abs($y)]
|
||||
set old [silent 0 sct old]
|
||||
if {$r < $vmax * 0.4 || $r > $vmax * 0.6} {
|
||||
error "illegal value $r = |$x| + |$y|"
|
||||
} elseif {$y > 0} {
|
||||
if {$x > 0} {
|
||||
set ang [expr $y/$r * 90]
|
||||
} else {
|
||||
set ang [expr - $x/$r * 90 + 90]
|
||||
}
|
||||
} else {
|
||||
if {$x < 0} {
|
||||
set ang [expr - $y/$r * 90 + 180]
|
||||
} else {
|
||||
set ang [expr $x/$r * 90 + 270]
|
||||
}
|
||||
}
|
||||
set ang [expr $ang + 360 * round(($old - $ang) / 360.0)]
|
||||
sct update $ang
|
||||
sct old $ang
|
||||
} else {
|
||||
error "bad result: [sct result]"
|
||||
}
|
||||
return idle
|
||||
}
|
||||
|
||||
proc taskit::write {} {
|
||||
set value 0
|
||||
set mode ff
|
||||
sct update [sct target]
|
||||
scan [hvali [sct objectPath]/dig] %x value
|
||||
scan [hvali [sct objectPath]/mode] %x mode
|
||||
sct send [format ":10000000030600FF%4.4X%4.4X.." $mode $value]
|
||||
return taskit::completeOut
|
||||
}
|
||||
|
||||
proc taskit::completeOut {} {
|
||||
sct update [sct target]
|
||||
return idle
|
||||
}
|
||||
|
||||
proc taskit::pulse {} {
|
||||
scan [hvali [sct objectPath]/dig] %x value
|
||||
scan [hvali [sct objectPath]/mode] %x mode
|
||||
set p [expr 1 << [sct target]]
|
||||
set value [expr $value & (255 - $p)]
|
||||
sct send [format ":10000000030600FF%4.4X%4.4X.." $mode $value]
|
||||
sct update [sct target]
|
||||
return taskit::pulsEnd
|
||||
}
|
||||
|
||||
proc taskit::pulsEnd {} {
|
||||
scan [hvali [sct objectPath]/dig] %x value
|
||||
scan [hvali [sct objectPath]/mode] %x mode
|
||||
set p [expr 1 << [sct target]]
|
||||
set value [expr $value | $p]
|
||||
sct send [format ":10000000030600FF%4.4X%4.4X.." $mode $value]
|
||||
return taskit::completeOut
|
||||
}
|
21
tcl/archive/drivers/testsync.tcl
Normal file
21
tcl/archive/drivers/testsync.tcl
Normal file
@ -0,0 +1,21 @@
|
||||
namespace eval testsync {
|
||||
}
|
||||
|
||||
proc stdConfig::testsync {} {
|
||||
controller syncedprot
|
||||
obj test wr
|
||||
prop write testsync::write
|
||||
prop read testsync::read
|
||||
}
|
||||
|
||||
proc testsync::write {} {
|
||||
_lev debug 0
|
||||
sctsync {lev mode [sct target]}
|
||||
return stdSct::completeUpdate
|
||||
}
|
||||
|
||||
proc testsync::read {} {
|
||||
_lev debug -1
|
||||
sct update [silent 0 hvali [sct]]
|
||||
return idle
|
||||
}
|
31
tcl/archive/drivers/ttdummy.tcl
Normal file
31
tcl/archive/drivers/ttdummy.tcl
Normal file
@ -0,0 +1,31 @@
|
||||
namespace eval ttdummy {} {
|
||||
}
|
||||
|
||||
proc stdConfig::ttdummy {} {
|
||||
controller syncedprot
|
||||
|
||||
obj NvDummy wr 1.5
|
||||
prop read ttdummy::update
|
||||
prop write ttdummy::update
|
||||
prop check ttdummy::update
|
||||
prop target 1.5
|
||||
|
||||
kids "tt dummy" {
|
||||
node set par 0
|
||||
|
||||
node tm par 1.5
|
||||
|
||||
node ts par 1.5
|
||||
|
||||
kids "settings" {
|
||||
node curve -text par "undefined"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc ttdummy::update {} {
|
||||
sct update [sct target]
|
||||
hset [sct]/tm [sct target]
|
||||
hset [sct]/ts [sct target]
|
||||
return idle
|
||||
}
|
10
tcl/archive/dummyvariox.config
Normal file
10
tcl/archive/dummyvariox.config
Normal file
@ -0,0 +1,10 @@
|
||||
deviceDesc = Dummy Variox
|
||||
|
||||
device stick_menu dil2
|
||||
|
||||
GraphAdd tt K T_VTI
|
||||
GraphAdd nv.flow mbar nv_flow
|
||||
|
||||
makenv nv nvdummy
|
||||
makenv tt ttdummy
|
||||
|
10
tcl/archive/esr.config
Normal file
10
tcl/archive/esr.config
Normal file
@ -0,0 +1,10 @@
|
||||
deviceDesc = ESR
|
||||
|
||||
defineTemperature tt
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm A -sensor x22297 -sensorname main
|
||||
lsc_loop set -loop 1 -channel A -maxheater 25W -resist 25Ohm
|
||||
}
|
||||
tt set/limit 315
|
||||
|
||||
|
12
tcl/archive/esr2.config
Normal file
12
tcl/archive/esr2.config
Normal file
@ -0,0 +1,12 @@
|
||||
deviceDesc = ESR
|
||||
|
||||
defineTemperature tt
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm C -sensor dt-470 -sensorname main
|
||||
lsc_loop set -loop 1 -channel C -maxheater 5W -resist 25Ohm
|
||||
}
|
||||
tt set/limit 315
|
||||
|
||||
makeCCU4 heox he
|
||||
|
||||
|
11
tcl/archive/hastings.addon
Normal file
11
tcl/archive/hastings.addon
Normal file
@ -0,0 +1,11 @@
|
||||
addonDesc = hastings over fluke 45 multimeter
|
||||
|
||||
makenv hastings -driver fluke45 {X * 10 + 0.4}
|
||||
|
||||
GraphAdd hastings ln/min h_flow dark_green
|
||||
|
||||
#change nv control variable to omron flow
|
||||
dolater 5 exe omronctrl.tcl
|
||||
|
||||
GraphAdd nv.flowp ln/min nv_flow_p
|
||||
|
5
tcl/archive/hefill.addon
Normal file
5
tcl/archive/hefill.addon
Normal file
@ -0,0 +1,5 @@
|
||||
addonDesc = add automatic He fill with ILM
|
||||
|
||||
makenv hefill -driver ccu4ext he lev
|
||||
hsetprop /hefill slow_cmd "lev mode 0"
|
||||
hsetprop /hefill fast_cmd "lev mode 1"
|
17
tcl/archive/heox.config
Normal file
17
tcl/archive/heox.config
Normal file
@ -0,0 +1,17 @@
|
||||
deviceDesc = HEOX cryostat for He3
|
||||
|
||||
defineTemperature tt
|
||||
|
||||
device stick_menu "heox_kappa"
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor ts B -sensor x34504 -sensorname He3_potold
|
||||
lsc_sensor tm A -sensor x89063 -sensorname He3-pot
|
||||
lsc_sensor tsorb D -sensor cab505 -sensorname Sorb
|
||||
lsc_sensor t1k C -sensor cs405 -sensorname 1K-Pot
|
||||
lsc_loop set -loop 1 -channel D -maxheater 5W -resist 40Ohm
|
||||
lsc_loop set2 -loop 2 -channel A -maxheater 1W -resist 100Ohm
|
||||
}
|
||||
tt set/limit 40
|
||||
|
||||
makeCCU4 heox he nv
|
21
tcl/archive/heox_kappa.stick
Normal file
21
tcl/archive/heox_kappa.stick
Normal file
@ -0,0 +1,21 @@
|
||||
stickDesc = heox thermal cond setup
|
||||
|
||||
|
||||
# lakeshore 370 ctrl
|
||||
makenv tkappa -driver 370_lsc -port ldmcc12-ts:3008 {
|
||||
# normal dil2 holder: u02045
|
||||
# weak link 2: m59
|
||||
# weak link with ring heater: ruoxben1k
|
||||
lsc_sensor t1 -channel 1 -sensor ruox5a -active 1 -excitation 63uV -color blue
|
||||
lsc_sensor t2 -channel 2 -sensor ruox5b -active 1 -excitation 63uV -color skyblue
|
||||
lsc_sensor ref -channel 3 -sensor x58542 -active 1 -excitation 200uV -color red
|
||||
# lsc_sensor heater -channel 5 -sensor ruox5k -active 1 -excitation 20uV -color cyan
|
||||
# lsc_sensor hepot -channel 6 -sensor raw -active 1 -excitation 200uV -color yellow
|
||||
|
||||
lsc_loop set -channel 2 -maxheater 0.31mA -resist 5000
|
||||
|
||||
}
|
||||
|
||||
makenv kheat -driver nanov -port ldmcc12-ts:3003
|
||||
|
||||
#debug tkappa
|
15
tcl/archive/hvah2700.stick
Normal file
15
tcl/archive/hvah2700.stick
Normal file
@ -0,0 +1,15 @@
|
||||
stickDesc = high voltage stick Andeen Hagerling 2700
|
||||
|
||||
stick_sensors x50923 x63854
|
||||
#ts_2 (second sensor):
|
||||
# x63854 normal sensor
|
||||
# x70261 marisas sample
|
||||
|
||||
GraphAdd tt.ts_2 K T_samp2 orange
|
||||
|
||||
makenv cap -driver ah2700
|
||||
|
||||
GraphAdd cap.cap pF Cap blue
|
||||
GraphAdd cap.loss tand Loss blue
|
||||
GraphAdd cap.freq Hz Freq blue
|
||||
|
13
tcl/archive/ihelium3.config
Normal file
13
tcl/archive/ihelium3.config
Normal file
@ -0,0 +1,13 @@
|
||||
deviceDesc = ihelium3 capacity and cryocon sniffer
|
||||
|
||||
makenv tc -driver ihelium3_cryocon -port ldmse5-ts:3012
|
||||
#makenv tc -driver cryocon_sniffer -port ldmse5-ts:3012
|
||||
|
||||
GraphAdd tc K T auto
|
||||
GraphAdd tc.ra Ohm R auto
|
||||
|
||||
makenv cap -driver ah2700
|
||||
|
||||
GraphAdd cap.cap pF Cap blue
|
||||
GraphAdd cap.loss tand Loss blue
|
||||
GraphAdd cap.freq Hz Freq blue
|
25
tcl/archive/ill1_chanb.config
Normal file
25
tcl/archive/ill1_chanb.config
Normal file
@ -0,0 +1,25 @@
|
||||
deviceDesc = orange cryostat with 50 mm sample space
|
||||
|
||||
defineTemperature tt
|
||||
device stick_menu ill1
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm A -sensor x71738 -sensorname VTI
|
||||
lsc_sensor tx B -sensor x71738
|
||||
lsc_sensor ts C -sensorname sample
|
||||
lsc_sensor ts_2 D -sensor code -sensorname sample2
|
||||
lsc_loop set -loop 1 -channel A -maxheater 50W -resist 50Ohm -color green
|
||||
# if {[lsdriver] eq "336_lsc"} {
|
||||
# lsc_loop setsamp -loop 2 -channel B -maxheater 62.5W -resist 40Ohm
|
||||
# }
|
||||
}
|
||||
tt set/limit 310
|
||||
tt maxwait 7200
|
||||
makeCCU4 ill1 nv n2 he
|
||||
hupdate /nv/set 1.5
|
||||
nv ctrl/deriv_o 10
|
||||
nv ctrl/deriv_c 10
|
||||
nv ctrl/prop_o 0.2
|
||||
nv ctrl/prop_c 0.1
|
||||
|
||||
source std_orange.table
|
25
tcl/archive/ill1heat.config
Normal file
25
tcl/archive/ill1heat.config
Normal file
@ -0,0 +1,25 @@
|
||||
deviceDesc = orange cryostat with 50 mm sample space
|
||||
|
||||
defineTemperature tt
|
||||
device stick_menu ill1
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm A -sensor x71738 -sensorname VTI
|
||||
# lsc_sensor tx B -sensorname extern
|
||||
lsc_sensor ts C -sensorname sample
|
||||
lsc_sensor ts_2 D -sensor code -sensorname sample2
|
||||
lsc_loop set -loop 1 -channel A -maxheater 50W -resist 50Ohm -color green
|
||||
if {[lsdriver] eq "336_lsc"} {
|
||||
lsc_loop setsamp -loop 2 -channel C -maxheater 62.5W -resist 40Ohm
|
||||
}
|
||||
}
|
||||
tt set/limit 310
|
||||
tt maxwait 7200
|
||||
makeCCU4 ill1 nv n2 he
|
||||
hupdate /nv/set 1.5
|
||||
nv ctrl/deriv_o 10
|
||||
nv ctrl/deriv_c 10
|
||||
nv ctrl/prop_o 0.2
|
||||
nv ctrl/prop_c 0.1
|
||||
|
||||
source std_orange.table
|
4
tcl/archive/ill4p.config
Normal file
4
tcl/archive/ill4p.config
Normal file
@ -0,0 +1,4 @@
|
||||
deviceDesc = orange cryostat with 70 mm sample space (FOCUS) prep
|
||||
|
||||
source ill4.config
|
||||
stick ill4
|
16
tcl/archive/ill5_nvstep.config
Normal file
16
tcl/archive/ill5_nvstep.config
Normal file
@ -0,0 +1,16 @@
|
||||
deviceDesc = orange cryostat with 100 mm sample space
|
||||
|
||||
defineTemperature tt
|
||||
device stick_menu "ill5 ill5p sch"
|
||||
stick ill5
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm B -sensor x34525 -sensorname VTI
|
||||
lsc_sensor ts C -sensorname sample
|
||||
lsc_sensor ts_2 D -sensor code -sensorname sample2
|
||||
lsc_loop set -loop 1 -channel B -maxheater 50W -resist 50Ohm -color green
|
||||
}
|
||||
tt set/limit 310
|
||||
makeCCU4 ill5 nvstep n2 he
|
||||
|
||||
source maxi_orange.table
|
7
tcl/archive/itc503nv.addon
Normal file
7
tcl/archive/itc503nv.addon
Normal file
@ -0,0 +1,7 @@
|
||||
addonDesc = ITC503 manual nedlevalve control
|
||||
|
||||
makenv nvoi -driver itc503p
|
||||
makenv softnv -driver piloop -invar "/nv/flow" -outvar "nvoi set" \
|
||||
-prop 10 -int 10
|
||||
|
||||
GraphAdd nvoi % nvpos dark_green
|
35
tcl/archive/jtccr_nopump.config
Normal file
35
tcl/archive/jtccr_nopump.config
Normal file
@ -0,0 +1,35 @@
|
||||
deviceDesc = CCR with JT-stage
|
||||
|
||||
defineTemperature tt
|
||||
makenv t -driver 340_lsc -port jtccr-ts:3008 {
|
||||
lsc_sensor main A x63710
|
||||
lsc_sensor samp B x67737
|
||||
lsc_loop set -loop 1 -channel A -maxheater 5W -resist 500Ohm
|
||||
}
|
||||
|
||||
makenv p1 dtm -port jtccr-ts:3001 1.
|
||||
GraphAdd p1 mbar p1 red
|
||||
|
||||
makenv p2 dtm -port jtccr-ts:3002 1.
|
||||
GraphAdd p2 bar p2 green
|
||||
|
||||
makenv p3 dtm -port jtccr-ts:3003 1.
|
||||
GraphAdd p3 bar p3 blue
|
||||
|
||||
makenv p4 dtm -port jtccr-ts:3004 1.
|
||||
GraphAdd p4 bar p4 yellow
|
||||
|
||||
makenv -objname pressreg -driver bronkpreg -port jtccr-ts:3005 0.000562468
|
||||
GraphAdd pressreg bar preg magenta
|
||||
|
||||
makenv -objname v -driver svumot -port jtccr-ts:3006 {
|
||||
v1 1 v2 2 v3 3 v4 4 v5 5 v6 6 v7 7 v8 mot
|
||||
}
|
||||
|
||||
|
||||
#makenv epc epc8210 -port jtccr-ts:3007 {jt-compressor 1 jt-pump 2 ccr-compressor 3}
|
||||
|
||||
#makenv jtccr jtccr
|
||||
|
||||
#debug t
|
||||
#t set 280
|
4
tcl/archive/kdvm2701.config
Normal file
4
tcl/archive/kdvm2701.config
Normal file
@ -0,0 +1,4 @@
|
||||
deviceDesc = Keithley DVM2701
|
||||
|
||||
makenv volt -driver kdvm -port 129.129.155.31:1394
|
||||
|
5
tcl/archive/kei195.config
Normal file
5
tcl/archive/kei195.config
Normal file
@ -0,0 +1,5 @@
|
||||
deviceDesc = keithley 195
|
||||
|
||||
makenv Volt kei195 -port Prologix-00-21-69-01-1b-34:1234
|
||||
|
||||
GraphAdd Volt|V|V|auto
|
11
tcl/archive/keith6517B.addon
Normal file
11
tcl/archive/keith6517B.addon
Normal file
@ -0,0 +1,11 @@
|
||||
addonDesc = keithley6517B (pls config port in addon)
|
||||
|
||||
|
||||
|
||||
kthMake dil2-ts:3006
|
||||
appendVars kth/pA/Kth/1 kth.volt/V/Volt/2
|
||||
kth file /home/l_samenv/kth
|
||||
kth time0 2
|
||||
kth time 10
|
||||
|
||||
|
3
tcl/archive/lambdapump.tcl
Normal file
3
tcl/archive/lambdapump.tcl
Normal file
@ -0,0 +1,3 @@
|
||||
proc lambdapumpLayout args {
|
||||
Label "reserved for lamdapump on PREP5"
|
||||
}
|
15
tcl/archive/ls340.config
Normal file
15
tcl/archive/ls340.config
Normal file
@ -0,0 +1,15 @@
|
||||
deviceDesc = lakeshore 340
|
||||
|
||||
defineTemperature tt
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm A -sensor X89135 -sensorname main
|
||||
lsc_loop set -loop 1 -channel A -maxheater 50W -resist 40Ohm
|
||||
}
|
||||
tt set/limit 315
|
||||
tt set/prop 15
|
||||
tt set/integ 10
|
||||
catch {
|
||||
enableTable 0
|
||||
}
|
||||
|
||||
|
23
tcl/archive/mango.config
Normal file
23
tcl/archive/mango.config
Normal file
@ -0,0 +1,23 @@
|
||||
deviceDesc = 5T System (1975)
|
||||
device stick_menu "dilmango dilRDR5 dilRDR2 dilRDRN"
|
||||
|
||||
GraphOrder K W
|
||||
|
||||
# levelmeter
|
||||
makeCCU4 mango nv he
|
||||
|
||||
cc hts 40
|
||||
cc htf 10
|
||||
cc hfu 200
|
||||
cc hem 550
|
||||
|
||||
# 250 l vessel:
|
||||
cc hem0 720
|
||||
|
||||
makenv mf -driver smc -port Prologix-00-21-69-01-19-57:1234
|
||||
mf gen/profile 5:1
|
||||
mf gen/profile_training 5:1
|
||||
GraphAdd mf T mf
|
||||
GraphAdd mf.smc.leads_set T mf_set
|
||||
GraphAdd mf.smc.leads_meas T mf_cur
|
||||
|
5
tcl/archive/n2fillccu.config
Normal file
5
tcl/archive/n2fillccu.config
Normal file
@ -0,0 +1,5 @@
|
||||
deviceDesc = LN2filler with CCU09.3
|
||||
|
||||
makenv n2 n2_ccu ccu
|
||||
appendVars n2.upper/K2/N2_Upper n2.lower/K2/N2_Lower
|
||||
|
16
tcl/archive/ori1_transp.stick
Normal file
16
tcl/archive/ori1_transp.stick
Normal file
@ -0,0 +1,16 @@
|
||||
stickDesc = ORI1 stick with tranport wiring
|
||||
|
||||
stick_sensors x17627 x70197
|
||||
|
||||
|
||||
makenv pulse -driver DAQ -port ldmprep34-ts:3004
|
||||
#makenv volt -driver nanov -port ma7-ts:3004
|
||||
#makenv curr -driver ksm2400 -port ma7-ts:3006
|
||||
|
||||
#makenv fn -driver fungen -port A-33210A-12119.psi.ch:5025
|
||||
#makenv la -driver lockin -port 10105266.psi.ch:50000
|
||||
|
||||
# with ssh tunnel:
|
||||
#makenv fn -driver fungen -port localhost:3015
|
||||
#makenv la -driver lockin -port localhost:3016
|
||||
|
17
tcl/archive/ori1ppms.config
Normal file
17
tcl/archive/ori1ppms.config
Normal file
@ -0,0 +1,17 @@
|
||||
deviceDesc = orange cryostat with 50 mm sample space
|
||||
|
||||
defineTemperature tt
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm B -sensor x68258 -sensorname VTI
|
||||
lsc_sensor tm_2 A -sensor pt-100 -sensorname VTI2 -is hidden
|
||||
lsc_sensor ts C -sensorname sample
|
||||
lsc_sensor code D -sensor code
|
||||
lsc_loop set -loop 1 -channel B -maxheater 50W -resist 50Ohm
|
||||
lsc_loop set2 -loop 2 -channel C -maxheater 50W -resist 80Ohm
|
||||
}
|
||||
tt set/limit 310
|
||||
makeCCU4 ori1 nv n2 he
|
||||
hupdate /nv/set 1.6
|
||||
|
||||
stick ppms
|
16
tcl/archive/ori2ppms.config
Normal file
16
tcl/archive/ori2ppms.config
Normal file
@ -0,0 +1,16 @@
|
||||
deviceDesc = orange cryostat with 100 mm sample space
|
||||
|
||||
defineTemperature tt
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm B -sensor x75608 -sensorname VTI
|
||||
lsc_sensor ts C -sensorname sample
|
||||
lsc_sensor code D -sensor code
|
||||
lsc_loop set -loop 1 -channel B -maxheater 50W -resist 50Ohm
|
||||
lsc_loop set2 -loop 2 -channel C -maxheater 50W -resist 80Ohm
|
||||
}
|
||||
tt set/limit 310
|
||||
makeCCU4 ori2 nv n2 he
|
||||
hupdate /nv/set 1.6
|
||||
|
||||
stick ppms
|
4
tcl/archive/ori4_testbottom.stick
Normal file
4
tcl/archive/ori4_testbottom.stick
Normal file
@ -0,0 +1,4 @@
|
||||
stickDesc = standard ORI4 stick (old)
|
||||
|
||||
stick_sensors x58600 x163061
|
||||
|
47
tcl/archive/startup/Datafile.tcl
Normal file
47
tcl/archive/startup/Datafile.tcl
Normal file
@ -0,0 +1,47 @@
|
||||
######################################
|
||||
proc DataFile {fname dt criterium} {
|
||||
set fd [open $fname a]
|
||||
puts $fd "# Time Temp Curr Volt"
|
||||
puts $fd "# sec K pA V "
|
||||
|
||||
set t0 [clock clicks -milliseconds]
|
||||
set time [expr ([clock clicks -milliseconds] - $t0) * 0.001]
|
||||
set temp [result tt ts]
|
||||
set curr [result kth]
|
||||
set volt [result kth volt]
|
||||
set nr 0
|
||||
hsetprop tt updateperiod $dt
|
||||
while {[expr $criterium]} {
|
||||
|
||||
set time [expr ([clock clicks -milliseconds] - $t0) * 0.001]
|
||||
set temp [result tt ts]
|
||||
set curr [result kth]
|
||||
set volt [result kth volt]
|
||||
set nr [expr $nr + 1]
|
||||
|
||||
puts $fd "$time $temp $curr $volt"
|
||||
|
||||
if {$nr > 10 } {
|
||||
close $fd
|
||||
set nr 0
|
||||
set fd [open $fname a]
|
||||
}
|
||||
|
||||
wait $dt
|
||||
|
||||
|
||||
}
|
||||
clientput "...done!"
|
||||
close $fd
|
||||
hsetprop tt updateperiod 5
|
||||
|
||||
}
|
||||
|
||||
####################################
|
||||
##example
|
||||
#set fname "testfile.dat"
|
||||
#set dt 1
|
||||
#set criterium {$time < 8.0}
|
||||
|
||||
#DataFile $fname $dt $criterium
|
||||
###################################
|
189
tcl/archive/startup/calib_ext.tcl
Normal file
189
tcl/archive/startup/calib_ext.tcl
Normal file
@ -0,0 +1,189 @@
|
||||
namespace eval calib {
|
||||
variable buf
|
||||
}
|
||||
|
||||
proc calib::next_temp {T} {
|
||||
variable buf
|
||||
|
||||
clientput "next_temp $T"
|
||||
tt tolerance [expr $T * 0.01]
|
||||
tt settle [expr $T + 60]
|
||||
run tt $T
|
||||
hsetprop /res @crit 0
|
||||
set buf(1) [list]
|
||||
set buf(2) [list]
|
||||
set buf(3) [list]
|
||||
set buf(4) [list]
|
||||
set buf(5) [list]
|
||||
set buf(6) [list]
|
||||
hsetprop /res @chanidx 0
|
||||
foreach channel [hgetpropval /res @channels] {
|
||||
hsetprop /res/s$channel/raw dif 1
|
||||
hsetprop /res/s$channel/raw endtime 0
|
||||
}
|
||||
}
|
||||
|
||||
proc calib::update_chan {value} {
|
||||
variable buf
|
||||
|
||||
if {[sct @crit] == 0} {
|
||||
if {[listexe] ne "Machine Idle"} {
|
||||
if {[hval /res/autoscan] == 0} {
|
||||
res autoscan 1
|
||||
}
|
||||
# stabilizing
|
||||
return
|
||||
}
|
||||
if {[result tt set] < 1.3 && [result tt set] > 311} {
|
||||
hepump valve 1
|
||||
hepump running 0
|
||||
calib::stop
|
||||
return
|
||||
}
|
||||
sct @crit 1
|
||||
res autoscan 0
|
||||
return
|
||||
}
|
||||
set i [sct @chanidx]
|
||||
set c [lindex [sct @channels] $i]
|
||||
if {$c != [sct @channel]} {
|
||||
if {$c != [hval /res]} {
|
||||
res s$c/active 1
|
||||
}
|
||||
return
|
||||
}
|
||||
set time [format %.3f [expr [DoubleTime] - [sct @basetime]]]
|
||||
lappend buf($c) $value
|
||||
if {[llength $buf($c)] >= [sct count]} {
|
||||
set mean [expr [::tcl::mathop::+ {*}$buf($c)] / double([llength $buf($c)])]
|
||||
set sum2 0
|
||||
foreach r $buf($c) {
|
||||
set sum2 [expr $sum2 + pow($r - $mean, 2)]
|
||||
}
|
||||
sct sigma [expr sqrt($sum2) / double([llength $buf($c)])]
|
||||
set buf($c) [list]
|
||||
set lastmean [sct lastmean]
|
||||
sct lastmean $mean
|
||||
set endtime [silent 0 sct endtime]
|
||||
if {$endtime > 0} {
|
||||
set interval [expr abs($time - $endtime) / 60.0]
|
||||
sct dif [expr (($mean - $lastmean) / double($mean)) / $interval]
|
||||
} else {
|
||||
sct dif 1
|
||||
}
|
||||
sct endtime $time
|
||||
clientput [format "time %.0f dif %.6f c %d interval %.2f R %.7g sigma %.7g" $time [sct dif] $c $interval $mean [sct sigma]]
|
||||
if {$c == [sct @calchan]} {
|
||||
set lastchan [lindex [sct @channels] [expr $i - 1]]
|
||||
hsetprop res/s$lastchan/raw refvalue [expr 0.5 * ($lastmean + $mean)]
|
||||
set maxdif 0
|
||||
foreach channel [sct @channels] {
|
||||
set dif [hgetpropval /res/s$channel/raw dif]
|
||||
if {abs($dif) > abs($maxdif)} {
|
||||
set maxdif $dif
|
||||
}
|
||||
}
|
||||
clientput "maxdif$i $maxdif"
|
||||
set save [sct @crit]
|
||||
if {$save == 1} {
|
||||
if {abs($maxdif) <= [sct @crit1]} {
|
||||
sct @nextsave $i
|
||||
sct @crit 2
|
||||
} else {
|
||||
set save 0
|
||||
}
|
||||
} else {
|
||||
if {$i == [sct @nextsave]} {
|
||||
sct @crit [expr $save + 1]
|
||||
} else {
|
||||
set save 0
|
||||
}
|
||||
}
|
||||
if {$save > 0} {
|
||||
catch {
|
||||
foreach channel [sct @channels] {
|
||||
if {$channel != [sct @calchan]} {
|
||||
set v [hgetpropval res/s$channel/raw lastmean]
|
||||
set rv [hgetpropval res/s$channel/raw refvalue]
|
||||
set sigma [hgetpropval res/s$channel/raw sigma]
|
||||
set endtime [hgetpropval res/s$channel/raw endtime]
|
||||
set fil [open [format [sct @basename] $save $channel] a]
|
||||
puts $fil [format "%.2f %.9g %.9g %.9g" $endtime $rv $v $sigma]
|
||||
close $fil
|
||||
}
|
||||
}
|
||||
} msg
|
||||
clientput SAVE/$save/$msg
|
||||
if {$save >= 3} {
|
||||
# finish T
|
||||
# next_temp [format %.3g [expr [result tt set] * 0.8912]]
|
||||
next_temp [format %.3g [expr [result tt set] * 1.778]]
|
||||
}
|
||||
}
|
||||
}
|
||||
incr i
|
||||
if {$i >= [llength [sct @channels]]} {
|
||||
set i 0
|
||||
}
|
||||
sct @chanidx $i
|
||||
res s[lindex [sct @channels] $i]/active 1
|
||||
}
|
||||
}
|
||||
|
||||
proc calib::set_chan {channel} {
|
||||
_res updatescript /res/s$channel/raw calib::update_chan
|
||||
hsetprop /res/s$channel/raw count 10
|
||||
hsetprop /res/s$channel/raw lastmean 0
|
||||
hsetprop /res/s$channel/raw dif 1
|
||||
}
|
||||
|
||||
proc calib::set_calchan {channel} {
|
||||
_res updatescript /res/s$channel/raw calib::update_chan
|
||||
hsetprop /res/s$channel/raw count 5
|
||||
hsetprop /res/s$channel/raw lastmean 0
|
||||
hsetprop /res/s$channel/raw dif 1
|
||||
}
|
||||
|
||||
proc calib::start {T args} {
|
||||
set calchan [lindex $args 0]
|
||||
|
||||
hsetprop /res @basetime [expr int([DoubleTime]/10) * 10]
|
||||
hsetprop /res @calchan $calchan
|
||||
hsetprop /res @chanidx 0
|
||||
hsetprop /res @crit 0
|
||||
# rel change / minute
|
||||
hsetprop /res @crit1 0.0005
|
||||
hsetprop /res @nextsave 0
|
||||
set_calchan $calchan
|
||||
set chanlist [list]
|
||||
foreach channel $args {
|
||||
if {$channel != $calchan} {
|
||||
set_chan $channel
|
||||
lappend chanlist $channel
|
||||
lappend chanlist $calchan
|
||||
}
|
||||
}
|
||||
hsetprop /res @channels $chanlist
|
||||
res autoscan 0
|
||||
hsetprop /res @basename "calib[clock format [clock seconds] -format "%Y-%m-%d"]_c%s_chan%s.dat"
|
||||
res s$calchan/active 1
|
||||
next_temp $T
|
||||
nv autoflow/getTemp calib::tmts
|
||||
}
|
||||
|
||||
proc calib::stop {} {
|
||||
foreach channel {1 2 3 4 5 6} {
|
||||
_res killupdatescript /res/s$channel/raw calib::update_chan
|
||||
}
|
||||
}
|
||||
|
||||
proc calib::tmts {} {
|
||||
set tm [silent 1 result tt tm]
|
||||
set ts [silent $tm hval /res/s[hgetpropval /res @calchan]]
|
||||
if {$ts < $tm} {
|
||||
return $ts
|
||||
} else {
|
||||
return $tm
|
||||
}
|
||||
}
|
||||
|
82
tcl/archive/startup/ihelium3.tcl
Normal file
82
tcl/archive/startup/ihelium3.tcl
Normal file
@ -0,0 +1,82 @@
|
||||
proc ihelium3_chebychev {coef z} {
|
||||
# coef: Zu Zl a0 a1 a2 ...
|
||||
set a2_n [lassign $coef zu zl a0 a1]
|
||||
set x [expr (($z - $zl) - ($zu - $z)) / double($zu - $zl)]
|
||||
set tn_2 1
|
||||
set tn_1 $x
|
||||
set y [expr $a0 * 0.5 + $a1 * $x]
|
||||
lappend conv $y
|
||||
foreach an $a2_n {
|
||||
set tn [expr 2 * $x * $tn_1 - $tn_2]
|
||||
set y [expr $y + $an * $tn]
|
||||
lappend conv $y
|
||||
set tn_2 $tn_1
|
||||
set tn_1 $tn
|
||||
}
|
||||
# clientput "zl=$zl zu=$zu z=$z x=$x $conv"
|
||||
return $y
|
||||
}
|
||||
|
||||
proc ihelium3_calib {sensorno} {
|
||||
upvar #0 ihelium3_$sensorno cal
|
||||
|
||||
set fil [open calcurves/#CMP${sensorno}Coefftable.dat]
|
||||
foreach B {0 0.2 0.4 0.6 0.8 1 2 3 4 5 6 7} {
|
||||
set cal($B) [gets $fil]
|
||||
}
|
||||
close $fil
|
||||
|
||||
set fil [open calcurves/#CMP${sensorno}HT_Coeff.dat]
|
||||
set c [list]
|
||||
while {[gets $fil line] >= 0} {
|
||||
if {[string index $line 0] ne "#"} {
|
||||
lappend c [string trim $line]
|
||||
}
|
||||
}
|
||||
close $fil
|
||||
set cal(HT) $c
|
||||
}
|
||||
|
||||
proc ihelium3_res2temp {sensorno B R} {
|
||||
upvar #0 ihelium3_$sensorno cal
|
||||
|
||||
set r [expr log10($R)]
|
||||
# clientput r=$r
|
||||
if {$r < [lindex $cal(0) 1]} {
|
||||
set t [ihelium3_chebychev $cal(HT) $r]
|
||||
} else {
|
||||
set B [expr abs($B)]
|
||||
if {$B >= 7} {
|
||||
set B0 6
|
||||
set B1 7
|
||||
set w 1
|
||||
} else {
|
||||
if {$B >= 1} {
|
||||
set B0 [expr int($B)]
|
||||
set B1 [expr $B0 + 1]
|
||||
} else {
|
||||
set B0 [format %g [expr int($B * 5) * 0.2]]
|
||||
set B1 [format %g [expr $B0 + 0.2]]
|
||||
}
|
||||
set w [expr (sqrt($B) - sqrt($B0)) / (sqrt($B1) - sqrt($B0))]
|
||||
}
|
||||
set t0 [ihelium3_chebychev $cal($B0) $r]
|
||||
set t1 [ihelium3_chebychev $cal($B1) $r]
|
||||
set t [expr (1 - $w) * $t0 + $w * $t1]
|
||||
}
|
||||
return [expr pow(10, $t)]
|
||||
}
|
||||
|
||||
proc ihelium3_tab {sensorno r} {
|
||||
foreach B {0 0.2 0.4 0.6 0.8 1 2 3 4 5 6 7} {
|
||||
set T [list $B]
|
||||
foreach R $r {
|
||||
set tt [ihelium3_res2temp $sensorno $B $R]
|
||||
if {$tt < 0.4} {
|
||||
break
|
||||
}
|
||||
lappend T $tt
|
||||
}
|
||||
clientput $T
|
||||
}
|
||||
}
|
7
tcl/archive/startup/istartup.tcl
Normal file
7
tcl/archive/startup/istartup.tcl
Normal file
@ -0,0 +1,7 @@
|
||||
set instr [result instrument]
|
||||
if {[file exists istartup/${instr}.tcl]} {
|
||||
exe istartup/${instr}.tcl
|
||||
}
|
||||
if {[file exists istartup/${instr}_delayed.tcl]} {
|
||||
dolater 5 exe istartup/${instr}_delayed.tcl
|
||||
}
|
56
tcl/archive/startup/mpms.tcl
Normal file
56
tcl/archive/startup/mpms.tcl
Normal file
@ -0,0 +1,56 @@
|
||||
#
|
||||
# Usage:
|
||||
#
|
||||
# mpms wait [<timeout> [<interval>]]
|
||||
#
|
||||
# wait for mpms script and return file content
|
||||
# timeout is a week by default, interval 1 second
|
||||
#
|
||||
# set text [mpms wait]
|
||||
#
|
||||
# alternative usage (polling):
|
||||
#
|
||||
# while {[mpms wait 1] ne ""} {
|
||||
# DO SOMETHING
|
||||
# }
|
||||
# set text [mpms wait]
|
||||
#
|
||||
# mpms continue
|
||||
#
|
||||
# continue mpms script (deleting the file)
|
||||
#
|
||||
|
||||
proc mpms {command {timeout 600000} {interval 1}} {
|
||||
global env
|
||||
|
||||
set path $env(HOME)/MPMS/ReqToExt.txt
|
||||
switch -- $command {
|
||||
wait {
|
||||
set start [DoubleTime]
|
||||
while 1 {
|
||||
if {[file exists $path]} {
|
||||
set fil [open $path r]
|
||||
set contents [read -nonewline $fil]
|
||||
close $fil
|
||||
return $contents
|
||||
}
|
||||
if {[DoubleTime] >= $start + $timeout} {
|
||||
return ""
|
||||
}
|
||||
wait $interval
|
||||
}
|
||||
}
|
||||
continue {
|
||||
if {[file exists $path]} {
|
||||
file delete $path
|
||||
return 1
|
||||
}
|
||||
return 0
|
||||
}
|
||||
default {
|
||||
error "what is $command ?"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishLazy mpms
|
199
tcl/archive/startup/n2fill.tcl
Normal file
199
tcl/archive/startup/n2fill.tcl
Normal file
@ -0,0 +1,199 @@
|
||||
#
|
||||
# Automatic N2 refill
|
||||
#
|
||||
# watching state (2):
|
||||
# if lower sensor falls below startvalue for more than startdelay seconds,
|
||||
# start fill, go to fillstart state (3)
|
||||
# fillstart state (3):
|
||||
# wait fillmini seconds, then go to filling state
|
||||
# filling state (4):
|
||||
# if upper sensor goes beyond fillvalue for more than filldelay seconds,
|
||||
# stip fill, go to quiet state (1)
|
||||
# quiet state (1):
|
||||
# wait stopmini seconds, then go to watching state (2)
|
||||
|
||||
proc makeN2fill {} {
|
||||
makeobject n2fillPar array logged
|
||||
n2fillPar makeitem state 0
|
||||
n2fillPar makeitem lower "tt tm"
|
||||
n2fillPar makeitem upper "tt ts"
|
||||
n2fillPar makeitem startvalue 100
|
||||
n2fillPar makeitem stopvalue 100
|
||||
n2fillPar makeitem lasttime 0
|
||||
n2fillPar makeitem lastcron 0
|
||||
n2fillPar makeitem startdelay 10
|
||||
n2fillPar makeitem stopdelay 5
|
||||
n2fillPar makeitem fillmini 10
|
||||
n2fillPar makeitem stopmini 60
|
||||
n2fillPar makeitem instance 0
|
||||
n2fillPar makeitem errcnt 0
|
||||
obj_list makeitem n2fillPar "LN2 refill parameters"
|
||||
Layout n2fill
|
||||
}
|
||||
|
||||
proc n2fillLayout args {
|
||||
Group n2fill "LN2 refill"
|
||||
}
|
||||
|
||||
proc n2fillGroup args {
|
||||
showStatus n2fill
|
||||
RadioGroup n2fill
|
||||
Label "LN2 refill"
|
||||
NoNewline
|
||||
CheckBox active "n2fill on"
|
||||
if {[result n2fill on]} {
|
||||
NoNewline
|
||||
CheckBox fill "n2fill fill"
|
||||
}
|
||||
NoNewline
|
||||
Label "state: [result n2fill]"
|
||||
Newline
|
||||
Tip "upper sensor parameter name"
|
||||
Input "upper sensor" "n2fillPar upper"
|
||||
Tip "lower sensor parameter name"
|
||||
Input "lower sensor" "n2fillPar lower"
|
||||
Newline
|
||||
Tip "switch-off value on upper sensor"
|
||||
Input "stop value" "n2fillPar stopvalue"
|
||||
Tip "switch-on value on lower sensor"
|
||||
Input "start value" "n2fillPar startvalue"
|
||||
Newline
|
||||
Input "start delay" "n2fillPar startdelay"
|
||||
Input "stop delay" "n2fillPar stopdelay"
|
||||
Newline
|
||||
Tip "minimum switch-on time"
|
||||
Input "minimum fill time" "n2fillPar fillmini"
|
||||
Tip "minimum switch-off time"
|
||||
Input "minimum stop time" "n2fillPar stopmini"
|
||||
Newline
|
||||
}
|
||||
|
||||
proc n2state {state} {
|
||||
n2fillPar lasttime [clock seconds]
|
||||
if {$state > 2} {
|
||||
clientput "valve ON"
|
||||
tt send relay 2:2,1
|
||||
} else {
|
||||
clientput "valve OFF"
|
||||
tt send relay 2:2,0
|
||||
}
|
||||
n2fillPar state $state
|
||||
}
|
||||
|
||||
proc n2fill {{action none} {value none}} {
|
||||
set now [clock seconds]
|
||||
set lasttime [result n2fillPar lasttime]
|
||||
set uval [result eval [result n2fillPar upper]]
|
||||
set lval [result eval [result n2fillPar lower]]
|
||||
set state [result n2fillPar state]
|
||||
set errcnt [result n2fillPar errcnt]
|
||||
switch -- $action {
|
||||
none {
|
||||
switch -- $state {
|
||||
0 { return "n2fill = off (0)" }
|
||||
1 { return "n2fill = quiet (1)" }
|
||||
2 { return "n2fill = watching (2)" }
|
||||
3 { return "n2fill = fillstart (3)" }
|
||||
4 { return "n2fill = filling (4)" }
|
||||
}
|
||||
}
|
||||
cron {
|
||||
n2fillPar lastcron $now
|
||||
if {$value != [result n2fillPar instance]} {
|
||||
n2state 0
|
||||
error "n2fill instance $value stopped"
|
||||
}
|
||||
if {$uval < 420 && $uval > 65 && $lval < 420 && $lval > 65} {
|
||||
n2fillPar errcnt 0
|
||||
} else {
|
||||
incr errcnt
|
||||
if {$errcnt >= 5} {
|
||||
n2state 0
|
||||
error "illegal upper ($uval) or lower ($lval) temperature"
|
||||
}
|
||||
n2fillPar errcnt $errcnt
|
||||
return
|
||||
}
|
||||
switch -- $state {
|
||||
3 {
|
||||
if {$now > $lasttime + [result n2fillPar fillmini]} {
|
||||
n2state 4
|
||||
}
|
||||
}
|
||||
4 {
|
||||
if {$uval < [result n2fillPar stopvalue]} {
|
||||
if {$now > $lasttime + [result n2fillpar stopdelay]} {
|
||||
n2state 1
|
||||
}
|
||||
} else {
|
||||
n2fillpar lasttime $now
|
||||
}
|
||||
}
|
||||
1 {
|
||||
if {$now > $lasttime + [result n2fillPar stopmini]} {
|
||||
n2state 2
|
||||
}
|
||||
}
|
||||
2 {
|
||||
if {$lval > [result n2fillPar startvalue] && $lval < 250} {
|
||||
if {$now > $lasttime + [result n2fillpar startdelay]} {
|
||||
n2state 3
|
||||
}
|
||||
} else {
|
||||
n2fillpar lasttime $now
|
||||
}
|
||||
}
|
||||
default {
|
||||
error "n2fill stopped with state $state"
|
||||
}
|
||||
}
|
||||
}
|
||||
on {
|
||||
switch -- $value {
|
||||
1 {
|
||||
set instance [result n2fillPar instance]
|
||||
incr instance
|
||||
n2fillPar instance $instance
|
||||
sicscron 1 n2fill cron $instance
|
||||
n2state 2
|
||||
return "n2fill.on = 1"
|
||||
}
|
||||
0 {
|
||||
n2state 0
|
||||
return "n2fill.on = 0"
|
||||
}
|
||||
none {
|
||||
if {$now > [result n2fillPar lastcron] + 10} {
|
||||
return "n2fill.on = 0"
|
||||
}
|
||||
if {$state > 0} {
|
||||
return "n2fill.on = 1"
|
||||
} else {
|
||||
return "n2fill.on = 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
fill {
|
||||
switch -- $value {
|
||||
1 {
|
||||
n2state 4
|
||||
return "n2fill.fill = 1"
|
||||
}
|
||||
0 {
|
||||
n2state 2
|
||||
return "n2fill.fill = 1"
|
||||
}
|
||||
none {
|
||||
if {$state > 2} {
|
||||
return "n2fill.fill = 1"
|
||||
} else {
|
||||
return "n2fill.fill = 0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
publishLazy n2fill spy
|
33
tcl/archive/startup/nvstep.tcl
Normal file
33
tcl/archive/startup/nvstep.tcl
Normal file
@ -0,0 +1,33 @@
|
||||
namespace eval nvstep {
|
||||
}
|
||||
|
||||
proc nvstep::trans {value {val2 none}} {
|
||||
if {$value eq "inv"} {
|
||||
if {$val2 > 1.9} {
|
||||
return [expr $val2 * 100 - 180]
|
||||
}
|
||||
if {$val2 > 1.0} {
|
||||
return [expr 1.0 / (2 - $val2)]
|
||||
}
|
||||
return $val2
|
||||
}
|
||||
if {$val2 eq "none"} {
|
||||
if {$value > 10} {
|
||||
return [expr ($value + 180) * 0.01]
|
||||
}
|
||||
if {$value > 1} {
|
||||
return [expr 2 - 1.0 / $value]
|
||||
}
|
||||
return $value
|
||||
}
|
||||
error "illegal arguments: nvstep::trans $value $val2"
|
||||
}
|
||||
|
||||
proc nvstep::out {motpath {value none}} {
|
||||
if {$value eq "none"} {
|
||||
return [hvali $motpath]
|
||||
}
|
||||
if {[hgetpropval $motpath status] ne "run"} {
|
||||
hset $motpath $value
|
||||
}
|
||||
}
|
434
tcl/archive/startup/secop.tcl
Normal file
434
tcl/archive/startup/secop.tcl
Normal file
@ -0,0 +1,434 @@
|
||||
namespace eval SECoP {} {
|
||||
}
|
||||
|
||||
proc SECoP::check_range {{low None} {high None}} {
|
||||
[sct controller] timeout 0.001
|
||||
if {$low ne "None" && [sct target] < $low} {
|
||||
error "value [sct target] must be >= $low"
|
||||
}
|
||||
if {$high ne "None" && [sct target] > $high} {
|
||||
error "value [sct target] must be <= $high"
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::check_bool {} {
|
||||
[sct controller] timeout 0.001
|
||||
switch -- [string tolower [sct target]] {
|
||||
off - false - no - 0 - on - true - yes - 1 {
|
||||
return
|
||||
}
|
||||
}
|
||||
error "illegal value for boolean: [sct target]"
|
||||
}
|
||||
|
||||
proc SECoP::check_length {{low None} {high None}} {
|
||||
if {$low ne "None" && [string length [sct target]] < $low} {
|
||||
error "value [sct target] must not be shorter than $low"
|
||||
}
|
||||
if {$high ne "None" && [string length [sct target]] > $high} {
|
||||
error "value [sct target] must not be longer than $high"
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::make_par {secopar desc {kind ""}} {
|
||||
set path [topath $secopar [silent "" dict get $desc group]]
|
||||
array set props $desc
|
||||
set validator_args [lassign [silent "" set props(datatype)] secoptype0]
|
||||
if {$secoptype0 eq "tuple" && [string match *:status $secopar]} {
|
||||
lassign $validator_args elements
|
||||
make_par0 text ${path}_text $secopar $desc
|
||||
hsetprop ${path}_text width 24
|
||||
set validator_args [lassign [lindex $elements 0] secoptype]
|
||||
set status_node 1
|
||||
} else {
|
||||
set secoptype $secoptype0
|
||||
set status_node 0
|
||||
}
|
||||
switch -- $secoptype {
|
||||
double {set type float}
|
||||
int - enum {set type int}
|
||||
string {
|
||||
set type text
|
||||
# can not use SICS drivable for string
|
||||
set kind ""
|
||||
}
|
||||
bool {set type text}
|
||||
none {set type none}
|
||||
default {
|
||||
clientput "unknown type for $secopar (use text): $secoptype ($props(datatype))"
|
||||
set type text
|
||||
}
|
||||
}
|
||||
make_par0 $type $path $secopar $desc $kind
|
||||
hsetprop $path secoptype $secoptype0
|
||||
if {$status_node} {
|
||||
hsetprop $path nonewline 1
|
||||
}
|
||||
switch -- $secoptype {
|
||||
enum {
|
||||
set enumprop [list]
|
||||
set wid 8
|
||||
foreach {name value} [lindex $validator_args 0] {
|
||||
lappend enumprop "$name=$value"
|
||||
set wid [expr max($wid,[string length $name])]
|
||||
}
|
||||
hsetprop $path enum [join $enumprop ,]
|
||||
if {$wid > 8} {
|
||||
hsetprop $path width $wid
|
||||
}
|
||||
}
|
||||
bool {
|
||||
hsetprop $path enum 1
|
||||
hsetprop $path validator SECoP::check_bool
|
||||
}
|
||||
double - int {
|
||||
hsetprop $path validator [concat SECoP::check_range $validator_args]
|
||||
}
|
||||
string {
|
||||
hsetprop $path width 16
|
||||
hsetprop $path validator [concat SECoP::check_range $validator_args]
|
||||
}
|
||||
}
|
||||
return $path
|
||||
}
|
||||
|
||||
proc SECoP::make_par0 {type path secopar desc {kind std}} {
|
||||
array set props $desc
|
||||
# clientput "$path $desc"
|
||||
set readonly [silent 0 set props(readonly)]
|
||||
if {$readonly} {
|
||||
set priv internal
|
||||
} else {
|
||||
set priv user
|
||||
}
|
||||
if {[silent "" hinfo $path] ne ""} {
|
||||
error "$path exists already!"
|
||||
}
|
||||
lassign [split $path /] nul obj par
|
||||
if {$par eq ""} {
|
||||
if {$kind eq "driv"} {
|
||||
dynsctdriveobj $obj float user SECoP [sct controller]
|
||||
hfactory $path link $obj
|
||||
hsetprop $obj checklimits SECoP::checklimits
|
||||
hsetprop $obj halt SECoP::halt
|
||||
# allow start without run:
|
||||
hsetprop $obj check SECoP::checklimits
|
||||
hsetprop $obj write SECoP::complete_run
|
||||
set readonly 0
|
||||
hsetprop $obj sicscommand "run $obj"
|
||||
} else {
|
||||
# clientput "OBJ $obj $type"
|
||||
dynsicsobj $obj SECoP $priv $type
|
||||
hfactory $path link $obj
|
||||
}
|
||||
hsetprop $path group $obj
|
||||
hsetprop $path objectPath $path
|
||||
hsetprop /sics/[sct controller] p_$secopar:value $path
|
||||
} else {
|
||||
if {$par eq "status"} {
|
||||
set path /$obj/s_status
|
||||
}
|
||||
# clientput "PAR $path $type"
|
||||
hfactory $path plain $priv $type
|
||||
if {[info exists props(visibility)]} {
|
||||
if {$props(visibility) >= 3} {
|
||||
hsetprop $path visible false
|
||||
}
|
||||
}
|
||||
}
|
||||
hsetprop $path secopar $secopar
|
||||
hsetprop /sics/[sct controller] p_$secopar $path
|
||||
if {!$readonly} {
|
||||
[sct controller] write $path
|
||||
} else {
|
||||
[sct controller] connect $path
|
||||
}
|
||||
logsetup $path 1
|
||||
if {[info exists props(value)]} {
|
||||
clientput "VALUE in descr $path"
|
||||
if {[catch {hupdate /$path $props(value)} msg]} {
|
||||
clientput $msg
|
||||
}
|
||||
unset props(value)
|
||||
}
|
||||
set fmtunit ""
|
||||
if {[info exists props(unit)]} {
|
||||
set fmtunit [format { [%s]} $props(unit)]
|
||||
if {$par eq "" || $par eq "target"} {
|
||||
if {[sct shownUnits] eq "ALL" || [lsearch [sct shownUnits] $props(unit)] >= 0} {
|
||||
GraphAdd $path $props(unit) [join [lrange [split $path /] 1 end] .]
|
||||
}
|
||||
}
|
||||
}
|
||||
if {[info exists props(description)]} {
|
||||
hsetprop $path help "$props(description)$fmtunit"
|
||||
unset props(description)
|
||||
}
|
||||
foreach {prop item} [array get props] {
|
||||
hsetprop $path s_$prop $item
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::make_cmd {secopar desc {first 0}} {
|
||||
array set props $desc
|
||||
set path [topath $secopar [silent "" dict get $desc group]]
|
||||
set cmd [join [lassign [split $path /] _ obj] /]
|
||||
lassign [lindex [silent "" set props(datatype)] 1] secoptype validator
|
||||
if {$secoptype eq "None"} {
|
||||
$obj makescriptfunc $cmd "SECoP::check_cmd [sct secoppath] $secopar" user
|
||||
hsetprop $path newline $first
|
||||
hsetprop $path secopar $secopar
|
||||
hsetprop $path sicscommand "$obj $cmd"
|
||||
if {[info exists props(visibility)]} {
|
||||
if {$props(visibility) >= 3} {
|
||||
hsetprop $path visible false
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if {[llength $secoptype] == 1} {
|
||||
set secoptype [lindex $secoptype 0]
|
||||
}
|
||||
dict set desc datatype $secoptype
|
||||
make_par $secopar $desc
|
||||
lassign $secoptype maintype
|
||||
if {$maintype eq "double" || $maintype eq "int" || $maintype eq "bool"} {
|
||||
hsetprop $path check "SECoP::check_cmd_num [sct secoppath] $secopar"
|
||||
} else {
|
||||
hsetprop $path check "SECoP::check_cmd_text [sct secoppath] $secopar"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::check_cmd {secoppath secopar} {
|
||||
hset $secoppath "do $secopar"
|
||||
}
|
||||
|
||||
proc SECoP::check_cmd_num {secoppath secopar} {
|
||||
hset $secoppath [format {do %s %.15g} $secopar [sct target]]
|
||||
sct update [sct target]
|
||||
}
|
||||
|
||||
proc SECoP::check_cmd_text {secoppath secopar} {
|
||||
hset $secoppath [format {do %s "%s"} $secopar [sct target]]
|
||||
sct update [sct target]
|
||||
}
|
||||
|
||||
proc SECoP::make_module {obj desc} {
|
||||
clientput "MAKE_MODULE $obj"
|
||||
if {[obj_list exists $obj]} {
|
||||
clientput "$obj exists already"
|
||||
return
|
||||
}
|
||||
obj_list makeitem $obj /$obj
|
||||
|
||||
array unset modprop
|
||||
set parlist [list]
|
||||
set pardict [dict create]
|
||||
foreach {key item} $desc {
|
||||
switch $key {
|
||||
accessibles {
|
||||
foreach acsitm $item {
|
||||
lassign $acsitm parname pardesc
|
||||
dict set pardict $parname $pardesc
|
||||
}
|
||||
}
|
||||
default {
|
||||
set modprop($key) $item
|
||||
}
|
||||
}
|
||||
}
|
||||
if {[dict exists $pardict value]} {
|
||||
set value [dict get $pardict value]
|
||||
dict unset pardict value
|
||||
} else {
|
||||
set value [dict create datatype none]
|
||||
}
|
||||
set classes [silent "" set modprop(interface_class)]
|
||||
if {[string match "* Drivable *" " $classes "]} {
|
||||
set path [make_par $obj $value driv]
|
||||
} else {
|
||||
set path [make_par $obj $value]
|
||||
}
|
||||
if {[info exists modprop(visibility)] && $modprop(visibility) >= 3} {
|
||||
hdelprop $path group
|
||||
}
|
||||
foreach {prop val} [array get modprop] {
|
||||
hsetprop $obj sm_$prop $val
|
||||
}
|
||||
device_layout makeitem /$obj [silent 0 set modprop(layoutpos)]
|
||||
|
||||
set groups [dict create]
|
||||
foreach {parname pardesc} $pardict {
|
||||
if {[dict exists $pardesc group]} {
|
||||
dict set groups [dict get $pardesc group] 1
|
||||
}
|
||||
}
|
||||
foreach g [dict keys $groups] {
|
||||
clientput "GROUP $g"
|
||||
hfactory $obj/$g plain user none
|
||||
hsetprop $obj/$g group "group $g"
|
||||
}
|
||||
set shortcmds [list]
|
||||
foreach {parname pardesc} $pardict {
|
||||
set datatype [dict get $pardesc datatype]
|
||||
if {[lindex $datatype 0] eq "command"} {
|
||||
if {[lindex $datatype 1] ne "None"} {
|
||||
# only commands with arguments
|
||||
make_cmd $obj:$parname $pardesc 1
|
||||
} else {
|
||||
lappend shortcmds $parname $pardesc
|
||||
}
|
||||
} else {
|
||||
make_par $obj:$parname $pardesc
|
||||
}
|
||||
}
|
||||
# then commands without arguments, on one line
|
||||
set first 1
|
||||
foreach {parname pardesc} $shortcmds {
|
||||
make_cmd $obj:$parname $pardesc $first
|
||||
set first 0
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::make_node {desc} {
|
||||
array unset nodeprop
|
||||
set modlist [list]
|
||||
foreach {key item} $desc {
|
||||
switch $key {
|
||||
modules {
|
||||
set modlist $item
|
||||
}
|
||||
default {
|
||||
set nodeprop($key) $item
|
||||
}
|
||||
}
|
||||
}
|
||||
foreach moditem $modlist {
|
||||
lassign $moditem modname moddesc
|
||||
make_module $modname $moddesc
|
||||
}
|
||||
foreach {prop val} [array get nodeprop] {
|
||||
sct sn_$prop $val
|
||||
}
|
||||
sort_layout
|
||||
}
|
||||
|
||||
proc SECoP::topath {secopar {pargroup ""}} {
|
||||
lassign [split [string tolower $secopar] :] module parameter
|
||||
if {$parameter eq "value" || $parameter eq ""} {
|
||||
return "/$module"
|
||||
}
|
||||
if {$parameter eq "status"} {
|
||||
set parameter s_status
|
||||
}
|
||||
if {[string match {_*} $parameter]} {
|
||||
set parameter [string range $parameter 1 end]
|
||||
}
|
||||
if {$pargroup ne ""} {
|
||||
return "/$module/$pargroup/$parameter"
|
||||
}
|
||||
return "/$module/$parameter"
|
||||
}
|
||||
|
||||
proc SECoP::msg_describing {secnode specifier val} {
|
||||
do_as_manager {
|
||||
make_node $val
|
||||
}
|
||||
$secnode activate
|
||||
}
|
||||
|
||||
proc SECoP::msg_changed {secnode par val} {
|
||||
variable sentto_$secnode
|
||||
if {[string match *:target $par]} {
|
||||
hsetprop /$obj writestatus done
|
||||
}
|
||||
hsetprop $path changed 0
|
||||
if {[lrange [set sentto_$secnode] 0 1] eq [list change $par]} {
|
||||
set message_to_client "change $par $val"
|
||||
}
|
||||
msg_update $secnode $par $val change
|
||||
}
|
||||
|
||||
proc SECoP::msg_update {secnode par val {action update}} {
|
||||
if {$action eq "update"} {
|
||||
if {[DoubleTime] < [silent 0 hgetpropval $path changed] + 10} {
|
||||
# ignore updates of variables during change
|
||||
# clientput "ignore [sct result]"
|
||||
return
|
||||
}
|
||||
if {[lrange $sent_message 0 1] eq [list read $par]} {
|
||||
set message_to_client "$action $par $val"
|
||||
}
|
||||
}
|
||||
lassign $val value qual
|
||||
if {[silent 0 hgetpropval $path secoptype] eq "tuple" &&
|
||||
[string match *:status $par]} {
|
||||
if {[llength $value] > 2} {
|
||||
set text_value [lrange $value 1 end]
|
||||
} else {
|
||||
set text_value [lindex $value 1]
|
||||
}
|
||||
set objpath [sct parent $path]
|
||||
set visible_old [silent true hgetpropval $objpath visible]
|
||||
if {$text_value ne "disabled"} {
|
||||
set visible_new true
|
||||
set shown 1
|
||||
} else {
|
||||
set visible_new false
|
||||
set shown 0
|
||||
}
|
||||
if {$visible_new ne $visible_old} {
|
||||
hsetprop $objpath visible $visible_new
|
||||
GraphItem shown $objpath $shown
|
||||
}
|
||||
lassign $value value
|
||||
if {[catch {updateval ${path}_text $text_value}]} {
|
||||
clientput "cannot update ${path}_text to $text_value"
|
||||
clientput "MSG($action $par $val)"
|
||||
}
|
||||
if {[string match *:status $par]} {
|
||||
if {[silent 0 hgetpropval /$obj writestatus] eq "start"} {
|
||||
set status run
|
||||
} elseif {[string match 3* $value]} {
|
||||
set status run
|
||||
} elseif {[string match 4* $value]} {
|
||||
set status posfault
|
||||
} else {
|
||||
set status idle
|
||||
}
|
||||
hsetprop /$obj status $status
|
||||
}
|
||||
}
|
||||
if {[catch {updateval $path $value} msg]} {
|
||||
if {$value eq "None"} {
|
||||
hsetprop $path geterror None
|
||||
} else {
|
||||
clientput "cannot update $path to $value"
|
||||
clientput $msg
|
||||
}
|
||||
} elseif {[string match *:target $par]} {
|
||||
# clientput [sct result]/[silent "" hgetpropval /$obj status]
|
||||
if {[silent "" hgetpropval /$obj status] eq "idle"} {
|
||||
hsetprop /$obj target $value
|
||||
}
|
||||
}
|
||||
catch {
|
||||
hsetprop $path timestamp [dict get $qual t]
|
||||
}
|
||||
}
|
||||
|
||||
proc SECoP::msg_pong {secnode args} {
|
||||
clientlog "pong $secnode $args"
|
||||
}
|
||||
|
||||
proc SECoP::msg_done {secnode args} {
|
||||
clientlog "done $secnode $args"
|
||||
}
|
||||
|
||||
proc SECoP::msg_active {secnode args} {
|
||||
clientlog "active $secnode $args"
|
||||
}
|
||||
|
||||
proc SECoP::msg_error {secnode args} {
|
||||
clientlog "error $secnode $args"
|
||||
}
|
195
tcl/archive/startup/store.tcl
Normal file
195
tcl/archive/startup/store.tcl
Normal file
@ -0,0 +1,195 @@
|
||||
proc get_next_filename {} {
|
||||
set file [store file]
|
||||
set filepattern [file join [result exe batchpath] $file]
|
||||
set nameformat [string map "* [store numfmt]" $filepattern]
|
||||
if {$nameformat eq $filepattern} {
|
||||
# no * in filepattern
|
||||
if {![file exists $filepattern]} {
|
||||
# simple filename
|
||||
store path [file normalize $filepattern]
|
||||
return $filepattern
|
||||
}
|
||||
# insert * before . or at end
|
||||
set split [split $file .]
|
||||
if {[llength $split] == 1} {
|
||||
lappend split ""
|
||||
}
|
||||
set file [join [linsert $split end-1 *] .]
|
||||
store file $file
|
||||
set filepattern [file join [result exe batchpath] $file]
|
||||
set nameformat [string map "* [store numfmt]" $filepattern]
|
||||
set num 0
|
||||
store num 0
|
||||
} else {
|
||||
set num [store num]
|
||||
}
|
||||
set path [format $nameformat $num]
|
||||
if {$num == 0 || [file exists $path]} {
|
||||
# determine next num
|
||||
set n $num
|
||||
foreach p [glob -nocomplain $filepattern] {
|
||||
scan $p $nameformat n
|
||||
if {$n > $num} {
|
||||
set num $n
|
||||
}
|
||||
}
|
||||
incr num
|
||||
store num $num
|
||||
set path [format $nameformat $num]
|
||||
}
|
||||
store path [file normalize $path]
|
||||
return $path
|
||||
}
|
||||
|
||||
proc store {{command ""} args} {
|
||||
if {[sicsdescriptor store_array] ne "array"} {
|
||||
makeobject store_array array
|
||||
store_array makeitem numfmt %04d
|
||||
store_array makeitem file data.txt
|
||||
store_array makeitem path
|
||||
store_array makeitem vars
|
||||
store_array makeitem num 0
|
||||
}
|
||||
switch -- $command {
|
||||
open {
|
||||
store_array vars $args
|
||||
set f [open [get_next_filename] w]
|
||||
set i 1
|
||||
foreach var $args {
|
||||
puts $f [format "# col %d: %s (%s)" $i $var [GraphItem label $var]]
|
||||
incr i
|
||||
}
|
||||
close $f
|
||||
return "open [store path]"
|
||||
}
|
||||
put {
|
||||
set row [list]
|
||||
foreach var [split [store vars]] {
|
||||
lappend row [get_var_value $var]
|
||||
}
|
||||
set f [open [store path] a]
|
||||
puts $f [join $row "\t"]
|
||||
close $f
|
||||
}
|
||||
"" - list {
|
||||
set result [join {
|
||||
"store open <var1> <var2> ... # open file for storing named variables"
|
||||
"store put # write a row with values of variables"
|
||||
} "\n"]
|
||||
foreach key [store_array items] {
|
||||
append result "\nstore $key [result store_array $key]"
|
||||
}
|
||||
return $result
|
||||
}
|
||||
default {
|
||||
set l [llength $args]
|
||||
if {$l > 1} {
|
||||
error "Usage: store $command \[<$command>\]"
|
||||
}
|
||||
if {![store_array exists $command]} {
|
||||
error "what is 'store $command'?"
|
||||
}
|
||||
if {$l == 1} {
|
||||
if {$command eq "file" || $command eq "numfmt" } {
|
||||
store_array num 0
|
||||
}
|
||||
store_array $command $args
|
||||
}
|
||||
return "[result store_array $command]"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
namespace eval varscan {} {
|
||||
variable waittime 10
|
||||
variable cmd ""
|
||||
variable reltol 0
|
||||
variable digits 6
|
||||
|
||||
proc reltol {rel args} {
|
||||
variable reltol
|
||||
variable tolcmd
|
||||
|
||||
set reltol [expr abs($rel)]
|
||||
set tolcmd $args
|
||||
}
|
||||
|
||||
proc do {args} {
|
||||
variable waittime
|
||||
variable cmd
|
||||
variable last
|
||||
variable reltol
|
||||
variable tolcmd
|
||||
variable digits
|
||||
|
||||
foreach value $args {
|
||||
if {$reltol != 0} {
|
||||
eval "$tolcmd [format %.${digits}g [expr $reltol * $value]]"
|
||||
}
|
||||
set starttime [DoubleTime]
|
||||
clientput "$cmd $value"
|
||||
eval "$cmd $value"
|
||||
wait [expr max(0, $starttime + $waittime - [DoubleTime])]
|
||||
store put
|
||||
set last $value
|
||||
}
|
||||
}
|
||||
|
||||
proc linear {encode value} {
|
||||
return $value
|
||||
}
|
||||
|
||||
proc log {encode value} {
|
||||
variable digits
|
||||
if {$encode} {
|
||||
return [expr log10($value)]
|
||||
}
|
||||
return [format %.${digits}g [expr 10 ** $value]]
|
||||
}
|
||||
|
||||
proc dosteps {step endarg {func linear}} {
|
||||
variable last
|
||||
variable precision
|
||||
variable reltol
|
||||
variable digits
|
||||
|
||||
set end [$func 1 $endarg]
|
||||
set val [$func 1 $last]
|
||||
if {$end < $val} {
|
||||
set step [expr -abs($step)]
|
||||
} else {
|
||||
set step [expr abs($step)]
|
||||
}
|
||||
set precision [expr max(abs($step) * 0.1, $reltol)]
|
||||
set prec 0.1
|
||||
for {set digits 2} {$prec > $precision} {incr digits} {
|
||||
set prec [expr $prec * 0.1]
|
||||
}
|
||||
while 1 {
|
||||
set val [expr $val + $step]
|
||||
if {($end - $val) / $step < 0.5} {
|
||||
break
|
||||
}
|
||||
do [$func 0 $val]
|
||||
}
|
||||
do $endarg
|
||||
set digits 6
|
||||
}
|
||||
|
||||
proc waittime {wait} {
|
||||
variable waittime
|
||||
set waittime $wait
|
||||
}
|
||||
|
||||
proc command {args} {
|
||||
variable cmd
|
||||
set cmd $args
|
||||
}
|
||||
}
|
||||
|
||||
proc varscan {code} {
|
||||
namespace eval varscan $code
|
||||
}
|
||||
|
||||
publishLazy store
|
||||
publishLazy varscan
|
10
tcl/archive/test_ana8.config
Normal file
10
tcl/archive/test_ana8.config
Normal file
@ -0,0 +1,10 @@
|
||||
deviceDesc = "test ana8 (8 analog channels using taskit RS232 ADC)"
|
||||
|
||||
set div [expr (3.6 / 1.1 + 1)]
|
||||
set div100 [expr (3.6 / 1.1 + 1) * 100]
|
||||
makenv a4 -driver ana8 -controller ana -port ldmlab1-ts:3005 4 $div 0 tpr010
|
||||
makenv a0 -driver ana8 -controller ana -port ldmlab1-ts:3005 0 $div100
|
||||
|
||||
GraphAdd a4 V
|
||||
#GraphAdd a1 V
|
||||
#GraphAdd a2 V
|
3
tcl/archive/test_avs45.config
Normal file
3
tcl/archive/test_avs45.config
Normal file
@ -0,0 +1,3 @@
|
||||
deviceDesc = "AVS45 test"
|
||||
|
||||
makenv t -driver avs45 -port ldmlab1-ts:3015
|
1
tcl/archive/test_bin.config
Normal file
1
tcl/archive/test_bin.config
Normal file
@ -0,0 +1 @@
|
||||
makenv b -driver bin
|
10
tcl/archive/test_flowmeter.config
Normal file
10
tcl/archive/test_flowmeter.config
Normal file
@ -0,0 +1,10 @@
|
||||
deviceDesc = flowmeter test
|
||||
|
||||
makeCCU4 ori1 nv sensirion
|
||||
hupdate /nv/set 1.6
|
||||
|
||||
makenv hastings -driver fluke45 {X * 10 + 0.4}
|
||||
|
||||
GraphAdd hastings ln/min h_flow dark_green
|
||||
|
||||
GraphAdd cc.f mbar p
|
3
tcl/archive/test_taskit.config
Normal file
3
tcl/archive/test_taskit.config
Normal file
@ -0,0 +1,3 @@
|
||||
deviceDesc = taskit test
|
||||
|
||||
makenv t -driver taskit
|
20
tcl/be-filter-focus.config
Normal file
20
tcl/be-filter-focus.config
Normal file
@ -0,0 +1,20 @@
|
||||
deviceDesc = CryoTel be-filter
|
||||
|
||||
makenv tt -driver [lsdriver] {
|
||||
lsc_sensor tm A -sensor pt-100
|
||||
}
|
||||
|
||||
|
||||
makenv -objname cryo -driver cryotel
|
||||
|
||||
cryo filter/period 0
|
||||
cryo integ 0.01
|
||||
cryo prop 30
|
||||
|
||||
# -port ldmprep12-ts:3008
|
||||
|
||||
GraphAdd cryo K T_cryotel red
|
||||
GraphAdd cryo.set K T_set green
|
||||
GraphAdd cryo.power W Power red
|
||||
|
||||
#ccu4_device none
|
159
tcl/calcurves/CX078_HIGH.340
Normal file
159
tcl/calcurves/CX078_HIGH.340
Normal file
@ -0,0 +1,159 @@
|
||||
Sensor Model: CX-unknown
|
||||
Serial Number: CX078
|
||||
Data Format: 5 (Log Ohms/Log Kelvin)
|
||||
SetPoint Limit: 330.1
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 149
|
||||
Calibration date: 2014-05-15
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
1 1.80076 2.51858
|
||||
2 1.80639 2.51188
|
||||
3 1.81326 2.50379
|
||||
4 1.81969 2.49624
|
||||
5 1.82627 2.48855
|
||||
6 1.83299 2.48073
|
||||
7 1.83986 2.47276
|
||||
8 1.84690 2.46464
|
||||
9 1.85409 2.45637
|
||||
10 1.86144 2.44793
|
||||
11 1.86896 2.43933
|
||||
12 1.87665 2.43056
|
||||
13 1.88451 2.42160
|
||||
14 1.89256 2.41246
|
||||
15 1.90078 2.40312
|
||||
16 1.90843 2.39445
|
||||
17 1.91625 2.38561
|
||||
18 1.92421 2.37658
|
||||
19 1.93236 2.36736
|
||||
20 1.94068 2.35793
|
||||
21 1.94917 2.34830
|
||||
22 1.95786 2.33846
|
||||
23 1.96674 2.32838
|
||||
24 1.97582 2.31806
|
||||
25 1.98511 2.30750
|
||||
26 1.99461 2.29667
|
||||
27 2.00433 2.28556
|
||||
28 2.01428 2.27416
|
||||
29 2.02447 2.26245
|
||||
30 2.03386 2.25164
|
||||
31 2.04346 2.24055
|
||||
32 2.05326 2.22917
|
||||
33 2.06331 2.21748
|
||||
34 2.07357 2.20548
|
||||
35 2.08410 2.19312
|
||||
36 2.09487 2.18041
|
||||
37 2.10593 2.16732
|
||||
38 2.11725 2.15381
|
||||
39 2.12888 2.13988
|
||||
40 2.13948 2.12710
|
||||
41 2.15034 2.11394
|
||||
42 2.16147 2.10037
|
||||
43 2.17289 2.08636
|
||||
44 2.18462 2.07188
|
||||
45 2.19667 2.05690
|
||||
46 2.20906 2.04139
|
||||
47 2.22181 2.02531
|
||||
48 2.23330 2.01072
|
||||
49 2.24170 2.00000
|
||||
50 2.25026 1.98900
|
||||
51 2.25899 1.97772
|
||||
52 2.26791 1.96614
|
||||
53 2.27701 1.95424
|
||||
54 2.28632 1.94201
|
||||
55 2.29585 1.92942
|
||||
56 2.30560 1.91645
|
||||
57 2.31558 1.90309
|
||||
58 2.32581 1.88930
|
||||
59 2.33419 1.87795
|
||||
60 2.34273 1.86629
|
||||
61 2.35147 1.85431
|
||||
62 2.36040 1.84198
|
||||
63 2.36953 1.82930
|
||||
64 2.37889 1.81624
|
||||
65 2.38847 1.80277
|
||||
66 2.39829 1.78888
|
||||
67 2.40888 1.77379
|
||||
68 2.41924 1.75891
|
||||
69 2.42990 1.74351
|
||||
70 2.43976 1.72916
|
||||
71 2.44987 1.71433
|
||||
72 2.46026 1.69897
|
||||
73 2.47094 1.68305
|
||||
74 2.48195 1.66652
|
||||
75 2.49329 1.64933
|
||||
76 2.50367 1.63347
|
||||
77 2.51436 1.61700
|
||||
78 2.52606 1.59879
|
||||
79 2.53742 1.58092
|
||||
80 2.54917 1.56229
|
||||
81 2.56054 1.54407
|
||||
82 2.57228 1.52504
|
||||
83 2.58443 1.50515
|
||||
84 2.59617 1.48572
|
||||
85 2.60832 1.46538
|
||||
86 2.62092 1.44404
|
||||
87 2.63306 1.42325
|
||||
88 2.64565 1.40140
|
||||
89 2.65773 1.38021
|
||||
90 2.67028 1.35793
|
||||
91 2.68334 1.33445
|
||||
92 2.69584 1.31175
|
||||
93 2.70528 1.29447
|
||||
94 2.71316 1.27989
|
||||
95 2.72124 1.26482
|
||||
96 2.72957 1.24920
|
||||
97 2.73815 1.23300
|
||||
98 2.74631 1.21748
|
||||
99 2.75472 1.20140
|
||||
100 2.76339 1.18469
|
||||
101 2.77160 1.16879
|
||||
102 2.78007 1.15229
|
||||
103 2.78883 1.13513
|
||||
104 2.79790 1.11727
|
||||
105 2.80644 1.10037
|
||||
106 2.81528 1.08279
|
||||
107 2.82443 1.06446
|
||||
108 2.83299 1.04727
|
||||
109 2.84185 1.02938
|
||||
110 2.85104 1.01072
|
||||
111 2.86060 0.99123
|
||||
112 2.86944 0.97313
|
||||
113 2.87861 0.95424
|
||||
114 2.88816 0.93450
|
||||
115 2.89811 0.91381
|
||||
116 2.90850 0.89209
|
||||
117 2.91801 0.87216
|
||||
118 2.92790 0.85126
|
||||
119 2.93825 0.82930
|
||||
120 2.94907 0.80618
|
||||
121 2.96043 0.78176
|
||||
122 2.97099 0.75891
|
||||
123 2.98167 0.73560
|
||||
124 2.99287 0.71096
|
||||
125 3.00385 0.68664
|
||||
126 3.01533 0.66087
|
||||
127 3.02655 0.63548
|
||||
128 3.03829 0.60853
|
||||
129 3.04779 0.58659
|
||||
130 3.05613 0.56703
|
||||
131 3.06477 0.54654
|
||||
132 3.07319 0.52634
|
||||
133 3.08191 0.50515
|
||||
134 3.09096 0.48287
|
||||
135 3.09976 0.46090
|
||||
136 3.10887 0.43775
|
||||
137 3.11770 0.41497
|
||||
138 3.12682 0.39094
|
||||
139 3.13560 0.36736
|
||||
140 3.14464 0.34242
|
||||
141 3.15398 0.31597
|
||||
142 3.16288 0.29003
|
||||
143 3.17203 0.26245
|
||||
144 3.18147 0.23300
|
||||
145 3.19034 0.20412
|
||||
146 3.19854 0.17609
|
||||
147 3.20681 0.14922
|
||||
148 3.20788 0.14613
|
||||
149 3.23003 0.07968
|
208
tcl/calcurves/LakeShore_ch1.340
Normal file
208
tcl/calcurves/LakeShore_ch1.340
Normal file
@ -0,0 +1,208 @@
|
||||
Sensor Model: RX-1000-BF0.007
|
||||
Serial Number: LakeShore_ch1
|
||||
Data Format: 4 (Log Ohms/Kelvin)
|
||||
SetPoint Limit: 0.0166 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 198
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
|
||||
1 3.205339721431523 2.29950691832369
|
||||
2 3.2097810700613474 2.1133357363357415
|
||||
3 3.214177458273696 1.9580612995911988
|
||||
4 3.218529787235223 1.8169797320615846
|
||||
5 3.2228389312873205 1.6877672933904413
|
||||
6 3.227105739000353 1.5722622575374017
|
||||
7 3.2313310341766046 1.4697605096124464
|
||||
8 3.235515616804908 1.378120246231821
|
||||
9 3.2396602639697165 1.295544169078362
|
||||
10 3.2437657307172088 1.2205560153493331
|
||||
11 3.2478327508808373 1.151999879833848
|
||||
12 3.2518620378685794 1.0891226512760712
|
||||
13 3.2558542854140025 1.0313183758800881
|
||||
14 3.2598101682931215 0.9780565541130672
|
||||
15 3.2637303430089033 0.9288714756152382
|
||||
16 3.267615448445151 0.8833473503299999
|
||||
17 3.2714661064913986 0.8411070092302035
|
||||
18 3.2752829226403493 0.8018176951611662
|
||||
19 3.279066486559281 0.7651863569680788
|
||||
20 3.2828173726367846 0.7309545188586433
|
||||
21 3.286536140506087 0.6989186967412938
|
||||
22 3.29022333554616 0.6689432878914867
|
||||
23 3.2938794893617365 0.6409058136597712
|
||||
24 3.2975051202432892 0.6146902542169623
|
||||
25 3.301100733607965 0.5901870083512905
|
||||
26 3.304666822422419 0.5672816066830729
|
||||
27 3.3082038676084293 0.5458207461386768
|
||||
28 3.3117123384321236 0.525655610715861
|
||||
29 3.3151926928776136 0.5066545991303119
|
||||
30 3.318645378005776 0.4887011291217188
|
||||
31 3.3220708302988826 0.4716917913750741
|
||||
32 3.325469475991745 0.4555413810166217
|
||||
33 3.3288417313900065 0.4401883965377525
|
||||
34 3.3321880031761633 0.4255786488691995
|
||||
35 3.335508688703895 0.41166240033292
|
||||
36 3.3388041762812226 0.39839394603691713
|
||||
37 3.3420748454430043 0.38573123960723416
|
||||
38 3.345321067213247 0.3736388696213544
|
||||
39 3.34854320435769 0.36209540686873637
|
||||
40 3.3517416116270815 0.35108230134869106
|
||||
41 3.3549166359915685 0.34058104509990617
|
||||
42 3.3580686168665768 0.3305732845860963
|
||||
43 3.3611978863305545 0.32104091562166354
|
||||
44 3.3643047693349257 0.3119657104461987
|
||||
45 3.367389583906591 0.3033191194348796
|
||||
46 3.3704526413432796 0.2950638992472267
|
||||
47 3.3734942464020703 0.2871658561139464
|
||||
48 3.376514697481347 0.2795940397192163
|
||||
49 3.379514286796477 0.272320414871872
|
||||
50 3.38249330054946 0.26531957263400296
|
||||
51 3.3854520190928024 0.25856852395736907
|
||||
52 3.388390717087841 0.25205113250187977
|
||||
53 3.3913096636577524 0.245760933359935
|
||||
54 3.3942091225354516 0.23969235202374947
|
||||
55 3.397089352206584 0.23383973552837592
|
||||
56 3.399950606047813 0.2281973854612427
|
||||
57 3.4027931324605745 0.22275958717174088
|
||||
58 3.4056171750004895 0.217520635503722
|
||||
59 3.4084229725025916 0.2124747556312106
|
||||
60 3.4112107592025374 0.20761438394392348
|
||||
61 3.413980764853948 0.20293067549472246
|
||||
62 3.416733214842041 0.19841523713951462
|
||||
63 3.4194683302936695 0.19406015494570983
|
||||
64 3.4221863281839324 0.18985796255247253
|
||||
65 3.424887421439461 0.1858016118875661
|
||||
66 3.4275718190385156 0.18188444604625534
|
||||
67 3.4302397261080064 0.17810017221149688
|
||||
68 3.4328913440175546 0.17444194846580885
|
||||
69 3.4355268704706994 0.17090111133432387
|
||||
70 3.4381464995933495 0.1674693030325541
|
||||
71 3.4407504220195917 0.16413880859662533
|
||||
72 3.443338824974932 0.1609025050098339
|
||||
73 3.4459118923570795 0.15775381517961953
|
||||
74 3.448469804814346 0.15468666623372493
|
||||
75 3.451012739821753 0.1516954516663306
|
||||
76 3.4535408717549214 0.14877499691921683
|
||||
77 3.456054371961825 0.14592209040383455
|
||||
78 3.4585534088324774 0.14314007405847348
|
||||
79 3.4610381478666277 0.14043339575975972
|
||||
80 3.4635087517395298 0.13780586397192207
|
||||
81 3.4659653803658492 0.13526070678652388
|
||||
82 3.4684081909617763 0.1328006286593571
|
||||
83 3.4708373381054005 0.13042786461019756
|
||||
84 3.473252973795405 0.12814423173200698
|
||||
85 3.4756552475081386 0.12595117792085625
|
||||
86 3.4780443062531177 0.12384981398434444
|
||||
87 3.4804202946270117 0.12183727614446321
|
||||
88 3.482783354866156 0.11990231930322089
|
||||
89 3.485133626897648 0.11803341326562487
|
||||
90 3.4874712483890646 0.11621996662848523
|
||||
91 3.4897963547968516 0.11445224890720333
|
||||
92 3.492109079413423 0.11272132427450213
|
||||
93 3.4944095534130124 0.11101899526132743
|
||||
94 3.496697905896319 0.109337754982865
|
||||
95 3.4989742639339805 0.10767074663125696
|
||||
96 3.5012387526089137 0.10601172912727631
|
||||
97 3.503491495057559 0.104355219797915
|
||||
98 3.505732612510055 0.10270125376784009
|
||||
99 3.507962224329392 0.10105546749294594
|
||||
100 3.510180448049552 0.09942331598598556
|
||||
101 3.512387399412692 0.09780976967108469
|
||||
102 3.514583192405381 0.09621933869103337
|
||||
103 3.5167679392939246 0.09465609851880563
|
||||
104 3.518941750658811 0.09312371643091606
|
||||
105 3.521104735428293 0.09162547845857452
|
||||
106 3.5232570009111424 0.09016431648742085
|
||||
107 3.5253986528285943 0.0887428352275814
|
||||
108 3.5275297953455085 0.0873633388226642
|
||||
109 3.5296505311007698 0.08602781459530236
|
||||
110 3.5317609612369507 0.08473607986870577
|
||||
111 3.533861185429255 0.08348525778490817
|
||||
112 3.5359513019137663 0.08227246036477517
|
||||
113 3.5380314075150188 0.08109498547652488
|
||||
114 3.5401015976729133 0.07995030370508645
|
||||
115 3.5421619664689916 0.07883604639977054
|
||||
116 3.5442126066520934 0.07774999478429062
|
||||
117 3.5462536096634074 0.07669007002521983
|
||||
118 3.5482850656609406 0.0756543241656316
|
||||
119 3.5503070635434133 0.07464093184015028
|
||||
120 3.5523196909736034 0.07364818269604241
|
||||
121 3.5543230344011527 0.07267447445247364
|
||||
122 3.556317179084846 0.07171830653672735
|
||||
123 3.558302209114385 0.07077830063837746
|
||||
124 3.560278207431667 0.06985360254791527
|
||||
125 3.5622452558515754 0.06894376220569125
|
||||
126 3.56420343508231 0.06804835881717188
|
||||
127 3.566152824745257 0.06716698860168534
|
||||
128 3.5680935033944134 0.06629926402776767
|
||||
129 3.570025548535381 0.06544481308660564
|
||||
130 3.5719490366439417 0.0646032786014169
|
||||
131 3.5738640431842206 0.06377431757074654
|
||||
132 3.57577064262645 0.06295760054378352
|
||||
133 3.5776689084643496 0.062152811025920386
|
||||
134 3.5795589132321206 0.06135964491289308
|
||||
135 3.581440728521081 0.06057780995193435
|
||||
136 3.583314424995935 0.059807025228478555
|
||||
137 3.5851800724106946 0.05904702067703845
|
||||
138 3.587037739624264 0.05829756691316801
|
||||
139 3.5888874946156872 0.05755859821660205
|
||||
140 3.5907294044990765 0.05683009443728373
|
||||
141 3.5925635355382206 0.05611202751481569
|
||||
142 3.5943899531608934 0.05540436195926386
|
||||
143 3.5962087219728547 0.05470705533995854
|
||||
144 3.598019905771565 0.05402005875283448
|
||||
145 3.5998235675596115 0.053343317266938396
|
||||
146 3.601619769557861 0.052676770350725974
|
||||
147 3.603408573218336 0.052020352278782926
|
||||
148 3.605190039236832 0.051373992519592196
|
||||
149 3.6069642275652742 0.050737616104976145
|
||||
150 3.6087311974238245 0.05011114398183197
|
||||
151 3.6104910073127408 0.04949449334677612
|
||||
152 3.612243715024 0.04888757796430359
|
||||
153 3.613989377652685 0.04828986011110037
|
||||
154 3.615728051608144 0.047699039742507485
|
||||
155 3.6174597926249303 0.047112527383469986
|
||||
156 3.6191846557735206 0.046527917545417144
|
||||
157 3.6209026954708237 0.04594298200154157
|
||||
158 3.622613965490481 0.04535566437519196
|
||||
159 3.624318518972968 0.044764075838669704
|
||||
160 3.6260164084354924 0.04416649173553819
|
||||
161 3.627707685781705 0.04356134895341628
|
||||
162 3.629392402311222 0.04294724388649669
|
||||
163 3.631070608728956 0.042322930838087885
|
||||
164 3.6327423551542783 0.04168732072362697
|
||||
165 3.6344076911299985 0.04103947994416368
|
||||
166 3.636066665631173 0.04037868976928422
|
||||
167 3.637719327073748 0.03970807836336272
|
||||
168 3.639365723323039 0.039036274948209555
|
||||
169 3.6410059017020466 0.03837168648410094
|
||||
170 3.6426399089996204 0.037721988611411184
|
||||
171 3.6442677914784665 0.037094166900026
|
||||
172 3.645889594883007 0.03649457062074466
|
||||
173 3.647505364447093 0.035928976351175215
|
||||
174 3.6491151449015757 0.035402659150092636
|
||||
175 3.6507189804817353 0.03492046946902619
|
||||
176 3.652316914934574 0.03448691440376818
|
||||
177 3.6539089915259795 0.03410624231224536
|
||||
178 3.6554952530477496 0.033782529698540176
|
||||
179 3.6570757418244955 0.03351145071440784
|
||||
180 3.6586504997204194 0.033260058051473286
|
||||
181 3.6602195681459664 0.03299082703268596
|
||||
182 3.661782988064357 0.03266826394142384
|
||||
183 3.663340799998009 0.03225923637831841
|
||||
184 3.6648930440348333 0.03173363953571915
|
||||
185 3.666439759834428 0.03106532705323702
|
||||
186 3.6679809866341575 0.030233216602994592
|
||||
187 3.669516763255124 0.029222459125517165
|
||||
188 3.671047128108037 0.028025768650965757
|
||||
189 3.6725721191989744 0.026702560340697613
|
||||
190 3.6740917741350483 0.02543701072187969
|
||||
191 3.6756061301299696 0.02439612960428289
|
||||
192 3.677115224009515 0.023718019012504196
|
||||
193 3.678619092216901 0.02348979463885896
|
||||
194 3.680117770818065 0.023415690421220926
|
||||
195 3.6816112955068525 0.02300210019140085
|
||||
196 3.683099701610123 0.021807715297389875
|
||||
197 3.684583024092758 0.01955130157960377
|
||||
198 3.686061297562594 0.016563579419186746
|
100
tcl/calcurves/RCW575.inp
Normal file
100
tcl/calcurves/RCW575.inp
Normal file
@ -0,0 +1,100 @@
|
||||
sens=RCW575
|
||||
unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatically
|
||||
!tlim=2 ! setpoint limit (automatic if omitted)
|
||||
type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cernox RuOx)
|
||||
form=loglog
|
||||
curv ! curve (sensor temp/K) follows must be ordered but can be in$
|
||||
1000 300
|
||||
1196.0677 26.0000
|
||||
1197.9099 23.2067
|
||||
1200.0980 20.7134
|
||||
1202.6877 18.4881
|
||||
1205.7424 16.5018
|
||||
1209.3334 14.7289
|
||||
1213.5411 13.1465
|
||||
1218.4554 11.7341
|
||||
1224.1767 10.4734
|
||||
1230.8169 9.3482
|
||||
1238.5000 8.3439
|
||||
1247.3630 7.4474
|
||||
1257.5571 6.6473
|
||||
1269.2482 5.9331
|
||||
1282.6180 5.2957
|
||||
1297.8652 4.7268
|
||||
1315.2055 4.2189
|
||||
1334.8733 3.7657
|
||||
1357.1224 3.3611
|
||||
1382.2261 3.0000
|
||||
1386.2 2.9779
|
||||
1399.7 2.8638
|
||||
1413.2 2.7541
|
||||
1422.3 2.6573
|
||||
1426.8 2.6059
|
||||
1436 2.5144
|
||||
1449.9 2.4102
|
||||
1464 2.3254
|
||||
1473.3 2.2364
|
||||
1487.6 2.1507
|
||||
1502.1 2.075
|
||||
1511.8 2.0217
|
||||
1521.5 1.9569
|
||||
1531.3 1.8943
|
||||
1541.1 1.8337
|
||||
1556.1 1.7807
|
||||
1581.4 1.6957
|
||||
1596.7 1.6149
|
||||
1612.2 1.5581
|
||||
1633.1 1.4887
|
||||
1648.9 1.4224
|
||||
1664.9 1.3768
|
||||
1686.6 1.324
|
||||
1708.5 1.2773
|
||||
1719.5 1.2404
|
||||
1736.2 1.2007
|
||||
1753.1 1.1622
|
||||
1770.1 1.1213
|
||||
1804.8 1.0643
|
||||
1834.1 1.007
|
||||
1876.2 0.9589
|
||||
1912.8 0.8984
|
||||
1956.6 0.8444
|
||||
2034.1 0.7707
|
||||
2087.4 0.7173
|
||||
2163.1 0.6676
|
||||
2219.8 0.6234
|
||||
2256 0.5975
|
||||
2330.3 0.5579
|
||||
2414.7 0.5126
|
||||
2535.1 0.4662
|
||||
2644.2 0.4325
|
||||
2793.9 0.382
|
||||
2933 0.3452
|
||||
3079 0.308
|
||||
3285 0.27114
|
||||
3483 0.24264
|
||||
3656 0.22214
|
||||
3838 0.20141
|
||||
4069 0.18141
|
||||
4328 0.16498
|
||||
4471 0.15505
|
||||
4694 0.1415
|
||||
4928 0.13039
|
||||
5123 0.12056
|
||||
5292 0.11441
|
||||
5485 0.10857
|
||||
5629 0.10338
|
||||
5758 0.10005
|
||||
5948 0.09243
|
||||
6211 0.08538
|
||||
6486 0.07886
|
||||
6772 0.07283
|
||||
7069 0.06727
|
||||
7378 0.06214
|
||||
7699 0.05739
|
||||
8032 0.05301
|
||||
8378 0.04896
|
||||
8736 0.04522
|
||||
9107. 0.04177
|
||||
9492 0.03858
|
||||
9889 0.03563
|
||||
10301 0.03291
|
107
tcl/calcurves/RCW575_fit.inp
Normal file
107
tcl/calcurves/RCW575_fit.inp
Normal file
@ -0,0 +1,107 @@
|
||||
sens=RCW575_fit
|
||||
unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatical$
|
||||
!tlim=2 ! setpoint limit (automatic if omitted)
|
||||
type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cern$
|
||||
form=loglog
|
||||
curv ! curve (sensor temp/K) follows must be ordered but can be in$
|
||||
1000 300
|
||||
1196.067 26
|
||||
1197.321 24.01478
|
||||
1198.735 22.18114
|
||||
1200.329 20.4875
|
||||
1202.121 18.9232
|
||||
1204.134 17.47833
|
||||
1206.391 16.1437
|
||||
1208.916 14.9111
|
||||
1211.738 13.7725
|
||||
1214.886 12.7209
|
||||
1218.393 11.7496
|
||||
1222.293 10.8525
|
||||
1226.624 10.0239
|
||||
1231.426 9.258539
|
||||
1236.742 8.55160
|
||||
1242.619 7.89865
|
||||
1249.107 7.29555
|
||||
1256.259 6.73850
|
||||
1264.131 6.22399
|
||||
1272.785 5.74876
|
||||
1282.284 5.30981
|
||||
1292.697 4.90439
|
||||
1304.097 4.52991
|
||||
1316.561 4.18403
|
||||
1330.169 3.86456
|
||||
1345.009 3.56949
|
||||
1361.170 3.29694
|
||||
1378.749 3.04520
|
||||
1397.845 2.81269
|
||||
1418.565 2.59793
|
||||
1441.020 2.39956
|
||||
1465.324 2.21634
|
||||
1491.601 2.04712
|
||||
1519.976 1.89081
|
||||
1550.583 1.74644
|
||||
1583.558 1.61309
|
||||
1619.046 1.48992
|
||||
1657.196 1.37616
|
||||
1698.163 1.27108
|
||||
1742.106 1.17403
|
||||
1789.194 1.08439
|
||||
1839.596 1.00159
|
||||
1893.491 0.92511
|
||||
1951.062 0.85448
|
||||
2012.498 0.78923
|
||||
2077.991 0.72897
|
||||
2147.742 0.67331
|
||||
2221.955 0.62190
|
||||
2300.840 0.57441
|
||||
2384.611 0.530559
|
||||
2473.488 0.49004
|
||||
2567.695 0.45263
|
||||
2667.461 0.418070
|
||||
2773.018 0.38614
|
||||
2884.603 0.35666
|
||||
3002.457 0.329432
|
||||
3126.825 0.30427
|
||||
3257.954 0.28104
|
||||
3396.096 0.25958
|
||||
3541.504 0.239765
|
||||
3694.434 0.22145
|
||||
3855.145 0.20454
|
||||
4023.898 0.18893
|
||||
4200.955 0.17450
|
||||
4386.579 0.16118
|
||||
4581.035 0.14887
|
||||
4784.588 0.13750
|
||||
4997.503 0.12700
|
||||
5220.046 0.11731
|
||||
5452.482 0.108352
|
||||
5695.076 0.10007
|
||||
5948.090 0.09243
|
||||
6211.786 0.08538
|
||||
6486.424 0.07886
|
||||
6772.262 0.07283
|
||||
7069.555 0.06727
|
||||
7378.555 0.06214
|
||||
7699.512 0.05739
|
||||
8032.669 0.05301
|
||||
8378.269 0.04896
|
||||
8736.548 0.04522
|
||||
9107.739 0.04177
|
||||
9492.069 0.03858
|
||||
9889.760 0.03563
|
||||
10301.02 0.03291
|
||||
10726.08 0.03040
|
||||
11165.12 0.02808
|
||||
11618.36 0.02593
|
||||
12085.97 0.023957
|
||||
12568.14 0.02212
|
||||
13065.06 0.02043
|
||||
13576.87 0.01887
|
||||
14103.76 0.01743
|
||||
14645.86 0.01610
|
||||
15203.32 0.01487
|
||||
15776.28 0.01373
|
||||
16364.87 0.01269
|
||||
16969.19 0.011721
|
||||
17589.36 0.01082
|
||||
18225.49 0.01
|
81
tcl/calcurves/RO1975.340
Normal file
81
tcl/calcurves/RO1975.340
Normal file
@ -0,0 +1,81 @@
|
||||
Sensor Model: RX-RO600A Scientific Instruments
|
||||
Serial Number: RO1975
|
||||
Data Format: 4 (Log Ohms vs. Kelvin)
|
||||
SetPoint Limit: 40.0000 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 72
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
1 3.17 3.23739
|
||||
2 3.175 3.11803
|
||||
3 3.18 3.00459
|
||||
4 3.185 2.89674
|
||||
5 3.19 2.79413
|
||||
6 3.195 2.69646
|
||||
7 3.2 2.60345
|
||||
8 3.205 2.51481
|
||||
9 3.21 2.43031
|
||||
10 3.215 2.34971
|
||||
11 3.22 2.27277
|
||||
12 3.225 2.19931
|
||||
13 3.23 2.12912
|
||||
14 3.235 2.06203
|
||||
15 3.24 1.99786
|
||||
16 3.245 1.93646
|
||||
17 3.25 1.87767
|
||||
18 3.255 1.82137
|
||||
19 3.26 1.76741
|
||||
20 3.265 1.71568
|
||||
21 3.27 1.66605
|
||||
22 3.275 1.61843
|
||||
23 3.28 1.57271
|
||||
24 3.285 1.52879
|
||||
25 3.29 1.48658
|
||||
26 3.295 1.44601
|
||||
27 3.3 1.40698
|
||||
28 3.31 1.33329
|
||||
29 3.32 1.26494
|
||||
30 3.33 1.20146
|
||||
31 3.34 1.14241
|
||||
32 3.35 1.08739
|
||||
33 3.36 1.03606
|
||||
34 3.37 0.98811
|
||||
35 3.38 0.94324
|
||||
36 3.39 0.90121
|
||||
37 3.4 0.8618
|
||||
38 3.42 0.78998
|
||||
39 3.44 0.72637
|
||||
40 3.46 0.66979
|
||||
41 3.48 0.61924
|
||||
42 3.5 0.57393
|
||||
43 3.52 0.53316
|
||||
44 3.54 0.49636
|
||||
45 3.56 0.46304
|
||||
46 3.58 0.43277
|
||||
47 3.6 0.40521
|
||||
48 3.62 0.38005
|
||||
49 3.64 0.35701
|
||||
50 3.66 0.33588
|
||||
51 3.68 0.31645
|
||||
52 3.7 0.29854
|
||||
53 3.73 0.27421
|
||||
54 3.76 0.25253
|
||||
55 3.79 0.23314
|
||||
56 3.82 0.21573
|
||||
57 3.85 0.20005
|
||||
58 3.88 0.18588
|
||||
59 3.91 0.17303
|
||||
60 3.94 0.16135
|
||||
61 3.97 0.1507
|
||||
62 4 0.14098
|
||||
63 4.05 0.12654
|
||||
64 4.1 0.11399
|
||||
65 4.15 0.10303
|
||||
66 4.2 0.0934
|
||||
67 4.25 0.0849
|
||||
68 4.3 0.07737
|
||||
69 4.35 0.07067
|
||||
70 4.4 0.06469
|
||||
71 4.45 0.05933
|
||||
72 4.5 0.05452
|
42
tcl/calcurves/RO600A_408.inp
Normal file
42
tcl/calcurves/RO600A_408.inp
Normal file
@ -0,0 +1,42 @@
|
||||
sens=R0408
|
||||
unit=Ohm ! sensor format (mV V Ohm) log formats are choosen automatical$
|
||||
!tlim=2 ! setpoint limit (automatic if omitted)
|
||||
type=Special ! sensor type (Special Si GaAlAs Pt250 Pt500 Pt2500 RhFe C Cern$
|
||||
form=loglog
|
||||
curv ! curve (sensor temp/K) follows must be ordered but can be in$
|
||||
1480.0 300
|
||||
1488.5 3.20
|
||||
1517.2 3.00
|
||||
1550.3 2.80
|
||||
1587.5 2.60
|
||||
1630.2 2.40
|
||||
1679.8 2.20
|
||||
1739.8 2.00
|
||||
1774.8 1.90
|
||||
1812.4 1.80
|
||||
1854.4 1.70
|
||||
1901.5 1.60
|
||||
1953.7 1.50
|
||||
2011.5 1.40
|
||||
2079.3 1.30
|
||||
2160.4 1.20
|
||||
2256.6 1.10
|
||||
2368.1 1.00
|
||||
2508.7 0.90
|
||||
2679.9 0.80
|
||||
2902.2 0.70
|
||||
3193.5 0.60
|
||||
3602.5 0.50
|
||||
3875.1 0.45
|
||||
4222.8 0.40
|
||||
4629.0 0.35
|
||||
5228.7 0.30
|
||||
6081.5 0.25
|
||||
7398.5 0.20
|
||||
9749.7 0.15
|
||||
15315. 0.10
|
||||
17554 0.09
|
||||
20523 0.08
|
||||
23723 0.07
|
||||
29568 0.06
|
||||
37886.0 0.05
|
125
tcl/calcurves/RX078_HIGH.340
Normal file
125
tcl/calcurves/RX078_HIGH.340
Normal file
@ -0,0 +1,125 @@
|
||||
Sensor Model: CX-unknown
|
||||
Serial Number: RX078
|
||||
Data Format: 5 (Log Ohms/Log Kelvin)
|
||||
SetPoint Limit: 330.1
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 149
|
||||
Calibration date: 2014-05-15
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
1 3.43221 2.51858
|
||||
36 3.43222 2.18041
|
||||
37 3.43242 2.16732
|
||||
38 3.43264 2.15381
|
||||
39 3.43288 2.13988
|
||||
40 3.43312 2.12710
|
||||
41 3.43338 2.11394
|
||||
42 3.43367 2.10037
|
||||
43 3.43399 2.08636
|
||||
44 3.43433 2.07188
|
||||
45 3.43471 2.05690
|
||||
46 3.43512 2.04139
|
||||
47 3.43558 2.02531
|
||||
48 3.43601 2.01072
|
||||
49 3.43635 2.00000
|
||||
50 3.43670 1.98900
|
||||
51 3.43707 1.97772
|
||||
52 3.43747 1.96614
|
||||
53 3.43789 1.95424
|
||||
54 3.43835 1.94201
|
||||
55 3.43883 1.92942
|
||||
56 3.43934 1.91645
|
||||
57 3.43989 1.90309
|
||||
58 3.44047 1.88930
|
||||
59 3.44097 1.87795
|
||||
60 3.44149 1.86629
|
||||
61 3.44205 1.85431
|
||||
62 3.44264 1.84198
|
||||
63 3.44326 1.82930
|
||||
64 3.44392 1.81624
|
||||
65 3.44463 1.80277
|
||||
66 3.44538 1.78888
|
||||
67 3.44622 1.77379
|
||||
68 3.44707 1.75891
|
||||
69 3.44799 1.74351
|
||||
70 3.44887 1.72916
|
||||
71 3.44981 1.71433
|
||||
72 3.45082 1.69897
|
||||
73 3.45189 1.68305
|
||||
74 3.45305 1.66652
|
||||
75 3.45429 1.64933
|
||||
76 3.45548 1.63347
|
||||
77 3.45675 1.61700
|
||||
78 3.45820 1.59879
|
||||
79 3.45968 1.58092
|
||||
80 3.46127 1.56229
|
||||
81 3.46288 1.54407
|
||||
82 3.46463 1.52504
|
||||
83 3.46651 1.50515
|
||||
84 3.46842 1.48572
|
||||
85 3.47049 1.46538
|
||||
86 3.47275 1.44404
|
||||
87 3.47502 1.42325
|
||||
88 3.47750 1.40140
|
||||
89 3.48000 1.38021
|
||||
90 3.48271 1.35793
|
||||
91 3.48568 1.33445
|
||||
92 3.48867 1.31175
|
||||
93 3.49102 1.29447
|
||||
94 3.49305 1.27989
|
||||
95 3.49520 1.26482
|
||||
96 3.49748 1.24920
|
||||
97 3.49991 1.23300
|
||||
98 3.50229 1.21748
|
||||
99 3.50482 1.20140
|
||||
100 3.50752 1.18469
|
||||
101 3.51016 1.16879
|
||||
102 3.51297 1.15229
|
||||
103 3.51596 1.13513
|
||||
104 3.51917 1.11727
|
||||
105 3.52229 1.10037
|
||||
106 3.52562 1.08279
|
||||
107 3.52920 1.06446
|
||||
108 3.53264 1.04727
|
||||
109 3.53632 1.02938
|
||||
110 3.54027 1.01072
|
||||
111 3.54452 0.99123
|
||||
112 3.54859 0.97313
|
||||
113 3.55294 0.95424
|
||||
114 3.55762 0.93450
|
||||
115 3.56268 0.91381
|
||||
116 3.56816 0.89209
|
||||
117 3.57335 0.87216
|
||||
118 3.57895 0.85126
|
||||
119 3.58501 0.82930
|
||||
120 3.59160 0.80618
|
||||
121 3.59879 0.78176
|
||||
122 3.60575 0.75891
|
||||
123 3.61307 0.73560
|
||||
124 3.62105 0.71096
|
||||
125 3.62919 0.68664
|
||||
126 3.63808 0.66087
|
||||
127 3.64713 0.63548
|
||||
128 3.65705 0.60853
|
||||
129 3.66541 0.58659
|
||||
130 3.67302 0.56703
|
||||
131 3.68118 0.54654
|
||||
132 3.68943 0.52634
|
||||
133 3.69830 0.50515
|
||||
134 3.70787 0.48287
|
||||
135 3.71759 0.46090
|
||||
136 3.72809 0.43775
|
||||
137 3.73874 0.41497
|
||||
138 3.75027 0.39094
|
||||
139 3.76193 0.36736
|
||||
140 3.77457 0.34242
|
||||
141 3.78836 0.31597
|
||||
142 3.80223 0.29003
|
||||
143 3.81730 0.26245
|
||||
144 3.83377 0.23300
|
||||
145 3.85017 0.20412
|
||||
146 3.86616 0.17609
|
||||
147 3.88234 0.14922
|
||||
148 3.88443 0.14613
|
||||
149 3.92781 0.07968
|
209
tcl/calcurves/RX21084.340
Normal file
209
tcl/calcurves/RX21084.340
Normal file
@ -0,0 +1,209 @@
|
||||
Comment: 30.07.2021, FP and CMN, 16mK--2.3K extrapolated elsewhere
|
||||
Sensor Model: RX-1000-BF0.007
|
||||
Serial Number: RX21084
|
||||
Data Format: 4 (Log Ohms/Kelvin)
|
||||
SetPoint Limit: 0.0167 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 198
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
|
||||
1 3.20846285563324 2.29950691832369
|
||||
2 3.4519520794355336 0.6498012090542048
|
||||
3 3.6070343783101015 0.3704581486839852
|
||||
4 3.721074805163944 0.26059484895628243
|
||||
5 3.8113120960880713 0.20228193951599618
|
||||
6 3.8859872141076326 0.1665105526879469
|
||||
7 3.949686473102909 0.1422944849269331
|
||||
8 4.005226735685933 0.12488648687396488
|
||||
9 4.054462777653993 0.11172863733572738
|
||||
10 4.098680971293318 0.10146402807187511
|
||||
11 4.138810160963405 0.09324234729409901
|
||||
12 4.1755429936890325 0.08648395066677375
|
||||
13 4.209409782613786 0.08081268692879562
|
||||
14 4.240825579325993 0.07598812870148532
|
||||
15 4.2701213313800315 0.07183902939770141
|
||||
16 4.297565174873086 0.06823645575716103
|
||||
17 4.323377387971616 0.06507932801010942
|
||||
18 4.347741143331186 0.062289070996918876
|
||||
19 4.370810400706755 0.05980454678579108
|
||||
20 4.392715806580754 0.057577436265929115
|
||||
21 4.413569175789821 0.05556854119927189
|
||||
22 4.433466945446951 0.053745910262315885
|
||||
23 4.452492871602556 0.05208355897841065
|
||||
24 4.470720159535553 0.050560146757243664
|
||||
25 4.488213164681848 0.04915798484490007
|
||||
26 4.505028764035037 0.04786234539867137
|
||||
27 4.521217471779108 0.04666121336416267
|
||||
28 4.536824354342013 0.04554449599295128
|
||||
29 4.551889786646683 0.04450349674253729
|
||||
30 4.566450081524307 0.04353068071479723
|
||||
31 4.580538016991243 0.0426194865713567
|
||||
32 4.594183280654664 0.04176417387123741
|
||||
33 4.607412846401465 0.04095969828378444
|
||||
34 4.620251295387211 0.04020159653034395
|
||||
35 4.632721090925318 0.03948568131023798
|
||||
36 4.644842815000059 0.038808053740086015
|
||||
37 4.65663537265818 0.038165277473563186
|
||||
38 4.668116169375982 0.03755431934067681
|
||||
39 4.679301265579416 0.03697249221372099
|
||||
40 4.690205511760261 0.03641740727159124
|
||||
41 4.700842667040841 0.035886933914353075
|
||||
42 4.711225503562264 0.03537916594067244
|
||||
43 4.721365898682805 0.03489239288004529
|
||||
44 4.731274916655688 0.03442507558955731
|
||||
45 4.740962881194752 0.033975825395827434
|
||||
46 4.7504394401213155 0.03354341304180551
|
||||
47 4.7597136231071 0.03312693001286275
|
||||
48 4.768793893379504 0.03272562874888363
|
||||
49 4.777688194131303 0.03233880462655265
|
||||
50 4.786403990272565 0.03196579269193495
|
||||
51 4.794948306074722 0.03160596525189884
|
||||
52 4.803327759182448 0.03125872959404176
|
||||
53 4.811548591405942 0.030923525835009062
|
||||
54 4.819616696652556 0.030599824895015865
|
||||
55 4.827537646310873 0.030287126594927695
|
||||
56 4.835316712361069 0.029984957871270798
|
||||
57 4.842958888451666 0.029692871103911146
|
||||
58 4.850468909153691 0.029410442550776832
|
||||
59 4.857851267578177 0.029137270883826817
|
||||
60 4.865110231521148 0.028872975820446085
|
||||
61 4.872249858281366 0.028617196844524333
|
||||
62 4.8792740082796495 0.028369592011629523
|
||||
63 4.886186357594227 0.028129836789268253
|
||||
64 4.892990409514036 0.027897594576483477
|
||||
65 4.899689505200867 0.027672472212608813
|
||||
66 4.9062868335415875 0.027454090958515334
|
||||
67 4.912785440263165 0.027242098159955423
|
||||
68 4.919188236375724 0.027036165072266957
|
||||
69 4.925498006002204 0.026835984897298357
|
||||
70 4.93171741364733 0.02664127100892969
|
||||
71 4.937849010953414 0.026451755346509214
|
||||
72 4.9438952429858425 0.026267186958065784
|
||||
73 4.949858454086998 0.02608733067735169
|
||||
74 4.955740893333708 0.025911965920672964
|
||||
75 4.961544719629997 0.0257408855911163
|
||||
76 4.967272006464015 0.025573895079218145
|
||||
77 4.97292474635535 0.025410811350374714
|
||||
78 4.9785048550166335 0.025251462110385838
|
||||
79 4.984014175251137 0.025095685041484656
|
||||
80 4.989454480606254 0.024943327102043805
|
||||
81 4.994827478800945 0.024794243883888303
|
||||
82 5.000134814943763 0.02464829902179385
|
||||
83 5.005378074556595 0.024505363650323124
|
||||
84 5.010558786418044 0.024365315903656953
|
||||
85 5.01567842523921 0.024228040454526117
|
||||
86 5.020738414183583 0.024093428088744755
|
||||
87 5.025740127241814 0.02396137531219892
|
||||
88 5.0306848914712985 0.023831783987455578
|
||||
89 5.035573989109678 0.02370456099743642
|
||||
90 5.040408659570707 0.02357961793384775
|
||||
91 5.045190101330236 0.023456873114059824
|
||||
92 5.049919473709507 0.023336263039570274
|
||||
93 5.054597898562387 0.02321773214687803
|
||||
94 5.059226461872687 0.02310122682601919
|
||||
95 5.063806215267258 0.022986695323041755
|
||||
96 5.068338177450135 0.022874087659763016
|
||||
97 5.072823335562626 0.02276335555766745
|
||||
98 5.077262646473879 0.022654452365698248
|
||||
99 5.081657038006153 0.022547332991711865
|
||||
100 5.086007410098723 0.022441953837380336
|
||||
101 5.090314635914066 0.0223382727363408
|
||||
102 5.09457956288972 0.022236248895404633
|
||||
103 5.098803013739008 0.02213584283865078
|
||||
104 5.1029857874035605 0.022037016354239502
|
||||
105 5.107128659960404 0.021939732443793013
|
||||
106 5.111232385486198 0.021843955274199606
|
||||
107 5.115297696881016 0.02174965013170656
|
||||
108 5.119325306653925 0.02165678337817612
|
||||
109 5.123315907672482 0.02156532240938591
|
||||
110 5.127270173878088 0.021475235615263554
|
||||
111 5.131188760969096 0.02138649234195073
|
||||
112 5.135072307053346 0.021299062855599803
|
||||
113 5.1389214332718085 0.02121291830781055
|
||||
114 5.142736744394813 0.02112803070262106
|
||||
115 5.146518829392325 0.02104437286497174
|
||||
116 5.150268261979605 0.020961918410566
|
||||
117 5.153985601139506 0.020880641717055812
|
||||
118 5.157671391622619 0.02080051789648448
|
||||
119 5.161326164426362 0.020721522768923174
|
||||
120 5.164950437254085 0.020643632837240727
|
||||
121 5.1685447149551695 0.02056682526295059
|
||||
122 5.172109489947079 0.020491077843081032
|
||||
123 5.17564524262021 0.02041636898801879
|
||||
124 5.179152441726411 0.02034267770027795
|
||||
125 5.18263154475193 0.02026998355414966
|
||||
126 5.186082998275546 0.020198266676189885
|
||||
127 5.18950723831258 0.020127507726505255
|
||||
128 5.192904690645454 0.020057687880799056
|
||||
129 5.19627577114141 0.019988788813141294
|
||||
130 5.199620886058005 0.01992079267942922
|
||||
131 5.202940432336923 0.019853682101505656
|
||||
132 5.206234797886642 0.01978744015190522
|
||||
133 5.209504361854472 0.019722050300466344
|
||||
134 5.212749494888408 0.01965749488255514
|
||||
135 5.215970559389296 0.019593754693782984
|
||||
136 5.219167909753699 0.019530810988654727
|
||||
137 5.222341892607895 0.019468645604081316
|
||||
138 5.2254928470333875 0.019407240936944705
|
||||
139 5.228621104784289 0.0193465799226898
|
||||
140 5.231726990496936 0.019286646014889344
|
||||
141 5.234810821892061 0.019227423165730364
|
||||
142 5.237872909969827 0.01916889580737451
|
||||
143 5.240913559198058 0.019111048834146525
|
||||
144 5.243933067693895 0.01905386758550874
|
||||
145 5.246931727399209 0.018997337829781413
|
||||
146 5.249909824249979 0.018941445748570936
|
||||
147 5.2528676383399135 0.018886177921870452
|
||||
148 5.255805444078533 0.018831521313799508
|
||||
149 5.258723510343942 0.018777463258950532
|
||||
150 5.2616221006305075 0.018723991449312794
|
||||
151 5.264501473191633 0.018671093921745343
|
||||
152 5.267361881177835 0.018618759045972284
|
||||
153 5.27020357277031 0.018566975513075148
|
||||
154 5.273026791310143 0.018515732324458786
|
||||
155 5.275831775423361 0.018465018781267887
|
||||
156 5.278618759141958 0.018414824474233208
|
||||
157 5.2813879720210775 0.018365139273926852
|
||||
158 5.2841396392524675 0.018315953321408136
|
||||
159 5.286873981774375 0.018267257019241465
|
||||
160 5.289591216377995 0.018219041022869045
|
||||
161 5.292291555810619 0.01817129623232279
|
||||
162 5.294975208875583 0.01812401378425928
|
||||
163 5.29764238052916 0.018077185044303605
|
||||
164 5.300293271974489 0.018030801599688187
|
||||
165 5.302928080752651 0.017984855252173408
|
||||
166 5.305547000831011 0.017939338011237337
|
||||
167 5.308150222688895 0.01789424208752309
|
||||
168 5.310737933400731 0.017849559886532418
|
||||
169 5.313310316716719 0.01780528400255435
|
||||
170 5.315867553141125 0.017761407212819682
|
||||
171 5.318409820008287 0.017717922471870623
|
||||
172 5.320937291556412 0.017674822906137023
|
||||
173 5.3234501389992275 0.017632101808710283
|
||||
174 5.325948530595585 0.017589752634306413
|
||||
175 5.328432631717061 0.017547768994410566
|
||||
176 5.330902604913646 0.017506144652595295
|
||||
177 5.33335860997757 0.01746487352000543
|
||||
178 5.3358008040053315 0.017423949651002694
|
||||
179 5.338229341457999 0.017383367238963443
|
||||
180 5.340644374219832 0.017343120612223355
|
||||
181 5.3430460516552785 0.017303204230163207
|
||||
182 5.34543452066441 0.01726361267942977
|
||||
183 5.347809925736839 0.017224340670286796
|
||||
184 5.350172409004169 0.01718538303309055
|
||||
185 5.352522110291023 0.017146734714885228
|
||||
186 5.354859167164706 0.01710839077611348
|
||||
187 5.357183714983534 0.017070346387437256
|
||||
188 5.359495886943872 0.01703259682666522
|
||||
189 5.361795814125938 0.016995137475782077
|
||||
190 5.36408362553839 0.016957963818076176
|
||||
191 5.366359448161749 0.01692107143536154
|
||||
192 5.368623406990689 0.016884456005290812
|
||||
193 5.370875625075233 0.01684811329875544
|
||||
194 5.373116223560886 0.01681203917737013
|
||||
195 5.37534532172773 0.0167762295910382
|
||||
196 5.377563037028536 0.016740680575594753
|
||||
197 5.379769485125891 0.016705388250525127
|
||||
198 5.381964779928401 0.016670348816755363
|
209
tcl/calcurves/RX21086.340
Normal file
209
tcl/calcurves/RX21086.340
Normal file
@ -0,0 +1,209 @@
|
||||
Comment: 30.07.2021, FP and CMN, 16mK--2.3K extrapolated elsewhere
|
||||
Sensor Model: RX-1000-BF0.007
|
||||
Serial Number: RX21086
|
||||
Data Format: 4 (Log Ohms/Kelvin)
|
||||
SetPoint Limit: 0.0167 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 198
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
|
||||
1 3.95172112186057 0.4180505091843286
|
||||
2 3.9695976306545586 0.40162941564240395
|
||||
3 3.986767302435376 0.3864626849234625
|
||||
4 4.00328391425531 0.37238276518892366
|
||||
5 4.019195330271573 0.3592855962289843
|
||||
6 4.034544338032305 0.3470875218656867
|
||||
7 4.0493693419485615 0.33571271660075375
|
||||
8 4.063704942254607 0.32509252408915157
|
||||
9 4.077582421423871 0.3151648000006031
|
||||
10 4.091030155243403 0.3058684676708055
|
||||
11 4.104073962130744 0.29713652025270054
|
||||
12 4.116737401502962 0.2889092616486872
|
||||
13 4.129042029862561 0.28113535525905975
|
||||
14 4.141007621593087 0.2737704327904062
|
||||
15 4.1526523601441045 0.2667759679572164
|
||||
16 4.163993004246593 0.26011835871279726
|
||||
17 4.175045032972715 0.2537701725425371
|
||||
18 4.1858227727910915 0.24771376868376796
|
||||
19 4.196339509234364 0.24193399707554128
|
||||
20 4.206607585362598 0.23641640934180486
|
||||
21 4.21663848885292 0.23114726678338812
|
||||
22 4.22644292925642 0.2261135360025413
|
||||
23 4.236030906725152 0.22130287556524825
|
||||
24 4.2454117733149825 0.21670361631457905
|
||||
25 4.254594287806358 0.21230449743609126
|
||||
26 4.263586664848482 0.20809223987850517
|
||||
27 4.2723966191179645 0.2040530576485453
|
||||
28 4.2810314050868135 0.20017449377673227
|
||||
29 4.289497852913454 0.1964452923329563
|
||||
30 4.297802400901659 0.19285525919708682
|
||||
31 4.305951124913849 0.18939514148161465
|
||||
32 4.3139497650753915 0.18605652278418564
|
||||
33 4.3218037500638715 0.18283173192192465
|
||||
34 4.3295182192408 0.17971376318626692
|
||||
35 4.337098042851705 0.17669631010410758
|
||||
36 4.344547840493472 0.17377480891405978
|
||||
37 4.351871998024261 0.17094575213264646
|
||||
38 4.359074683071033 0.16820576419576727
|
||||
39 4.366159859271952 0.16555158531038544
|
||||
40 4.373131299375545 0.16298007114798133
|
||||
41 4.3799925973049945 0.16048819175909865
|
||||
42 4.386747179284154 0.15807302987007918
|
||||
43 4.393398314111519 0.15573177869589305
|
||||
44 4.399949122659253 0.15346173938020186
|
||||
45 4.4064025866664 0.15126031815470192
|
||||
46 4.412761556888276 0.14912502329383764
|
||||
47 4.419028760657795 0.14705338936280482
|
||||
48 4.42520680890894 0.14504255936356905
|
||||
49 4.4312982027076195 0.14308963753836265
|
||||
50 4.437305339330834 0.14119191194500988
|
||||
51 4.4432305179311 0.13934684092374708
|
||||
52 4.44907594481964 0.13755203997076285
|
||||
53 4.454843738398728 0.13580526979992144
|
||||
54 4.460535933770766 0.13410442546983029
|
||||
55 4.466154487049198 0.1324475264676318
|
||||
56 4.471701279394117 0.13083270765330937
|
||||
57 4.4771781207933845 0.1292582109791396
|
||||
58 4.48258675360829 0.1277223779084147
|
||||
59 4.487928855901125 0.1262236424658884
|
||||
60 4.493206044560577 0.12476052485971367
|
||||
61 4.498419878239503 0.12333163304380296
|
||||
62 4.503571860118438 0.12193574631828279
|
||||
63 4.508663440507109 0.12057176990519662
|
||||
64 4.5136960192952 0.11923865748866554
|
||||
65 4.51867094826274 0.11793540714711268
|
||||
66 4.523589533259658 0.11666105905378815
|
||||
67 4.528453036263288 0.11541469331734591
|
||||
68 4.533262677321936 0.1141954279527051
|
||||
69 4.5380196363920025 0.11300241697318955
|
||||
70 4.542725055075576 0.11183484859564194
|
||||
71 4.547380038264897 0.11069194355084538
|
||||
72 4.551985655699627 0.10957295349216913
|
||||
73 4.556542943442405 0.10847715949589558
|
||||
74 4.5610529052777835 0.107403870647169
|
||||
75 4.5655165140392695 0.10635242270596287
|
||||
76 4.569934712868869 0.10532217684786949
|
||||
77 4.5743084164131975 0.10431251695197608
|
||||
78 4.5786385119599595 0.10332283844739922
|
||||
79 4.582925860518338 0.10235255465698116
|
||||
80 4.58717129784656 0.10140110157845207
|
||||
81 4.591375635429739 0.1004679368322608
|
||||
82 4.595539661410823 0.09955253863642508
|
||||
83 4.5996641414773425 0.0986544048391098
|
||||
84 4.603749819706445 0.09777305200518102
|
||||
85 4.607797419370548 0.09690801455325226
|
||||
86 4.611807643705798 0.0960588439400026
|
||||
87 4.615781176645365 0.09522510788877314
|
||||
88 4.619718683519506 0.09440638965966222
|
||||
89 4.623620811724166 0.09360228735854248
|
||||
90 4.627488191359815 0.09281241328259995
|
||||
91 4.631321435842091 0.09203639330016182
|
||||
92 4.635121142485725 0.09127386626274112
|
||||
93 4.6388878930631465 0.09052448344735803
|
||||
94 4.642622254339068 0.08978790802734032
|
||||
95 4.646324778582288 0.08906381456991713
|
||||
96 4.649996004055852 0.08835188855904216
|
||||
97 4.653636455486678 0.08765182594197644
|
||||
98 4.657246644515652 0.08696333269826736
|
||||
99 4.660827070129182 0.08628612446384723
|
||||
100 4.664378219073096 0.08561992795859034
|
||||
101 4.667900566249762 0.08496448135336596
|
||||
102 4.671394575099234 0.08431953119632819
|
||||
103 4.674860697965178 0.08368483186046159
|
||||
104 4.678299376446321 0.08306014524586271
|
||||
105 4.681711041734095 0.08244524049545562
|
||||
106 4.6850961149371155 0.08183989372343856
|
||||
107 4.688455007393115 0.08124388775580493
|
||||
108 4.691788120968907 0.08065701188231766
|
||||
109 4.695095848348927 0.08007906161935352
|
||||
110 4.69837857331287 0.07950983848306784
|
||||
111 4.701636671002902 0.07894914977236192
|
||||
112 4.70487050818094 0.07839680836116064
|
||||
113 4.708080443476412 0.07785263249954284
|
||||
114 4.7112668276249305 0.07731644562328702
|
||||
115 4.714430003698276 0.07678807617142054
|
||||
116 4.717570307326063 0.07626735741138517
|
||||
117 4.720688066909449 0.07575412727145134
|
||||
118 4.723783603827232 0.0752482281800327
|
||||
119 4.7268572326346465 0.07474950691157567
|
||||
120 4.729909261255182 0.0742578144387094
|
||||
121 4.732939991165704 0.07377300579036607
|
||||
122 4.73594971757516 0.07329493991559047
|
||||
123 4.738938729597138 0.07282347955277604
|
||||
124 4.741907310416527 0.07235849110407866
|
||||
125 4.744855737450517 0.07189984451476855
|
||||
126 4.747784282504175 0.07144741315729988
|
||||
127 4.750693211920808 0.07100107355468722
|
||||
128 4.753582786727326 0.07056070377241648
|
||||
129 4.7564532627747935 0.07012618412597511
|
||||
130 4.759304890874382 0.06969739809767002
|
||||
131 4.762137916928867 0.06927423224497434
|
||||
132 4.764952582059886 0.06885657609980934
|
||||
133 4.76774912273108 0.06844432207175648
|
||||
134 4.77052777086731 0.06803736535502074
|
||||
135 4.773288753970074 0.06763560383897768
|
||||
136 4.7760322952292835 0.0672389380221434
|
||||
137 4.778758613631531 0.06684727092941604
|
||||
138 4.78146792406498 0.06646050803244512
|
||||
139 4.784160437421 0.06607855717299183
|
||||
140 4.786836360692677 0.06570132848914854
|
||||
141 4.789495897070302 0.0653287343442967
|
||||
142 4.792139246033957 0.06496068925868274
|
||||
143 4.794766603443298 0.06459710984350182
|
||||
144 4.797378161624639 0.06423791473738227
|
||||
145 4.799974109455434 0.0638830245451698
|
||||
146 4.802554632446248 0.06353236177891428
|
||||
147 4.805119912820313 0.0631858508009678
|
||||
148 4.807670129590734 0.06284341776910732
|
||||
149 4.810205458635457 0.06250499058359602
|
||||
150 4.812726072770052 0.06217049883610672
|
||||
151 4.815232141818401 0.061839873760429175
|
||||
152 4.817723832681355 0.06151304818489118
|
||||
153 4.820201309403431 0.061189956486422066
|
||||
154 4.822664733237622 0.06087053454619543
|
||||
155 4.825114262708381 0.06055471970678521
|
||||
156 4.827550053672828 0.06024245073077867
|
||||
157 4.829972259380262 0.05993366776078559
|
||||
158 4.832381030530016 0.05962831228079127
|
||||
159 4.834776515327716 0.05932632707880041
|
||||
160 4.837158859540007 0.059027656210720675
|
||||
161 4.839528206547766 0.05873224502313993
|
||||
162 4.8418846973978935 0.058440040434167374
|
||||
163 4.844228470853692 0.058150990656022646
|
||||
164 4.846559663443902 0.05786504500714514
|
||||
165 4.8488784095104185 0.05758215388246619
|
||||
166 4.851184841254755 0.05730226872504534
|
||||
167 4.853479088783263 0.05702534199859812
|
||||
168 4.855761280151179 0.05675132716088082
|
||||
169 4.858031541405511 0.05648017863790337
|
||||
170 4.860289996626812 0.05621185179893897
|
||||
171 4.862536767969872 0.055946302932302704
|
||||
172 4.864771975703369 0.055683489221870615
|
||||
173 4.866995738248494 0.0554233687243152
|
||||
174 4.869208172216601 0.05516590034702931
|
||||
175 4.871409392445901 0.05491104382671652
|
||||
176 4.873599512037227 0.05465875970862297
|
||||
177 4.875778642388907 0.05440900932638965
|
||||
178 4.87794689323076 0.05416175478250309
|
||||
179 4.880104372657257 0.05391695892932373
|
||||
180 4.882251187159854 0.05367458535067225
|
||||
181 4.88438744165853 0.05343459834395558
|
||||
182 4.886513239532558 0.053196962902812575
|
||||
183 4.888628682650528 0.052961644700263634
|
||||
184 4.890733871399632 0.05272861007234635
|
||||
185 4.892828904714253 0.05249782600222082
|
||||
186 4.8949138801038625 0.05226926010472968
|
||||
187 4.8969888936802555 0.05204288061139703
|
||||
188 4.899054040184134 0.051818656355852
|
||||
189 4.90110941301106 0.051596556759663965
|
||||
190 4.903155104236805 0.05137655181857391
|
||||
191 4.905191204642099 0.051158612089110905
|
||||
192 4.907217803736801 0.05094270867558101
|
||||
193 4.909234989783513 0.050728813217414986
|
||||
194 4.911242849820645 0.05051689787686572
|
||||
195 4.913241469684952 0.050306935327041884
|
||||
196 4.9152309340335485 0.05009889874026919
|
||||
197 4.917211326365431 0.04989276177676692
|
||||
198 4.9191827290425 0.04968849857363164
|
209
tcl/calcurves/RX21087.340
Normal file
209
tcl/calcurves/RX21087.340
Normal file
@ -0,0 +1,209 @@
|
||||
Comment: 30.07.2021, FP and CMN, 16mK--2.3K extrapolated elsewhere
|
||||
Sensor Model: RX-1000-BF0.007
|
||||
Serial Number: RX21087
|
||||
Data Format: 4 (Log Ohms/Kelvin)
|
||||
SetPoint Limit: 0.0167 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 198
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
|
||||
1 3.1877039882751053 3.636144640618681
|
||||
2 3.2152148320126863 3.0639436002478933
|
||||
3 3.2410863045045946 2.6701709865003567
|
||||
4 3.2655028466489204 2.3777117752759884
|
||||
5 3.2886194237420754 2.143670635870384
|
||||
6 3.3105674897771427 1.9505157438499452
|
||||
7 3.3314595155331577 1.790183389795224
|
||||
8 3.3513924764647065 1.655299766614305
|
||||
9 3.3704505745875135 1.5401509173521934
|
||||
10 3.388707387768537 1.4408619049649685
|
||||
11 3.4062275851497037 1.3545874970343195
|
||||
12 3.4230683097383037 1.2790988499856546
|
||||
13 3.439280302771094 1.2126291649765184
|
||||
14 3.454908825648797 1.1536933911170497
|
||||
15 3.4699944216595013 1.1009465681167245
|
||||
16 3.484573549781061 1.0533071291194047
|
||||
17 3.498679115506066 1.0099175521250492
|
||||
18 3.5123409181366814 0.9700919811559997
|
||||
19 3.525586029842336 0.9332778635327277
|
||||
20 3.5384391186032236 0.8990792729598817
|
||||
21 3.5509227247219237 0.86727454039794
|
||||
22 3.5630574986907453 0.8376767561227868
|
||||
23 3.5748624067198973 0.8101142797601791
|
||||
24 3.5863549090631164 0.78442978910307
|
||||
25 3.597551115350019 0.7604792731110397
|
||||
26 3.6084659203936176 0.738131016634416
|
||||
27 3.6191131233459846 0.7172558713509263
|
||||
28 3.6295055325936243 0.6977080132366713
|
||||
29 3.639655058392744 0.6793536862595989
|
||||
30 3.6495727949247523 0.6620760545613921
|
||||
31 3.6592690931896437 0.645772682918738
|
||||
32 3.6687536259381064 0.6303534462582784
|
||||
33 3.678035445663524 0.6157387864523007
|
||||
34 3.687123036525386 0.6018582517739349
|
||||
35 3.6960243609505885 0.588649267965512
|
||||
36 3.7047469015540964 0.576058280423931
|
||||
37 3.7132976989320334 0.5640442884492296
|
||||
38 3.7216833858054796 0.5525711871891125
|
||||
39 3.729910217929833 0.5416057252887579
|
||||
40 3.737984102130578 0.5311172349278432
|
||||
41 3.7459106217802094 0.5210773914157912
|
||||
42 3.753695059991548 0.511459998687214
|
||||
43 3.761342420768757 0.5022407975423541
|
||||
44 3.768857448328131 0.49339729390439974
|
||||
45 3.7762446447754816 0.48490860472928077
|
||||
46 3.783508286305049 0.4767553195140824
|
||||
47 3.7906524380659006 0.4689192475843778
|
||||
48 3.7976809678252152 0.4613824000470675
|
||||
49 3.804597558543438 0.45412758922755814
|
||||
50 3.811405719963662 0.4471389021963244
|
||||
51 3.8181087993065455 0.44040158991456363
|
||||
52 3.824709991152338 0.4339019639413095
|
||||
53 3.8312123465830603 0.42762730384072917
|
||||
54 3.837618781650318 0.4215657740290891
|
||||
55 3.84393208522758 0.41570634896657765
|
||||
56 3.8501549262998465 0.4100387457409287
|
||||
57 3.856289860738393 0.40455336321133184
|
||||
58 3.8623393376036357 0.39924122698560216
|
||||
59 3.868305705015011 0.39409393959362105
|
||||
60 3.8741912156230893 0.3891036352977913
|
||||
61 3.8799980317158247 0.38426293801335426
|
||||
62 3.885728229987918 0.37956488387931403
|
||||
63 3.8913838059996104 0.37500288040286556
|
||||
64 3.8969666783488663 0.37057073110135247
|
||||
65 3.9024786925787764 0.3662626099782028
|
||||
66 3.907921624840088 0.3620730344948809
|
||||
67 3.9132971853270506 0.3579968408540618
|
||||
68 3.9186070215032136 0.3540291613684391
|
||||
69 3.923852721132389 0.35016540371424293
|
||||
70 3.929035815128743 0.34640123189020944
|
||||
71 3.934157780238807 0.34273254872185477
|
||||
72 3.939220041567169 0.33915547976775123
|
||||
73 3.944223974956656 0.3356663584993975
|
||||
74 3.9491709092329392 0.33226171263946774
|
||||
75 3.954062128322745 0.32893825155489365
|
||||
76 3.9588988732540966 0.3256928546116378
|
||||
77 3.9636823440464015 0.3225225604072209
|
||||
78 3.9684137014975707 0.3194245568053007
|
||||
79 3.9730940688748393 0.31639617170391887
|
||||
80 3.977724533515442 0.31343490526824447
|
||||
81 3.9823061483428535 0.3105385514456228
|
||||
82 3.9868399333038824 0.3077050460444255
|
||||
83 3.991326876731522 0.3049324105739437
|
||||
84 3.9957679366381202 0.3022187478737892
|
||||
85 4.000164041943092 0.2995622380077851
|
||||
86 4.004516093639118 0.29696113440281663
|
||||
87 4.008824965900488 0.2944137602158292
|
||||
88 4.0130915071369975 0.2919185049134636
|
||||
89 4.01731654099658 0.2894738210500048
|
||||
90 4.021500867319638 0.28707822123041005
|
||||
91 4.025645263047832 0.2847302752461832
|
||||
92 4.029750483089925 0.28242860737276565
|
||||
93 4.033817261147075 0.2801718938179665
|
||||
94 4.03784631049985 0.27795886031170464
|
||||
95 4.041838324759075 0.27578827982805787
|
||||
96 4.045793978582471 0.27365897043125537
|
||||
97 4.049713928358965 0.2715697932378405
|
||||
98 4.053598812862381 0.2695196504878006
|
||||
99 4.057449253876158 0.26750748371793776
|
||||
100 4.061265856790618 0.2655322720312521
|
||||
101 4.065049211174207 0.26359303045651306
|
||||
102 4.0687998913200865 0.2616888083926095
|
||||
103 4.072518456769307 0.25981868776859524
|
||||
104 4.0762054528117835 0.2579817525621261
|
||||
105 4.079861410966175 0.25617706918937516
|
||||
106 4.083486849439743 0.25440373411162076
|
||||
107 4.08708227356917 0.2526608774845938
|
||||
108 4.090648176243276 0.2509476616081476
|
||||
109 4.09418503830853 0.24926327946029492
|
||||
110 4.097693328958175 0.24760695331033175
|
||||
111 4.101173506105765 0.24597793340613885
|
||||
112 4.104626016743853 0.24437549673109854
|
||||
113 4.108051297288534 0.24279894582637804
|
||||
114 4.111449773910508 0.24124760767461934
|
||||
115 4.114821862853287 0.23972083264135838
|
||||
116 4.1181679707391465 0.23821799347072992
|
||||
117 4.121488494863379 0.2367384843322564
|
||||
118 4.124783823477384 0.23528171991572747
|
||||
119 4.128054336061096 0.233847134571379
|
||||
120 4.131300403585236 0.23243418149275563
|
||||
121 4.134522388763833 0.2310423319398192
|
||||
122 4.137720646297441 0.22967107450002383
|
||||
123 4.140895523107476 0.22831991438520818
|
||||
124 4.144047358562044 0.22698837276231645
|
||||
125 4.147176484693627 0.22567598611606787
|
||||
126 4.150283226409003 0.22438230564181283
|
||||
127 4.153367901691679 0.22310689666693673
|
||||
128 4.15643082179722 0.22184933809925386
|
||||
129 4.159472291441712 0.22060922190094906
|
||||
130 4.162492608983685 0.2193861525866949
|
||||
131 4.165492066599749 0.2181797467446706
|
||||
132 4.168470950454206 0.21698963257927084
|
||||
133 4.1714295408628885 0.21581544947437473
|
||||
134 4.174368112451449 0.21465684814150626
|
||||
135 4.177286934308337 0.21351350450512266
|
||||
136 4.180186270132661 0.21238511942741822
|
||||
137 4.183066378377157 0.21127140232230077
|
||||
138 4.185927512386444 0.21017207007388233
|
||||
139 4.188769920530746 0.20908684679827477
|
||||
140 4.191593846335285 0.2080154636144282
|
||||
141 4.194399528605476 0.20695765842362385
|
||||
142 4.197187201548116 0.20591317569723383
|
||||
143 4.1999570948887035 0.20488176627239618
|
||||
144 4.202709433985037 0.20386318715525725
|
||||
145 4.205444439937247 0.2028572013314603
|
||||
146 4.20816232969437 0.201863577583572
|
||||
147 4.210863316157627 0.2008820903151469
|
||||
148 4.213547608280489 0.19991251938115806
|
||||
149 4.216215411165688 0.19895464992452025
|
||||
150 4.218866926159255 0.19800827221845532
|
||||
151 4.221502350941708 0.19707318151445913
|
||||
152 4.22412187961649 0.19614917789563396
|
||||
153 4.2267257027957585 0.1952360661351738
|
||||
154 4.2293140076836115 0.19433365555978768
|
||||
155 4.231886978156857 0.1934417599178627
|
||||
156 4.234444794843395 0.19256019725217816
|
||||
157 4.236987635198314 0.1916887897769855
|
||||
158 4.2395156735777615 0.19082736375928233
|
||||
159 4.242029081310689 0.1899757494041153
|
||||
160 4.244528026768528 0.18913378074374992
|
||||
161 4.247012675432862 0.18830129553056282
|
||||
162 4.2494831899611984 0.187478135133502
|
||||
163 4.251939730250854 0.18666414443798768
|
||||
164 4.254382453501057 0.18585917174911354
|
||||
165 4.256811514273317 0.185063068698024
|
||||
166 4.259227064550105 0.18427569015134998
|
||||
167 4.261629253791912 0.18349689412358397
|
||||
168 4.264018228992748 0.182726541692283
|
||||
169 4.2663941347341146 0.18196449691599775
|
||||
170 4.268757113237504 0.18121062675482338
|
||||
171 4.271107304415496 0.18046480099347273
|
||||
172 4.273444845921459 0.17972689216678672
|
||||
173 4.275769873197934 0.1789967754875818
|
||||
174 4.278082519523727 0.17827432858918132
|
||||
175 4.280382916059749 0.17755942773007427
|
||||
176 4.28267119189366 0.17685194813757257
|
||||
177 4.284947474083325 0.17615176766480145
|
||||
178 4.287211887699161 0.17545876686671316
|
||||
179 4.289464555865363 0.17477282892559737
|
||||
180 4.291705599800078 0.17409383957903976
|
||||
181 4.293935138854549 0.17342168705023678
|
||||
182 4.29615329055125 0.17275626198057856
|
||||
183 4.298360170621065 0.17209745736441343
|
||||
184 4.300555893039515 0.1714451684859111
|
||||
185 4.302740570062084 0.17079929285794965
|
||||
186 4.304914312258648 0.1701597301629475
|
||||
187 4.307077228547064 0.1695263821955702
|
||||
188 4.309229426225912 0.16889915280724357
|
||||
189 4.311371011006433 0.16827794785240663
|
||||
190 4.313502087043693 0.16766267513644123
|
||||
191 4.315622756966971 0.1670532443652169
|
||||
192 4.317733121909421 0.16644956709619527
|
||||
193 4.319833281537009 0.1658515566910346
|
||||
194 4.321923334076758 0.1652591282696447
|
||||
195 4.324003376344317 0.1646721986656377
|
||||
196 4.326073503770869 0.16409068638312743
|
||||
197 4.328133810429403 0.16351451155482966
|
||||
198 4.330184389060367 0.16294359590141771
|
209
tcl/calcurves/RX21088.340
Normal file
209
tcl/calcurves/RX21088.340
Normal file
@ -0,0 +1,209 @@
|
||||
Comment: 30.07.2021, FP and CMN, 16mK--2.3K extrapolated elsewhere
|
||||
Sensor Model: RX-1000-BF0.007
|
||||
Serial Number: RX21088
|
||||
Data Format: 4 (Log Ohms/Kelvin)
|
||||
SetPoint Limit: 0.0167 (Kelvin)
|
||||
Temperature coefficient: 1 (Negative)
|
||||
Number of Breakpoints: 198
|
||||
|
||||
No. Units Temperature (K)
|
||||
|
||||
|
||||
1 3.940038099187222 2.29950691832369
|
||||
2 3.9574739246974557 2.0041624874409303
|
||||
3 3.974236681010697 1.767106836845007
|
||||
4 3.9903764069933003 1.5762778018750998
|
||||
5 4.005937760770854 1.4199490479114263
|
||||
6 4.020960764570671 1.2900756141338707
|
||||
7 4.035481424980388 1.180801803241447
|
||||
8 4.049532252821143 1.087422428902758
|
||||
9 4.063142701521795 1.006064942694466
|
||||
10 4.076339538860837 0.9338947937886868
|
||||
11 4.0891471638719326 0.8690801293997024
|
||||
12 4.101587878342379 0.8108836236695705
|
||||
13 4.113682120494735 0.7587359531986022
|
||||
14 4.125448667001661 0.7120699083527054
|
||||
15 4.1369048083478654 0.6701384887139029
|
||||
16 4.148066501650667 0.6321614389597935
|
||||
17 4.158948504329194 0.5975096142527055
|
||||
18 4.169564491432014 0.5656855286912152
|
||||
19 4.179927158963436 0.5363598142594884
|
||||
20 4.190048315166892 0.5092869485735346
|
||||
21 4.199938961411425 0.48425022428996173
|
||||
22 4.209609364070723 0.4610583588250701
|
||||
23 4.219069118572192 0.43955162112944574
|
||||
24 4.228327206617794 0.4195930053414979
|
||||
25 4.237392047432011 0.401057368854736
|
||||
26 4.246271543769799 0.38383028573895694
|
||||
27 4.254973123314622 0.36779143870170433
|
||||
28 4.263503776009971 0.35279480559000304
|
||||
29 4.271870087794494 0.33871057866348864
|
||||
30 4.28007827114865 0.3254290260642854
|
||||
31 4.288134192807806 0.31285733093353324
|
||||
32 4.296043398951475 0.3009327084274243
|
||||
33 4.303811138139568 0.28962701403925417
|
||||
34 4.311442382233247 0.27891458322617685
|
||||
35 4.318941845509212 0.26876930298202284
|
||||
36 4.326314002151462 0.25916499674613075
|
||||
37 4.333563102283041 0.25007208111528356
|
||||
38 4.340693186681615 0.2414528626956213
|
||||
39 4.347708100306445 0.23327164649445672
|
||||
40 4.354611504750145 0.22549619998775064
|
||||
41 4.361406889716177 0.21809735406793998
|
||||
42 4.3680975836121405 0.21104871985556792
|
||||
43 4.374686763339375 0.20432722605554546
|
||||
44 4.381177463350938 0.1979124253294737
|
||||
45 4.38757258404262 0.1917854952770754
|
||||
46 4.393874899535055 0.1859290666661048
|
||||
47 4.4000870648992185 0.18032708922471152
|
||||
48 4.406211622872388 0.17496481741769473
|
||||
49 4.412251010107105 0.16982964510701443
|
||||
50 4.418207562991554 0.1649103488260771
|
||||
51 4.42408352307618 0.1601963116209544
|
||||
52 4.429881042138058 0.15567748266248777
|
||||
53 4.435602186911665 0.1513443477731787
|
||||
54 4.4412489435120825 0.14718787753901091
|
||||
55 4.44682322157431 0.14319852010264547
|
||||
56 4.4523268581302835 0.13936603400817626
|
||||
57 4.457761621243293 0.13568091191992998
|
||||
58 4.463129213417783 0.13213441099130918
|
||||
59 4.468431274801015 0.12871848008816145
|
||||
60 4.473669386191611 0.12542569490366604
|
||||
61 4.478845071868848 0.1222493973125674
|
||||
62 4.483959802255308 0.11918597296783866
|
||||
63 4.489014996424571 0.11623358668983622
|
||||
64 4.494012024464627 0.11339017952119677
|
||||
65 4.498952209706856 0.11065347719092387
|
||||
66 4.503836830829653 0.1080210361559921
|
||||
67 4.508667123845063 0.10549028370922908
|
||||
68 4.51344428397615 0.10305807569036254
|
||||
69 4.518169467432222 0.10071830647276082
|
||||
70 4.522843793088532 0.0984642098118807
|
||||
71 4.5274683440765235 0.09628962242918321
|
||||
72 4.532044169290318 0.09418892766814362
|
||||
73 4.536572284814644 0.09215700253414763
|
||||
74 4.541053675279106 0.09018917057334168
|
||||
75 4.545489295143277 0.08828115985953428
|
||||
76 4.549880069916838 0.08642906551106713
|
||||
77 4.554226897318645 0.0846298181698003
|
||||
78 4.5585306483783725 0.08288225674449136
|
||||
79 4.562792168484095 0.08118554870006753
|
||||
80 4.567012278378972 0.07953879921205276
|
||||
81 4.571191775109982 0.07794106237303348
|
||||
82 4.575331432931419 0.07639135119638533
|
||||
83 4.579432004165755 0.07488864652375314
|
||||
84 4.583494220024225 0.07343190493523498
|
||||
85 4.587518791389394 0.07202006575390188
|
||||
86 4.591506409561802 0.07065203575930201
|
||||
87 4.5954577469726265 0.0693262105679929
|
||||
88 4.5993734578642345 0.06804054293113795
|
||||
89 4.603254178940311 0.06679309017870143
|
||||
90 4.6071005299872105 0.06558203052848408
|
||||
91 4.610913114468027 0.06440565428896738
|
||||
92 4.614692520090809 0.06326235579364271
|
||||
93 4.618439319352279 0.06215062599839707
|
||||
94 4.622154070058279 0.061069045680631574
|
||||
95 4.625837315822161 0.06001627918505145
|
||||
96 4.629489586542214 0.05899106866666346
|
||||
97 4.633111398859182 0.05799229365059771
|
||||
98 4.6367032565948625 0.05701915489354337
|
||||
99 4.640265651172722 0.05607094516093912
|
||||
100 4.643799062021391 0.05514697518980446
|
||||
101 4.647303956961881 0.05424657354658097
|
||||
102 4.650780792579303 0.053369086447045924
|
||||
103 4.654230014579823 0.05251387754340015
|
||||
104 4.657652058133553 0.051680327683222976
|
||||
105 4.661047348204041 0.05086783464449915
|
||||
106 4.664416299864975 0.050075812850495616
|
||||
107 4.667759318604705 0.049303693067861795
|
||||
108 4.671076800619129 0.048550921691161195
|
||||
109 4.674369133093479 0.047816949128391656
|
||||
110 4.6776366944735015 0.047101229249355454
|
||||
111 4.680879854726522 0.04640323275018934
|
||||
112 4.684098975592821 0.0457224473757743
|
||||
113 4.68729441082778 0.045058377366721004
|
||||
114 4.69046650643516 0.04441054292111815
|
||||
115 4.6936156008919445 0.04377847967107667
|
||||
116 4.696742025365077 0.043161738174050904
|
||||
117 4.699846103920455 0.04255988341885811
|
||||
118 4.702928153724513 0.04197249434627342
|
||||
119 4.705988485238693 0.04139916338403901
|
||||
120 4.709027402407121 0.04083949599609103
|
||||
121 4.712045202837756 0.04029310116191913
|
||||
122 4.715042177977294 0.03975944350617588
|
||||
123 4.718018613280073 0.03923788282553713
|
||||
124 4.720974788371232 0.038727812478557805
|
||||
125 4.723910977204355 0.038228661549696986
|
||||
126 4.726827448213822 0.037739892589972825
|
||||
127 4.729724464462073 0.03726099952320955
|
||||
128 4.732602283782004 0.03679150570393065
|
||||
129 4.735461158914662 0.03633096211425861
|
||||
130 4.738301337642449 0.03587894568834204
|
||||
131 4.741123062917994 0.03543505775388299
|
||||
132 4.743926572988866 0.03499892258128095
|
||||
133 4.746712101518284 0.03457018603176353
|
||||
134 4.7494798777019875 0.03414851429664064
|
||||
135 4.7522301263814 0.03373359464551937
|
||||
136 4.754963068153236 0.03332523726118644
|
||||
137 4.757678919475676 0.032923415217846655
|
||||
138 4.760377892771253 0.03252810853719416
|
||||
139 4.763060196526542 0.03213929103515762
|
||||
140 4.765726035388815 0.031756930832732455
|
||||
141 4.768375610259726 0.03138099083673781
|
||||
142 4.771009118386166 0.031011429191915556
|
||||
143 4.773626753448379 0.030648199705751722
|
||||
144 4.776228705645438 0.030291252247355654
|
||||
145 4.778815161778171 0.02994053312168893
|
||||
146 4.781386305329642 0.02959598542039078
|
||||
147 4.78394231654325 0.029257549350401788
|
||||
148 4.7864833724985605 0.028925162541539796
|
||||
149 4.789009647184914 0.02859876033414166
|
||||
150 4.791521311572916 0.028278276047832264
|
||||
151 4.794018533683875 0.02796363603335898
|
||||
152 4.796501478657241 0.02765469680290596
|
||||
153 4.798970308816141 0.027351270942355215
|
||||
154 4.801425183731058 0.027053177957022168
|
||||
155 4.803866260281719 0.026760244998946033
|
||||
156 4.8062936927172535 0.026472306497849034
|
||||
157 4.80870763271468 0.026189203812448027
|
||||
158 4.811108229435779 0.025910784900844835
|
||||
159 4.813495629582398 0.025636904008810774
|
||||
160 4.815869977450252 0.025367421374860387
|
||||
161 4.8182314149812475 0.025102202951088753
|
||||
162 4.820580081814412 0.02484112013881317
|
||||
163 4.822916115335432 0.024584049538128237
|
||||
164 4.825239650724885 0.024330872710540186
|
||||
165 4.827550821005174 0.02408147595390556
|
||||
166 4.829849757086223 0.023835750088946693
|
||||
167 4.83213658780998 0.023593590256667962
|
||||
168 4.834411439993738 0.023354859208972435
|
||||
169 4.836674438472338 0.023119210032179788
|
||||
170 4.8389257061392765 0.022886238199826978
|
||||
171 4.84116536398675 0.022655565156790684
|
||||
172 4.843393531144677 0.022426837193391006
|
||||
173 4.8456103249187175 0.022199724282190407
|
||||
174 4.847815860827332 0.021973919008799674
|
||||
175 4.850010252637905 0.021749135586660175
|
||||
176 4.852193612401959 0.021525108946707335
|
||||
177 4.854366050489481 0.021301593893665857
|
||||
178 4.85652767562241 0.021078364321491325
|
||||
179 4.858678594907279 0.020855212481169425
|
||||
180 4.860818913867066 0.020631948294708276
|
||||
181 4.862948736472249 0.020408398709740982
|
||||
182 4.865068165171123 0.020184407089672788
|
||||
183 4.867177300919361 0.019959832634793888
|
||||
184 4.869276243208876 0.019734549848596197
|
||||
185 4.871365090095978 0.01950855906498009
|
||||
186 4.873443938228863 0.019282233474291463
|
||||
187 4.875512882874445 0.01905599999342183
|
||||
188 4.877572017944558 0.018830258478171522
|
||||
189 4.879621436021523 0.018605382580096252
|
||||
190 4.881661228383141 0.018381720651923898
|
||||
191 4.8836914850270725 0.01815959669095671
|
||||
192 4.885712294694675 0.01793931131084732
|
||||
193 4.887723744894268 0.01772114273308412
|
||||
194 4.889725921923883 0.017505347790407702
|
||||
195 4.891718910893468 0.017292162935232714
|
||||
196 4.893702795746605 0.017081805246938364
|
||||
197 4.89567765928172 0.01687447343264147
|
||||
198 4.897643583172822 0.016670348816755363
|
60
tcl/calcurves/RuO2392.inp
Normal file
60
tcl/calcurves/RuO2392.inp
Normal file
@ -0,0 +1,60 @@
|
||||
#sens=RuO2392
|
||||
#unit=Ohm
|
||||
#type=Special Model:RuO2392
|
||||
#curv ! Curve follows R[Ohm] T[K]
|
||||
1373.8 4.369
|
||||
1400.6 4.045
|
||||
1427.4 3.759
|
||||
1454.5 3.51
|
||||
1482 3.289
|
||||
1509.4 3.089
|
||||
1535.2 2.927
|
||||
1593.3 2.605
|
||||
1650.1 2.349
|
||||
1707.2 2.135
|
||||
1764.8 1.956
|
||||
1824 1.804
|
||||
1882.2 1.673
|
||||
1941.3 1.56
|
||||
1999.8 1.459
|
||||
2084.2 1.328
|
||||
2176.2 1.222
|
||||
2265.9 1.128
|
||||
2355.3 1.047
|
||||
2445.7 0.977
|
||||
2533.5 0.917
|
||||
2656.7 0.844
|
||||
2773.5 0.784
|
||||
2957.3 0.706
|
||||
3143.1 0.642
|
||||
3329.5 0.589
|
||||
3581.9 0.529
|
||||
3842.7 0.481
|
||||
4181.2 0.432
|
||||
4533.3 0.393
|
||||
512.4 0.337
|
||||
5708.4 0.3
|
||||
6063.7 0.28
|
||||
7338.8 0.222
|
||||
8057.2 0.202
|
||||
8765.7 0.185
|
||||
9486.1 0.171
|
||||
10255 0.159
|
||||
10998 0.149
|
||||
12514 0.133
|
||||
14842 0.118
|
||||
15772 0.109
|
||||
19200 0.093
|
||||
21161 0.087
|
||||
23163 0.082
|
||||
24916 0.078
|
||||
28421 0.071
|
||||
33467 0.065
|
||||
40298 0.059
|
||||
48260 0.054
|
||||
56358 0.05
|
||||
68461 0.046
|
||||
84969 0.043
|
||||
94612 0.042
|
||||
124595 0.039
|
||||
157821 0.037
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user