From 9855d515e8857880fdcd52dd2aeab4f7b7658bfc Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Wed, 14 May 2025 16:50:16 +0200 Subject: [PATCH] push files from frappy/cfg - without files from frappy/cfg (mlz version) - moved ~ other files from frappy/cfg to boxes/ --- .gitignore | 13 ++ README.md | 1 + addons/ah2550sea_cfg.py | 37 +++++ addons/ah2700_cfg.py | 22 +++ addons/ah2700sea_cfg.py | 39 +++++ addons/be-filter-boa_cfg.py | 16 ++ addons/camea-be-filter_cfg.py | 49 ++++++ addons/flamesample_cfg.py | 56 +++++++ addons/focus-be-filter_cfg.py | 16 ++ addons/ls372_cfg.py | 26 ++++ addons/razorbill_cfg.py | 34 +++++ addons/sr830_cfg.py | 28 ++++ addons/stickmotor_cfg.py | 17 +++ addons/vsource_cfg.py | 44 ++++++ boxes/PEUS_cfg.py | 87 +++++++++++ boxes/RUS_cfg.py | 39 +++++ boxes/dilsc_cfg.py | 231 ++++++++++++++++++++++++++++ boxes/drums_cfg.py | 27 ++++ boxes/fi_cfg.py | 117 +++++++++++++++ boxes/flowsas_cfg.py | 52 +++++++ boxes/fs_cfg.py | 130 ++++++++++++++++ boxes/phoenix_cfg.py | 16 ++ boxes/ppms_cfg.py | 93 ++++++++++++ boxes/ppmssim_cfg.py | 166 +++++++++++++++++++++ boxes/ppmswin_cfg.py | 199 ++++++++++++++++++++++++ boxes/razorbillUC220T_cfg.py | 84 +++++++++++ boxes/senis3mh3_cfg.py | 24 +++ boxes/senis3mh6_cfg.py | 67 +++++++++ boxes/uniax_cfg.py | 59 ++++++++ boxes/vf_cfg.py | 100 +++++++++++++ main/ccr2_cfg.py | 17 +++ main/ccr2ht_cfg.py | 24 +++ main/ccr3_cfg.py | 17 +++ main/ccrpe_cfg.py | 40 +++++ main/ccrpe_lowT_cfg.py | 38 +++++ main/collector_cfg.py | 14 ++ main/cryosim_cfg.py | 49 ++++++ main/cti5_cfg.py | 17 +++ main/cti7_cfg.py | 17 +++ main/cti7ht_cfg.py | 24 +++ main/eurotherm_cfg.py | 16 ++ main/fftf_cfg.py | 43 ++++++ main/flamemag_cfg.py | 226 ++++++++++++++++++++++++++++ main/flamp_cfg.py | 61 ++++++++ main/fs_cfg.py | 24 +++ main/ft_cfg.py | 25 ++++ main/fw_cfg.py | 25 ++++ main/haake_cfg.py | 21 +++ main/haakeuro_cfg.py | 19 +++ main/ill1_cfg.py | 68 +++++++++ main/ill2_cfg.py | 68 +++++++++ main/ill3_cfg.py | 74 +++++++++ main/ill4_cfg.py | 68 +++++++++ main/ill5_cfg.py | 68 +++++++++ main/ill5pgas5_cfg.py | 104 +++++++++++++ main/jtccr_cfg.py | 134 +++++++++++++++++ main/ma02_cfg.py | 79 ++++++++++ main/ma10_cfg.py | 89 +++++++++++ main/ma10heat_cfg.py | 102 +++++++++++++ main/ma10high_t_cfg.py | 109 ++++++++++++++ main/ma11_cfg.py | 115 ++++++++++++++ main/ma15_cfg.py | 98 ++++++++++++ main/ma6_cfg.py | 82 ++++++++++ main/ma6_sampleheat_cfg.py | 109 ++++++++++++++ main/ma7_cfg.py | 99 ++++++++++++ main/ma7_piezo_cfg.py | 108 ++++++++++++++ main/ma7_sampleheat_cfg.py | 135 +++++++++++++++++ main/ma7_thermalc_cfg.py | 129 ++++++++++++++++ main/ma7two_cfg.py | 105 +++++++++++++ main/magsim_cfg.py | 60 ++++++++ main/mb11_cfg.py | 213 ++++++++++++++++++++++++++ main/mb11std_cfg.py | 228 ++++++++++++++++++++++++++++ main/ori2_cfg.py | 73 +++++++++ main/ori3_cfg.py | 73 +++++++++ main/ori4_cfg.py | 74 +++++++++ main/ori6_cfg.py | 74 +++++++++ main/ori7_cfg.py | 70 +++++++++ main/ori7test_cfg.py | 14 ++ main/peltier_cfg.py | 58 +++++++ main/rt_cfg.py | 17 +++ main/smamor_cfg.py | 28 ++++ main/variox_cfg.py | 60 ++++++++ main/varioxb_cfg.py | 187 +++++++++++++++++++++++ racklist.py | 5 + racktools.py | 178 ++++++++++++++++++++++ stick/PEstick_cfg.py | 47 ++++++ stick/dil2_cfg.py | 76 ++++++++++ stick/dil3_cfg.py | 76 ++++++++++ stick/dil4_cfg.py | 76 ++++++++++ stick/dil5_cfg.py | 249 +++++++++++++++++++++++++++++++ stick/flamedil_cfg.py | 152 +++++++++++++++++++ stick/forwarder_test_cfg.py | 26 ++++ stick/gas10ka_cfg.py | 43 ++++++ stick/heliox_cfg.py | 45 ++++++ stick/hvolt_long_cfg.py | 41 +++++ stick/hvolt_short_cfg.py | 25 ++++ stick/ill1stick_cfg.py | 19 +++ stick/ill2stick_cfg.py | 19 +++ stick/ill3stick_cfg.py | 19 +++ stick/ill4stick_cfg.py | 19 +++ stick/ill5p_cfg.py | 19 +++ stick/ill5stick_cfg.py | 19 +++ stick/ma02stick_cfg.py | 19 +++ stick/ma10stick_cfg.py | 19 +++ stick/ma11stick_cfg.py | 30 ++++ stick/ma15stick_cfg.py | 19 +++ stick/ma6_sampleheat_cfg.py | 11 ++ stick/ma6_sampleheatstick_cfg.py | 11 ++ stick/ma6stick_cfg.py | 34 +++++ stick/ma7_piezostick_cfg.py | 19 +++ stick/ma7stick_cfg.py | 18 +++ stick/mb11stick_cfg.py | 3 + stick/nostick_cfg.py | 11 ++ stick/ori1stick_cfg.py | 19 +++ stick/ori3stick_cfg.py | 19 +++ stick/ori4stick_cfg.py | 19 +++ stick/ori6stick_cfg.py | 19 +++ stick/ori7stick_cfg.py | 19 +++ stick/ovenstick_cfg.py | 31 ++++ stick/oventwo_cfg.py | 17 +++ stick/pgas5_cfg.py | 29 ++++ stick/sch5_cfg.py | 25 ++++ stick/sch_cfg.py | 26 ++++ stick/thermalcond_cfg.py | 46 ++++++ stick/varioxbstick_cfg.py | 32 ++++ stick/varioxstick_cfg.py | 19 +++ 126 files changed, 7445 insertions(+) create mode 100644 .gitignore create mode 100644 addons/ah2550sea_cfg.py create mode 100755 addons/ah2700_cfg.py create mode 100644 addons/ah2700sea_cfg.py create mode 100644 addons/be-filter-boa_cfg.py create mode 100644 addons/camea-be-filter_cfg.py create mode 100644 addons/flamesample_cfg.py create mode 100644 addons/focus-be-filter_cfg.py create mode 100644 addons/ls372_cfg.py create mode 100644 addons/razorbill_cfg.py create mode 100644 addons/sr830_cfg.py create mode 100644 addons/stickmotor_cfg.py create mode 100644 addons/vsource_cfg.py create mode 100644 boxes/PEUS_cfg.py create mode 100644 boxes/RUS_cfg.py create mode 100644 boxes/dilsc_cfg.py create mode 100644 boxes/drums_cfg.py create mode 100644 boxes/fi_cfg.py create mode 100644 boxes/flowsas_cfg.py create mode 100644 boxes/fs_cfg.py create mode 100644 boxes/phoenix_cfg.py create mode 100644 boxes/ppms_cfg.py create mode 100644 boxes/ppmssim_cfg.py create mode 100644 boxes/ppmswin_cfg.py create mode 100644 boxes/razorbillUC220T_cfg.py create mode 100644 boxes/senis3mh3_cfg.py create mode 100644 boxes/senis3mh6_cfg.py create mode 100644 boxes/uniax_cfg.py create mode 100644 boxes/vf_cfg.py create mode 100644 main/ccr2_cfg.py create mode 100644 main/ccr2ht_cfg.py create mode 100644 main/ccr3_cfg.py create mode 100644 main/ccrpe_cfg.py create mode 100644 main/ccrpe_lowT_cfg.py create mode 100644 main/collector_cfg.py create mode 100644 main/cryosim_cfg.py create mode 100644 main/cti5_cfg.py create mode 100644 main/cti7_cfg.py create mode 100644 main/cti7ht_cfg.py create mode 100644 main/eurotherm_cfg.py create mode 100644 main/fftf_cfg.py create mode 100644 main/flamemag_cfg.py create mode 100644 main/flamp_cfg.py create mode 100644 main/fs_cfg.py create mode 100644 main/ft_cfg.py create mode 100644 main/fw_cfg.py create mode 100644 main/haake_cfg.py create mode 100644 main/haakeuro_cfg.py create mode 100644 main/ill1_cfg.py create mode 100644 main/ill2_cfg.py create mode 100644 main/ill3_cfg.py create mode 100644 main/ill4_cfg.py create mode 100644 main/ill5_cfg.py create mode 100644 main/ill5pgas5_cfg.py create mode 100644 main/jtccr_cfg.py create mode 100644 main/ma02_cfg.py create mode 100644 main/ma10_cfg.py create mode 100644 main/ma10heat_cfg.py create mode 100644 main/ma10high_t_cfg.py create mode 100644 main/ma11_cfg.py create mode 100644 main/ma15_cfg.py create mode 100644 main/ma6_cfg.py create mode 100644 main/ma6_sampleheat_cfg.py create mode 100644 main/ma7_cfg.py create mode 100644 main/ma7_piezo_cfg.py create mode 100644 main/ma7_sampleheat_cfg.py create mode 100644 main/ma7_thermalc_cfg.py create mode 100644 main/ma7two_cfg.py create mode 100644 main/magsim_cfg.py create mode 100644 main/mb11_cfg.py create mode 100644 main/mb11std_cfg.py create mode 100644 main/ori2_cfg.py create mode 100644 main/ori3_cfg.py create mode 100644 main/ori4_cfg.py create mode 100644 main/ori6_cfg.py create mode 100644 main/ori7_cfg.py create mode 100644 main/ori7test_cfg.py create mode 100644 main/peltier_cfg.py create mode 100644 main/rt_cfg.py create mode 100644 main/smamor_cfg.py create mode 100644 main/variox_cfg.py create mode 100644 main/varioxb_cfg.py create mode 100644 racklist.py create mode 100644 racktools.py create mode 100644 stick/PEstick_cfg.py create mode 100644 stick/dil2_cfg.py create mode 100644 stick/dil3_cfg.py create mode 100644 stick/dil4_cfg.py create mode 100644 stick/dil5_cfg.py create mode 100644 stick/flamedil_cfg.py create mode 100644 stick/forwarder_test_cfg.py create mode 100644 stick/gas10ka_cfg.py create mode 100644 stick/heliox_cfg.py create mode 100644 stick/hvolt_long_cfg.py create mode 100644 stick/hvolt_short_cfg.py create mode 100644 stick/ill1stick_cfg.py create mode 100644 stick/ill2stick_cfg.py create mode 100644 stick/ill3stick_cfg.py create mode 100644 stick/ill4stick_cfg.py create mode 100644 stick/ill5p_cfg.py create mode 100644 stick/ill5stick_cfg.py create mode 100644 stick/ma02stick_cfg.py create mode 100644 stick/ma10stick_cfg.py create mode 100644 stick/ma11stick_cfg.py create mode 100644 stick/ma15stick_cfg.py create mode 100644 stick/ma6_sampleheat_cfg.py create mode 100644 stick/ma6_sampleheatstick_cfg.py create mode 100644 stick/ma6stick_cfg.py create mode 100644 stick/ma7_piezostick_cfg.py create mode 100644 stick/ma7stick_cfg.py create mode 100644 stick/mb11stick_cfg.py create mode 100644 stick/nostick_cfg.py create mode 100644 stick/ori1stick_cfg.py create mode 100644 stick/ori3stick_cfg.py create mode 100644 stick/ori4stick_cfg.py create mode 100644 stick/ori6stick_cfg.py create mode 100644 stick/ori7stick_cfg.py create mode 100644 stick/ovenstick_cfg.py create mode 100644 stick/oventwo_cfg.py create mode 100644 stick/pgas5_cfg.py create mode 100644 stick/sch5_cfg.py create mode 100644 stick/sch_cfg.py create mode 100644 stick/thermalcond_cfg.py create mode 100644 stick/varioxbstick_cfg.py create mode 100644 stick/varioxstick_cfg.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..03bf57c --- /dev/null +++ b/.gitignore @@ -0,0 +1,13 @@ +*.pyc + +# ide +.idea + +# Mac +.DS_Store + +# jupyter +.ipynb_checkpoints/ +*.ipynb + +local diff --git a/README.md b/README.md index e69de29..c5c0999 100644 --- a/README.md +++ b/README.md @@ -0,0 +1 @@ +separate repo for cfg files for frappy at SINQ diff --git a/addons/ah2550sea_cfg.py b/addons/ah2550sea_cfg.py new file mode 100644 index 0000000..c26a3ca --- /dev/null +++ b/addons/ah2550sea_cfg.py @@ -0,0 +1,37 @@ +Node('ah2550.addon.sea.psi.ch', + 'Andeen Hagerlin 2550 Capacitance Bridge using SEA', +) + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'SEA connection to mbe_ah2550', + config='ah2550.addon', + export=False, + service='addons', +) + +Mod('ah', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='cap', + extra_modules = ['cap', 'loss'] +) + +Mod('cap', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='ah.cap', + value=Param(fmtstr='%.12g'), +) + +Mod('loss', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='ah.loss', +) + +Mod('capslope', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='capslope', +) diff --git a/addons/ah2700_cfg.py b/addons/ah2700_cfg.py new file mode 100755 index 0000000..7f13473 --- /dev/null +++ b/addons/ah2700_cfg.py @@ -0,0 +1,22 @@ +Node('ah2700.frappy.psi.ch', + 'Andeen Hagerlin 2700 Capacitance Bridge', +) + +Mod('cap_io', + 'frappy_psi.ah2700.Ah2700IO', + '', + uri='linse-976d-ts:3006', +) + +Mod('cap', + 'frappy_psi.ah2700.Capacitance', + 'capacitance', + io = 'cap_io', +) + +Mod('loss', + 'frappy_psi.parmod.Par', + 'loss parameter', + read='cap.loss', + unit='deg', +) diff --git a/addons/ah2700sea_cfg.py b/addons/ah2700sea_cfg.py new file mode 100644 index 0000000..741f7ed --- /dev/null +++ b/addons/ah2700sea_cfg.py @@ -0,0 +1,39 @@ +Node('ah2700.addon.sea.psi.ch', + 'Andeen Hagerlin 2700 Capacitance Bridge using SEA', +) + +sea_cfg='ah2700.addon' + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'SEA connection to mbe_ah2700', + config='ah2700.addon', + export=False, + service='addons', +) + +Mod('ah', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='cap', + extra_modules = ['cap', 'loss'] +) + +Mod('cap', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='ah.cap', + value=Param(fmtstr='%.12g'), +) + +Mod('loss', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='ah.loss', +) + +Mod('capslope', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='capslope', +) diff --git a/addons/be-filter-boa_cfg.py b/addons/be-filter-boa_cfg.py new file mode 100644 index 0000000..9447f34 --- /dev/null +++ b/addons/be-filter-boa_cfg.py @@ -0,0 +1,16 @@ +Node('be-filter-boa.addon.sea.psi.ch', + 'CryoTel be-filter BOA', +) + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'addons sea connection for be-filter-boa.addon', + config='be-filter-boa.addon', + service='addons', +) + +Mod('befilter', + 'frappy_psi.sea.SeaReadable', '', + sea_object='befilter', + io='sea_addons', +) diff --git a/addons/camea-be-filter_cfg.py b/addons/camea-be-filter_cfg.py new file mode 100644 index 0000000..5f55521 --- /dev/null +++ b/addons/camea-be-filter_cfg.py @@ -0,0 +1,49 @@ +Node('cfg/sea/camea-be-filter.cfg', + 'Camea Be-Filter', +) + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'addons sea connection for camea-be-filter.addon', + config='camea-be-filter.addon', + service='addons', +) + +Mod('t_be_filter', + 'frappy_psi.sea.SeaReadable', + 'Be filter T', + io='sea_addons', + sea_object='t_be_filter', + extra_modules=['a', 'b', 'c', 'd', 'det'], +) + +Mod('t_be_fil_top_m', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='t_be_filter.a', +) + +Mod('t_be_fil_top_r', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='t_be_filter.b', +) + +Mod('t_be_fil_bot_l', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='t_be_filter.c', +) + +Mod('t_be_fil_bot_r', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='t_be_filter.d', +) + +Mod('t_detector', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + single_module='t_be_filter.det', +) + diff --git a/addons/flamesample_cfg.py b/addons/flamesample_cfg.py new file mode 100644 index 0000000..9665b80 --- /dev/null +++ b/addons/flamesample_cfg.py @@ -0,0 +1,56 @@ +Node('flamesample.psi.ch', + 'flame sample thermometers and heater', + interface = 'tcp://5000', +) + +Mod('lscio', + 'frappy_psi.ls372.StringIO', + 'sample channels LS372 io', + uri = 'flamedil-ls.psi.ch:7777', +) + +Mod('lsc_channel', + 'frappy_psi.ls372.Switcher', + 'channel switcher sample ls372', + io='lscio', + value = 3, +) + +Mod('ts_low', + 'frappy_psi.ls372.TemperatureLoop', + 'sample RuOX', + channel = 3, + switcher = 'lsc_channel', + minrange=13, + range=22, + tolerance = 0.1, + vexc = 3, + htrrng=4, +) + +Mod('ts_high', + 'frappy_psi.ls372.TemperatureLoop', + 'sample Cernox', + channel = 1, + switcher = 'lsc_channel', + minrange=11, + vexc = 5, + range=22, + tolerance = 0.1, + htrrng=5, + minheater=5e-4, +) + +Mod('ts', + 'frappy_psi.parmod.SwitchDriv', + 'automatically switching between ts_low and ts_high', + meaning=['temperature', 40], + value=Param(unit='K'), + low='ts_low', + high='ts_high', + #min_high=0.6035, + #max_low=1.6965, + min_high=0.6, + max_low=1.7, + tolerance=0.1, +) diff --git a/addons/focus-be-filter_cfg.py b/addons/focus-be-filter_cfg.py new file mode 100644 index 0000000..dcb6d52 --- /dev/null +++ b/addons/focus-be-filter_cfg.py @@ -0,0 +1,16 @@ +Node('focus-be-filter.addon.sea.psi.ch', + 'FOCUS Beryllium filter with cryotel closed cycle', +) + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'SEA connection to addons', + config='focus-be-filter.addon', + service='addons', +) + +Mod('befilter', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='cryo', +) diff --git a/addons/ls372_cfg.py b/addons/ls372_cfg.py new file mode 100644 index 0000000..d274e39 --- /dev/null +++ b/addons/ls372_cfg.py @@ -0,0 +1,26 @@ +Mod('lsc', + 'frappy.io.StringIO', + '', + wait_before=0.05, + uri='flamedil-ls:7777', +) + +Mod('r1', + 'frappy_psi.ls372.ResChannel', + 'resistivity from LS 372', + switcher='channel', + channel=1, +) + +Mod('r3', + 'frappy_psi.ls372.ResChannel', + 'resistivity from LS 372', + switcher='channel', + channel=3, +) + +Mod('channel', + 'frappy_psi.ls372.Switcher', + 'LS 372 channel switcher', + io='lsc', +) diff --git a/addons/razorbill_cfg.py b/addons/razorbill_cfg.py new file mode 100644 index 0000000..229c301 --- /dev/null +++ b/addons/razorbill_cfg.py @@ -0,0 +1,34 @@ +Node('cfg/addons/razorbill.cfg', + 'razorbill forwarder', +) + +Mod('sea_addons', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='razorbill.addon', + service='addons', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + io='sea_addons', + sea_object='tt', + json_file='ori6.config.json', + rel_paths=['ts'], +) + + +Mod('T_remote', + 'frappy.proxy.Proxy', + 'dummy (remote) T', + remote_class = 'frappy_psi.dummy.Temp', + uri='razorbill:3000', + module='T', + # export=False, +) + +Mod('forwarder', + 'frappy_psi.dummy.Forwarder', + 'forwarder', + src='ts', + dst='T_remote') diff --git a/addons/sr830_cfg.py b/addons/sr830_cfg.py new file mode 100644 index 0000000..ab146ec --- /dev/null +++ b/addons/sr830_cfg.py @@ -0,0 +1,28 @@ +Node('srs830.ppms.psi.ch', + '', + interface='tcp://5000', + ) +Mod('b', + 'frappy_psi.SR830.XY', + 'signal from Stanford Rasearch lockin', + uri='linse-976d-ts:3002', +) +Mod('bx', + 'frappy_psi.parmod.Comp', + 'x-comp', + read='b.value[0]', + unit='V', +) +Mod('by', + 'frappy_psi.parmod.Comp', + 'y-comp', + read='b.value[1]', + unit='V', +) +Mod('bf', + 'frappy_psi.parmod.Par', + 'lockin frequency', + read='b.freq', + unit='Hz', +) + diff --git a/addons/stickmotor_cfg.py b/addons/stickmotor_cfg.py new file mode 100644 index 0000000..9586a8d --- /dev/null +++ b/addons/stickmotor_cfg.py @@ -0,0 +1,17 @@ +Node('stickmotor.linse.psi.ch', + 'mobile rotation stage (from MA02)', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ldmcc08-ts:3006', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', + backlash=-1, +) diff --git a/addons/vsource_cfg.py b/addons/vsource_cfg.py new file mode 100644 index 0000000..28631ac --- /dev/null +++ b/addons/vsource_cfg.py @@ -0,0 +1,44 @@ +Node('k2601b.psi.ch', + 'source meter keithley 2601b', + interface='tcp://5000', +) + + +Mod('vsource_io', + 'frappy_psi.k2601b.K2601bIO', + 'source meter', +# uri = '129.129.156.90:5025', + uri = "sans-sample-ts:3011" +) + + +Mod('source', + 'frappy_psi.k2601b.SourceMeter' + '', + description = "keithley sourcemeter", + mode = 1, + vlimit = 6.0, + ilimit = 2., + io = 'vsource_io', +) + +Mod('volt', + 'frappy_psi.k2601b.Voltage' + '', + description = "Voltage Source", + active = True, + limit = 5.0, + target = 0.0, + sourcemeter = 'source', + io = 'vsource_io', +) +Mod('cur', + 'frappy_psi.k2601b.Current' + '', + description = "Current Source", + active = False, + limit = 0.10, + target = 0.0, + sourcemeter = 'source', + io = 'vsource_io', +) diff --git a/boxes/PEUS_cfg.py b/boxes/PEUS_cfg.py new file mode 100644 index 0000000..096f436 --- /dev/null +++ b/boxes/PEUS_cfg.py @@ -0,0 +1,87 @@ +Node('PEUS.psi.ch', + 'ultrasound, pulse_echo configuration', + interface='5000', +) + +Mod('u', + 'frappy_psi.ultrasound.PulseEcho', + 'ultrasound acquisition loop', + freq='f', + # pollinterval=0.1, + time=900.0, + size=5000.0, + nr=500, + sr=32768, + bw=1e7, +) + +Mod('fio', + 'frappy_psi.ultrasound.FreqStringIO', '', + uri='serial:///dev/ttyS1?baudrate=57600', +) + +Mod('f', + 'frappy_psi.ultrasound.Frequency', + 'writable for frequency', + output='R', # L for LF (bnc), R for RF (type N) + io='fio', + amp=0.5, # VPP +) + +Mod('fdif', + 'frappy_psi.ultrasound.FrequencyDif', + 'writable for frequency minus base frequency', + freq='f', + base=41490200.0, +) + +# Mod('curves', +# 'frappy_psi.ultrasound.Curves', +# 't, I, Q and pulse arrays for plot', +# ) + +def roi(name, time, size, components='iqpa', enable=True, control=False, freq=None, **kwds): + description = 'I/Q of region {name}' + if freq: + kwds.update(cls='frappy_psi.ultrasound.ControlRoi', + description=f'{description} as control loop', + freq=freq, **kwds) + else: + kwds.update(cls='frappy_psi.ultrasound.Roi', + description=description, **kwds) + kwds.update({c: name + c for c in components}) + Mod(name, + main='u', + time=time, + size=size, + enable=enable, + **kwds, + ) + for c in components: + Mod(name + c, + 'frappy.modules.Readable', + f'{name}{c} component', + ) + +# control loop +roi('roi0', 2450, 300, freq='f', maxstep=100000, minstep=4000) +# other rois +roi('roi1', 5950, 300) +roi('roi2', 9475, 300) +roi('roi3', 12900, 300) +#roi('roi4', 400, 30, False) +#roi('roi5', 400, 30, False) +#roi('roi6', 400, 30, False) +#roi('roi7', 400, 30, False) +#roi('roi8', 400, 30, False) +#roi('roi9', 400, 30, False) + +Mod('delay', + 'frappy_psi.dg645.Delay', + 'delay line with 2 channels', + uri='serial:///dev/ttyS2', + on1=1e-09, + on2=1e-09, + off1=4e-07, + off2=6e-07, +) diff --git a/boxes/RUS_cfg.py b/boxes/RUS_cfg.py new file mode 100644 index 0000000..db506b1 --- /dev/null +++ b/boxes/RUS_cfg.py @@ -0,0 +1,39 @@ +Node(equipment_id = 'r_ultrasound.psi.ch', + description = 'resonant ultra sound setup', + interface = 'tcp://5000', +) + +Mod('iq', + cls = 'frappy_psi.ultrasound.RUS', + description = 'ultrasound iq mesurement', + imod = 'i', + qmod = 'q', + freq='f', + input_range=10, # VPP + input_delay = 0, + periods = 163, + ) + +Mod('freqio', + 'frappy_psi.ultrasound.FreqStringIO', + ' ', + uri = 'serial:///dev/ttyS1?baudrate=57600', +) + +Mod('f', + cls = 'frappy_psi.ultrasound.Frequency', + description = 'ultrasound frequency', + io='freqio', + output='L', # L for LF (bnc), R for RF (type N) + target=10000, +) + +Mod('i', + cls='frappy.modules.Readable', + description='I component', +) + +Mod('q', + cls='frappy.modules.Readable', + description='Q component', +) diff --git a/boxes/dilsc_cfg.py b/boxes/dilsc_cfg.py new file mode 100644 index 0000000..6e34bc2 --- /dev/null +++ b/boxes/dilsc_cfg.py @@ -0,0 +1,231 @@ +Node('cfg/dilsc1.cfg', + 'triton test', + interface='5000', + name='dilsc1', +) + +Mod('triton', + 'frappy_psi.mercury.IO', + 'connection to triton software', + uri='tcp://192.168.2.33:33576', +) + +Mod('T_mix', + 'frappy_psi.triton.TemperatureSensor', + 'mix. chamber temperature', + slot='T8', + io='triton', +) + +Mod('T_pt2head', + 'frappy_psi.triton.TemperatureSensor', + 'PTR2 head temperature', + slot='T1', + io='triton', +) + +Mod('T_pt2plate', + 'frappy_psi.triton.TemperatureSensor', + 'PTR2 plate temperature', + slot='T2', + io='triton', +) + +Mod('T_still', + 'frappy_psi.triton.TemperatureSensor', + 'still temperature', + slot='T3', + io='triton', +) + +Mod('htr_still', + 'frappy_psi.triton.HeaterOutput', + 'still heater', + slot='H2', + io='triton', +) + +Mod('T_coldpl', + 'frappy_psi.triton.TemperatureSensor', + 'cold plate temperature', + slot='T4', + io='triton', +) + +Mod('T_mixcx', + 'frappy_psi.triton.TemperatureSensor', + 'mix. chamber cernox', + slot='T5', + io='triton', +) + +Mod('T_pt1head', + 'frappy_psi.triton.TemperatureSensor', + 'PTR1 head temperature', + slot='T6', + io='triton', +) + +Mod('T_pt1plate', + 'frappy_psi.triton.TemperatureSensor', + 'PTR1 plate temperature', + slot='T7', + io='triton', +) + +Mod('T_pucksensor', + 'frappy_psi.triton.TemperatureLoop', + 'puck sensor temperature', + output_module='htr_pucksensor', + slot='TA', + io='triton', +) + +Mod('htr_pucksensor', + 'frappy_psi.triton.HeaterOutputWithRange', + 'mix. chamber heater', + slot='H1,TA', + io='triton', +) + +Mod('T_magnet', + 'frappy_psi.triton.TemperatureSensor', + 'magnet temperature', + slot='T13', + io='triton', +) + +Mod('action', + 'frappy_psi.triton.Action', + 'higher level scripts', + io='triton', + slot='DR', +) + +Mod('p_dump', + 'frappy_psi.mercury.PressureSensor', + 'dump pressure', + slot='P1', + io='triton', +) + +Mod('p_cond', + 'frappy_psi.mercury.PressureSensor', + 'condenser pressure', + slot='P2', + io='triton', +) + +Mod('p_still', + 'frappy_psi.mercury.PressureSensor', + 'still pressure', + slot='P3', + io='triton', +) + +Mod('p_fore', + 'frappy_psi.mercury.PressureSensor', + 'pressure on the pump side', + slot='P5', + io='triton', +) + +Mod('p_back', + 'frappy_psi.mercury.PressureSensor', + 'pressure on the back side of the pump', + slot='P4', + io='triton', +) + +Mod('p_ovc', + 'frappy_psi.mercury.PressureSensor', + 'outer vacuum pressure', + slot='P6', + io='triton', +) + +Mod('V1', + 'frappy_psi.triton.Valve', + 'valve V1', + slot='V1', + io='triton', +) + +Mod('V2', + 'frappy_psi.triton.Valve', + 'valve V2', + slot='V2', + io='triton', +) + +Mod('V4', + 'frappy_psi.triton.Valve', + 'valve V4', + slot='V4', + io='triton', +) + +Mod('V5', + 'frappy_psi.triton.Valve', + 'valve V5', + slot='V5', + io='triton', +) + +Mod('V9', + 'frappy_psi.triton.Valve', + 'valve V9', + slot='V9', + io='triton', +) + +Mod('ips', + 'frappy_psi.mercury.IO', + 'IPS for magnet', + uri='192.168.127.254:3001', +) + +Mod('mf', + 'frappy_psi.dilsc.VectorField', + 'vector field', + x='mfx', + y='mfy', + z='mfz', + sphere_radius=0.6, + cylinders=((0.23, 5.2), (0.45, 0.8)), +) + +Mod('mfx', + 'frappy_psi.ips_mercury.SimpleField', + 'magnetic field, x-axis', + slot='GRPX', + io='ips', + tolerance=0.0001, + wait_stable_field=0.0, + nunits=2, + target=Param(max=0.6), + ramp=0.225, +) + +Mod('mfy', + 'frappy_psi.ips_mercury.SimpleField', + 'magnetic field, y axis', + slot='GRPY', + io='ips', + tolerance=0.0001, + wait_stable_field=0.0, + nunits=2, + target=Param(max=0.6), + ramp=0.225, +) + +Mod('mfz', + 'frappy_psi.ips_mercury.Field', + 'magnetic field, z-axis', + slot='GRPZ', + io='ips', + tolerance=0.0001, + target=Param(max=5.2), + mode='DRIVEN', + ramp=0.52, +) diff --git a/boxes/drums_cfg.py b/boxes/drums_cfg.py new file mode 100644 index 0000000..e05f4ac --- /dev/null +++ b/boxes/drums_cfg.py @@ -0,0 +1,27 @@ +Node('relais.psi.ch', + 'relais test', + 'tcp://5000', +) + +Mod('rl', + 'frappy_psi.ionopimax.DigitalOutput', + 'left relais', + addr = 'o1', + value = 0, # start with relais off + ) + +Mod('rr', + 'frappy_psi.ionopimax.DigitalOutput', + 'right relais', + addr = 'o2', + value = 0, # start with relais off + ) + +Mod('drummer', + 'frappy_psi.drums.Drums', + 'drummer', + target = 150, + pattern='l2L2rl1R1L2', + left='rl', + right='rr', +) diff --git a/boxes/fi_cfg.py b/boxes/fi_cfg.py new file mode 100644 index 0000000..51b858f --- /dev/null +++ b/boxes/fi_cfg.py @@ -0,0 +1,117 @@ +Node('fi.psi.ch', + 'ILL furnace', + 'tcp://5000', + ) + +Mod('T_main', + 'frappy_psi.furnace.PRtransmitter', + 'sample temperature', + addr='ai2', + valuerange=(0, 2300), + value=Param(unit='degC'), + ) + +Mod('T_extra', + 'frappy_psi.furnace.PRtransmitter', + 'extra temperature', + addr='ai1', + valuerange=(0, 2300), + value=Param(unit='degC'), + ) + +Mod('T_wall', + 'frappy_psi.ionopimax.VoltageInput', + 'furnace wall temperature', + addr='av2', + rawrange=(0, 1.5), + valuerange=(0, 150), + value=Param(unit='degC'), + ) + +Mod('T3', + 'frappy_psi.furnace.PRtransmitter', + 'extra temperature', + addr='ai3', + valuerange=(0, 1372), + value=Param(unit='degC'), + ) + +Mod('T4', + 'frappy_psi.furnace.PRtransmitter', + 'extra temperature', + addr='ai4', + valuerange=(0, 1372), + value=Param(unit='degC'), + ) + +Mod('T', + 'frappy_psi.picontrol.PI', + 'controlled Temperature', + input_module='T_main', + output_module='htr', + value = Param(unit='degC'), + output_min = 0, + output_max = 100, + # relais='relais', + p=0.1, + i=0.01, + ) + +Mod('htr_io', + 'frappy_psi.tdkpower.IO', + 'powersupply communicator', + uri='serial:///dev/ttyUSB0?baudrate=9600', + ) + +Mod('htr_power', + 'frappy_psi.tdkpower.Power', + 'heater power', + io='htr_io', + ) + +Mod('htr', + 'frappy_psi.furnace.TdkOutput', + 'heater output', + io='htr_io', + maxvolt=8, + maxcurrent=200, + ) + +Mod('flowswitch', + 'frappy_psi.ionopimax.DigitalInput', + 'flow switch', + addr='dt2', + true_level='low', + ) + +Mod('interlocks', + 'frappy_psi.furnace.Interlocks', + 'interlock parameters', + main_T='T_main', + extra_T='T_extra', + wall_T='T_wall', + vacuum='p', + control='T', + htr='htr', + flowswitch='flowswitch', + wall_limit=50, + main_T_limit = 1400, + extra_T_limit = 1400, + vacuum_limit=0.01, + ) + +Mod('p', + 'frappy_psi.furnace.PKRgauge', + 'pressure reading', + addr = 'av1', + rawrange = (1.82, 8.6), + valuerange = (5e-9, 1000), + value = Param(unit='mbar'), + ) + +Mod('vso', + 'frappy_psi.ionopimax.VoltagePower', + 'voltage power output', + target = 24, + export = False, + ) diff --git a/boxes/flowsas_cfg.py b/boxes/flowsas_cfg.py new file mode 100644 index 0000000..195e9c0 --- /dev/null +++ b/boxes/flowsas_cfg.py @@ -0,0 +1,52 @@ +Node('flowsas.psi.ch', + 'flowsas test motors', + 'tcp://5000', +) + +#Mod('mot_io', +# 'frappy_psi.phytron.PhytronIO', +# 'io for motor control', +# uri = 'serial:///dev/ttyUSB0', +# ) + +#Mod('hmot', +# 'frappy_psi.phytron.Motor', +# 'horizontal axis', +# axis = 'X', +# io = 'mot_io', +# encoder_mode= 'NO', +# ) + +#Mod('vmot', +# 'frappy_psi.phytron.Motor', +# 'vertical axis', +# axis = 'Y', +# io = 'mot_io', +# encoder_mode= 'NO', +# ) + +Mod('syr_io', + 'frappy_psi.cetoni_pump.LabCannBus', + 'Module for bus', + deviceconfig = "/home/l_samenv/frappy/cetoniSDK/CETONI_SDK_Raspi_64bit_v20220627/config/dual_pumps", + ) + +Mod('syr1', + 'frappy_psi.cetoni_pump.SyringePump', + 'First syringe pump', + io='syr_io', + pump_name = "Nemesys_S_1_Pump", + valve_name = "Nemesys_S_1_Valve", + inner_diameter_set = 10, + piston_stroke_set = 60, + ) + +Mod('syr2', + 'frappy_psi.cetoni_pump.SyringePump', + 'Second syringe pump', + io='syr_io', + pump_name = "Nemesys_S_2_Pump", + valve_name = "Nemesys_S_2_Valve", + inner_diameter_set = 1, + piston_stroke_set = 60, + ) diff --git a/boxes/fs_cfg.py b/boxes/fs_cfg.py new file mode 100644 index 0000000..b0f8fea --- /dev/null +++ b/boxes/fs_cfg.py @@ -0,0 +1,130 @@ +Node('fs.psi.ch', + 'small vacuum furnace', + 'tcp://5000', +) + +Mod('T', + 'frappy_psi.picontrol.PI2', + 'controlled Temperature on sample (2nd loop)', + input = 'T_sample', + output = 'T_reg', + relais = 'relais', + p = 1.2, + i = 0.005, + ) + +Mod('T_reg', + 'frappy_psi.picontrol.PI', + 'controlled Temperature on heater', + input = 'T_htr', + output = 't_out', + relais = 'relais', + p = 1, + i = 0.003, + ) + +Mod('p_reg', + 'frappy_psi.picontrol.PI', + 'controlled pressure', + input = 'p', + output = 'p_out', + relais = 'relais', + p = 1, + i = 0.005, + ) + +Mod('T_htr', + 'frappy_psi.ionopimax.CurrentInput', + 'heater temperature', + addr = 'ai4', + valuerange = (0, 1372), + value = Param(unit='degC'), + + ) + + +Mod('T_sample', + 'frappy_psi.ionopimax.CurrentInput', + 'sample temperature', + addr = 'ai3', + valuerange = (0, 1372), + value = Param(unit='degC'), + + ) + +Mod('T_extra', + 'frappy_psi.ionopimax.CurrentInput', + 'extra temperature', + addr = 'ai2', + valuerange = (0, 1372), + value = Param(unit='degC'), + + ) + + +Mod('T_wall', + 'frappy_psi.ionopimax.VoltageInput', + 'furnace wall temperature', + addr = 'av2', + rawrange = (0, 1.5), + valuerange = (0, 150), + value = Param(unit='degC'), + ) + +Mod('htr_io', + 'frappy_psi.bkpower.IO', + 'powersupply communicator', + uri = 'serial:///dev/ttyUSBupper', + ) + +Mod('htr', + 'frappy_psi.bkpower.Power', + 'heater power', + io= 'htr_io', + ) + +Mod('t_out', + 'frappy_psi.bkpower.Output', + 'heater output', + p_value = 'p_out', + io = 'htr_io', + maxvolt = 50, + maxcurrent = 2, + ) + +Mod('relais', + 'frappy_psi.ionopimax.DigitalOutput', + 'relais for power output', + addr = 'o2', + ) + +Mod('interlocks', + 'frappy_psi.furnace.Interlocks', + 'interlock parameters', + input = 'T_htr', + wall_T = 'T_wall', + htr_T = 'T_htr', + main_T = 'T_sample', + extra_T = 'T_extra', + vacuum = 'p', + relais = 'relais', + control = 'T', + wall_limit = 100, + vacuum_limit = 0.1, + ) + +Mod('p', + 'frappy_psi.ionopimax.LogVoltageInput', + 'pressure reading', + addr = 'av1', + rawrange = (1.82, 8.6), + valuerange = (5e-9, 1000), + value = Param(unit='mbar'), + ) + +Mod('vso', + 'frappy_psi.ionopimax.VoltagePower', + 'voltage power output', + target = 24, + export = False, + ) diff --git a/boxes/phoenix_cfg.py b/boxes/phoenix_cfg.py new file mode 100644 index 0000000..96f6369 --- /dev/null +++ b/boxes/phoenix_cfg.py @@ -0,0 +1,16 @@ +Node('phoenixtest.psi.ch', + 'phoenix test', + 'tcp://5000', + ) + +Mod('io', + 'frappy_psi.haake.HaakeIO', + 'connection for Thermo Haake', + uri='tcp://ldmprep7-ts:3005', + ) + +Mod('T', + 'frappy_psi.haake.TemperatureLoop', + 'holder temperature', + io='io', + ) diff --git a/boxes/ppms_cfg.py b/boxes/ppms_cfg.py new file mode 100644 index 0000000..1ba8b76 --- /dev/null +++ b/boxes/ppms_cfg.py @@ -0,0 +1,93 @@ +Node('PPMS.psi.ch', + 'PPMS at PSI', + 'tcp://5000', +) + +Mod('tt', + 'frappy_psi.ppms.Temp', + 'main temperature', + io = 'ppms', +) + +Mod('mf', + 'frappy_psi.ppms.Field', + 'magnetic field', + target = Param(min=-9, max=9), + io = 'ppms', +) + +Mod('pos', + 'frappy_psi.ppms.Position', + 'sample rotator', + io = 'ppms', +) + +Mod('lev', + 'frappy_psi.ppms.Level', + 'helium level', + io = 'ppms', +) + +Mod('chamber', + 'frappy_psi.ppms.Chamber', + 'chamber state', + io = 'ppms', +) + +for i in range(1,5): + Mod('r%d' % i, + 'frappy_psi.ppms.BridgeChannel', + 'resistivity channel %d' % i, + no = i, + value = Param(unit = 'Ohm'), + io = 'ppms', + ) + +for i in range(1,5): + Mod('i%d' % i, + 'frappy_psi.ppms.Channel', + 'current channel %d' % i, + no = i, + value = Param(unit = 'uA'), + io = 'ppms', + ) + +Mod('v1', + 'frappy_psi.ppms.DriverChannel', + 'voltage channel 1', + no = 1, + value = Param(unit = 'V'), + io = 'ppms', +) + +Mod('v2', + 'frappy_psi.ppms.DriverChannel', + 'voltage channel 2', + no = 2, + value = Param(unit = 'V'), + io = 'ppms', +) + +Mod('tv', + 'frappy_psi.ppms.UserChannel', + 'VTI temperature', + enabled = 1, + value = Param(unit = 'K'), + io = 'ppms', +) + +Mod('ts', + 'frappy_psi.ppms.UserChannel', + 'sample temperature', + enabled = 1, + value = Param(unit = 'K'), + io = 'ppms', +) + +Mod('ppms', + 'frappy_psi.ppms.Main', + 'the main and poller module', + class_id = 'QD.MULTIVU.PPMS.1', + visibility = 3, + pollinterval = 2, +) diff --git a/boxes/ppmssim_cfg.py b/boxes/ppmssim_cfg.py new file mode 100644 index 0000000..e233ce9 --- /dev/null +++ b/boxes/ppmssim_cfg.py @@ -0,0 +1,166 @@ +Node('PPMS.psi.ch', + 'PPMS at PSI', + interface='tcp://5000', +) + +Mod('tt', + 'frappy_psi.ppms.Temp', + 'main temperature', + io='ppms', +) + +Mod('mf', + 'frappy_psi.ppms.Field', + 'magnetic field', + target=Param( + min=-9.0, + max=9.0, + ), + io='ppms', +) + +Mod('pos', + 'frappy_psi.ppms.Position', + 'sample rotator', + io='ppms', +) + +Mod('lev', + 'frappy_psi.ppms.Level', + 'helium level', + io='ppms', +) + +Mod('chamber', + 'frappy_psi.ppms.Chamber', + 'chamber state', + io='ppms', +) + +Mod('r1', + 'frappy_psi.ppms.BridgeChannel', + 'resistivity channel 1', + no=1, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r2', + 'frappy_psi.ppms.BridgeChannel', + 'resistivity channel 2', + no=2, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r3', + 'frappy_psi.ppms.BridgeChannel', + 'resistivity channel 3', + no=3, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r4', + 'frappy_psi.ppms.BridgeChannel', + 'resistivity channel 4', + no=4, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('i1', + 'frappy_psi.ppms.Channel', + 'current channel 1', + no=1, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i2', + 'frappy_psi.ppms.Channel', + 'current channel 2', + no=2, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i3', + 'frappy_psi.ppms.Channel', + 'current channel 3', + no=3, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i4', + 'frappy_psi.ppms.Channel', + 'current channel 4', + no=4, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('v1', + 'frappy_psi.ppms.DriverChannel', + 'voltage channel 1', + no=1, + value=Param( + unit='V', + ), + io='ppms', +) + +Mod('v2', + 'frappy_psi.ppms.DriverChannel', + 'voltage channel 2', + no=2, + value=Param( + unit='V', + ), + io='ppms', +) + +Mod('tv', + 'frappy_psi.ppms.UserChannel', + 'VTI temperature', + enabled=True, + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ts', + 'frappy_psi.ppms.UserChannel', + 'sample temperature', + enabled=True, + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ppms', + 'frappy_psi.ppms.Main', + 'the main and poller module', + class_id='QD.MULTIVU.PPMS.1', + visibility='expert', + pollinterval=2.0, +) diff --git a/boxes/ppmswin_cfg.py b/boxes/ppmswin_cfg.py new file mode 100644 index 0000000..ddc83ee --- /dev/null +++ b/boxes/ppmswin_cfg.py @@ -0,0 +1,199 @@ +# error creating module mf: +# Module mf needs a value for either 'uri' or 'io' +# error creating module pos: +# Module pos needs a value for either 'uri' or 'io' +# error creating module lev: +# Module lev needs a value for either 'uri' or 'io' +# error creating module chamber: +# Module chamber needs a value for either 'uri' or 'io' +# error creating module r1: +# Module r1 needs a value for either 'uri' or 'io' +# error creating module r2: +# Module r2 needs a value for either 'uri' or 'io' +# error creating module r3: +# Module r3 needs a value for either 'uri' or 'io' +# error creating module r4: +# Module r4 needs a value for either 'uri' or 'io' +# error creating module i1: +# Module i1 needs a value for either 'uri' or 'io' +# error creating module i2: +# Module i2 needs a value for either 'uri' or 'io' +# error creating module i3: +# Module i3 needs a value for either 'uri' or 'io' +# error creating module i4: +# Module i4 needs a value for either 'uri' or 'io' +# error creating module v1: +# Module v1 needs a value for either 'uri' or 'io' +# error creating module v2: +# Module v2 needs a value for either 'uri' or 'io' +# error creating module tv: +# Module tv needs a value for either 'uri' or 'io' +# error creating module ts: +# Module ts needs a value for either 'uri' or 'io' +Node('PPMS.psi.ch', + 'PPMS at PSI', + interface='tcp://5000', +) + +Mod('tt', + 'frappy_psi.ppms.Temp', + 'main temperature', + io='ppms', +) + +Mod('mf', + 'frappy_psi.ppms.Field', + target=Param( + min=-9, + max=9, + ), + description='magnetic field', + io='ppms', +) + +Mod('pos', + 'frappy_psi.ppms.Position', + description='sample rotator', + io='ppms', +) + +Mod('lev', + 'frappy_psi.ppms.Level', + description='helium level', + io='ppms', +) + +Mod('chamber', + 'frappy_psi.ppms.Chamber', + description='chamber state', + io='ppms', +) + +Mod('r1', + 'frappy_psi.ppms.BridgeChannel', + description='resistivity channel 1', + no=1, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r2', + 'frappy_psi.ppms.BridgeChannel', + description='resistivity channel 2', + no=2, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r3', + 'frappy_psi.ppms.BridgeChannel', + description='resistivity channel 3', + no=3, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('r4', + 'frappy_psi.ppms.BridgeChannel', + description='resistivity channel 4', + no=4, + value=Param( + unit='Ohm', + ), + io='ppms', +) + +Mod('i1', + 'frappy_psi.ppms.Channel', + description='current channel 1', + no=1, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i2', + 'frappy_psi.ppms.Channel', + description='current channel 2', + no=2, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i3', + 'frappy_psi.ppms.Channel', + description='current channel 3', + no=3, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('i4', + 'frappy_psi.ppms.Channel', + description='current channel 4', + no=4, + value=Param( + unit='uA', + ), + io='ppms', +) + +Mod('v1', + 'frappy_psi.ppms.DriverChannel', + description='voltage channel 1', + no=1, + value=Param( + unit='V', + ), + io='ppms', +) + +Mod('v2', + 'frappy_psi.ppms.DriverChannel', + description='voltage channel 2', + no=2, + value=Param( + unit='V', + ), + io='ppms', +) + +Mod('tv', + 'frappy_psi.ppms.UserChannel', + description='VTI temperature', + enabled=0, + linkenable='ts', + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ts', + 'frappy_psi.ppms.UserChannel', + description='sample temperature', + enabled=0, + linkenable='tv', + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ppms', + 'frappy_psi.ppms.Main', + description='the main and poller module', + class_id='QD.MULTIVU.PPMS.1', + pollinterval=2.0, +) diff --git a/boxes/razorbillUC220T_cfg.py b/boxes/razorbillUC220T_cfg.py new file mode 100644 index 0000000..e023c2b --- /dev/null +++ b/boxes/razorbillUC220T_cfg.py @@ -0,0 +1,84 @@ +# call $ bin/frappy-server razorbillUC220T +# in frappy directory, with python with frappy libraries installed. + +Node('UC220T.psi.ch', + 'A Razorbill UC220T controlled by a RP100 high voltage powersupply and a ACM1219 (AD7746) capacitance meter', + interface='tcp://5123') + +Mod('io1', + 'frappy_psi.RP100.RP100IO', + 'communication', + uri='serial:///dev/ttyACM0?baudrate=9600+bytesize=8+parity=none+stopbits=1') +Mod('V1', + 'frappy_psi.RP100.VoltageChannel', + 'Voltage Channel 1', + temp='T', + io='io1', + target=Param(min=-200, max=200), + max_target=120, + min_target=-20, + slew_rate=100, + channel=1) +Mod('V2', + 'frappy_psi.RP100.VoltageChannel', + 'Voltage Channel 2', + temp='T', + io='io1', + target=Param(min=-200, max=200), + max_target=120, + min_target=-20, + slew_rate=100, + channel=2) + +Mod('io2', + 'frappy_psi.ACM1219.ACM1219IO', + 'communication', + uri='serial:///dev/ttyUSB0?baudrate=9600+bytesize=8+parity=none+stopbits=1') +Mod('C1C2', + 'frappy_psi.ACM1219.BothChannels', + 'Capacitance channels 1 and 2', + io='io2') +Mod('d', + 'frappy_psi.ACM1219.Displacement', + 'razorbill displacement from capacitance', + cap='C1C2', + channel=1, + alpha290K=56.710, + d0=95.443, + Cp=0.01883, + d0_curve={'a':4.21,'b':-0.00157,'c':-3.38e-5,'d':5.28e-8,'e':-6.93e-11}, + temp='T') +Mod('F', + 'frappy_psi.ACM1219.Force', + 'razorbill force from capacitance', + cap='C1C2', + channel=2, + alpha290K=374.23, + f0=315.63, + Cp=0.0755, + f0_curve={'a':38.9,'b':-0.0147,'c':-0.000346,'d':8.96e-7,'e':-1.58e-9}, + temp='T') +Mod('stress', + 'frappy_psi.ACM1219.Stress', + 'Sample stress from force', + force='F', + area=0.1, + ) +Mod('strain', + 'frappy_psi.ACM1219.Strain', + 'Sample strain from force', + displacement='d', + L=3, + ) +Mod('YM', + 'frappy_psi.ACM1219.YoungsModulus', + 'Sample youngs modulus from stress and strain', + stress='stress', + strain='strain', + ) + +Mod('T', + 'frappy_psi.dummy.Temp', + 'dummy T written from client', + target=Param(min=1, max=325), + ) diff --git a/boxes/senis3mh3_cfg.py b/boxes/senis3mh3_cfg.py new file mode 100644 index 0000000..61bb864 --- /dev/null +++ b/boxes/senis3mh3_cfg.py @@ -0,0 +1,24 @@ +# error importing secop_psi.senis.Teslameter3MH3 +Mod('b', + 'frappy_psi.senis.Teslameter3MH3', + '3D hall sensor', + usb='/dev/tty.usbserial-AI02VAD9', + x='bx', + y='by', + z='bz', +) + +Mod('bx', + 'frappy_psi.senis.Bcomp', + 'x component', +) + +Mod('by', + 'frappy_psi.senis.Bcomp', + 'y component', +) + +Mod('bz', + 'frappy_psi.senis.Bcomp', + 'z component', +) diff --git a/boxes/senis3mh6_cfg.py b/boxes/senis3mh6_cfg.py new file mode 100644 index 0000000..d3d75b4 --- /dev/null +++ b/boxes/senis3mh6_cfg.py @@ -0,0 +1,67 @@ +# error importing secop_psi.senis.Teslameter3MH6 +Mod('b', + 'frappy_psi.senis.Teslameter3MH6', + '3D hall sensor', + usb='/dev/ttyUSB0', + nsample=100, + x='bx', + y='by', + z='bz', + probe_temp='ptemp', + box_temp='btemp', + x_direct='dbx', + y_direct='dby', + z_direct='dbz', + probe_temp_direct='dptemp', + box_temp_direct='dbtemp', +) + +Mod('bx', + 'frappy_psi.senis.Bcomp', + 'x component', +) + +Mod('by', + 'frappy_psi.senis.Bcomp', + 'y component', +) + +Mod('bz', + 'frappy_psi.senis.Bcomp', + 'z component', +) + +Mod('ptemp', + 'frappy_psi.senis.Temperature', + 'probe temperature', +) + +Mod('btemp', + 'frappy_psi.senis.Temperature', + 'box temperature', +) + +Mod('dbx', + 'frappy_psi.senis.Raw', + 'x component', +) + +Mod('dby', + 'frappy_psi.senis.Raw', + 'y component', +) + +Mod('dbz', + 'frappy_psi.senis.Raw', + 'z component', +) + +Mod('dptemp', + 'frappy_psi.senis.Raw', + 'probe temperature', +) + +Mod('dbtemp', + 'frappy_psi.senis.Temperature', + 'box temperature', +) diff --git a/boxes/uniax_cfg.py b/boxes/uniax_cfg.py new file mode 100644 index 0000000..fd7d849 --- /dev/null +++ b/boxes/uniax_cfg.py @@ -0,0 +1,59 @@ +Node('uniax.psi.ch', + 'uniax pressure stick with motor and transducer', + interface='tcp://5000', +) + +Mod('force', + 'frappy_psi.uniax.Uniax', + 'force control', + motor='drv', + transducer='transducer', + force_offset=15.0, +) + +Mod('drv', + 'frappy_psi.trinamic.Motor', + 'trinamic motor test', + uri='tcp://192.168.127.254:3002', + standby_current=0.1, + maxcurrent=0.3, + acceleration=150.0, + move_limit=5.0, + safe_current=0.3, + speed=40.0, + encoder_tolerance=3.6, + free_wheeling=0.1, + power_down_delay=0.1, +) + +Mod('transducer', + 'frappy_psi.dpm.DPM3', + 'DPM driver to read out the transducer value, write and read the offset and scale factor', + uri='tcp://192.168.127.254:3001', + digits=2, + scale_factor=0.0156, + offset=15.0, +) + +Mod('res_io', + 'frappy_psi.ls340res.LscIO', + 'io to lakeshore', + uri='tcp://192.168.127.254:3003', +) + +Mod('res', + 'frappy_psi.ls340res.ResChannel', + 'temperature on uniax stick', + io='res_io', + channel='A', +) + +Mod('T', + 'frappy_psi.softcal.Sensor', + 'sample T', + rawsensor='res', + calib='X132254', + value=Param( + unit='K', + ), +) diff --git a/boxes/vf_cfg.py b/boxes/vf_cfg.py new file mode 100644 index 0000000..13cdf18 --- /dev/null +++ b/boxes/vf_cfg.py @@ -0,0 +1,100 @@ +Node('vf.psi.ch', + 'small vacuum furnace', + 'tcp://5000', +) + +Mod('htr_io', + 'frappy_psi.bkpower.IO', + 'powersupply communicator', + uri = 'serial:///dev/ttyUSBupper', + ) + +Mod('htr', + 'frappy_psi.bkpower.Power', + 'heater power', + io= 'htr_io', + ) + +Mod('out', + 'frappy_psi.bkpower.Output', + 'heater output', + io = 'htr_io', + maxvolt = 50, + maxcurrent = 2, + ) + + +Mod('relais', + 'frappy_psi.ionopimax.DigitalOutput', + 'relais for power output', + addr = 'o2', + ) + +Mod('T_main', + 'frappy_psi.ionopimax.CurrentInput', + 'sample temperature', + addr = 'ai4', + valuerange = (0, 1372), + value = Param(unit='degC'), + + ) + + +Mod('T_extra', + 'frappy_psi.ionopimax.CurrentInput', + 'extra temperature', + addr = 'ai3', + valuerange = (0, 1372), + value = Param(unit='degC'), + + ) + +Mod('T_htr', + 'frappy_psi.ionopimax.CurrentInput', + 'heater temperature', + addr = 'ai2', + valuerange = (0, 1372), + value = Param(unit='degC'), + ) + +Mod('T_wall', + 'frappy_psi.ionopimax.VoltageInput', + 'furnace wall temperature', + addr = 'av2', + rawrange = (0, 1.5), + valuerange = (0, 150), + value = Param(unit='degC'), + ) + +Mod('T', + 'frappy_psi.furnace.PI', + 'controlled Temperature', + input = 'T_htr', + output = 'out', + relais = 'relais', + p = 2, + i = 0.01, + ) + +Mod('interlocks', + 'frappy_psi.furnace.Interlocks', + 'interlock parameters', + input = 'T_htr', + wall_T = 'T_wall', + vacuum = 'p', + relais = 'relais', + control = 'T', + wall_limit = 50, + vacuum_limit = 0.1, + ) + +Mod('p', + 'frappy_psi.ionopimax.LogVoltageInput', + 'pressure reading', + addr = 'av1', + rawrange = (1.8, 8.6), + valuerange = (1e-7, 1000), + value = Param(unit='mbar'), + ) + + diff --git a/main/ccr2_cfg.py b/main/ccr2_cfg.py new file mode 100644 index 0000000..02520f3 --- /dev/null +++ b/main/ccr2_cfg.py @@ -0,0 +1,17 @@ +Node('ccr2.config.sea.psi.ch', + 'sumitomo 4 K closed cycle refrigerator (FOCUS)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'SEA connection to main', + config='ccr2.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 20], + io='sea_main', + sea_object='tt', +) diff --git a/main/ccr2ht_cfg.py b/main/ccr2ht_cfg.py new file mode 100644 index 0000000..1d97284 --- /dev/null +++ b/main/ccr2ht_cfg.py @@ -0,0 +1,24 @@ +Node('ccr2ht.config.sea.psi.ch', + 'sumitomo 4 K closed cycle refrigerator with hot stage (FOCUS)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main SEA connection', + config='ccr2ht.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', +) + +Mod('tcoldfinger', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tk'], +) diff --git a/main/ccr3_cfg.py b/main/ccr3_cfg.py new file mode 100644 index 0000000..85090ce --- /dev/null +++ b/main/ccr3_cfg.py @@ -0,0 +1,17 @@ +Node('ccr3.config.sea.psi.ch', + '4 K closed cycle cryostat (ZEBRA)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ccr3.config', + config='ccr3.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', +) diff --git a/main/ccrpe_cfg.py b/main/ccrpe_cfg.py new file mode 100644 index 0000000..277c48a --- /dev/null +++ b/main/ccrpe_cfg.py @@ -0,0 +1,40 @@ +Node('ccrpe.config.sea.psi.ch', + '''4 K closed cycle cryostat (PE cell)''', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ccrpe.config', + config = 'ccrpe.config', + service = 'main', +) +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', + rel_paths=['ts', 'set'], +) +Mod('tm', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['ts'], +) + +Mod('te', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['te'], +) + +Mod('warmup', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'warmup', +) +Mod('p', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'p', +) diff --git a/main/ccrpe_lowT_cfg.py b/main/ccrpe_lowT_cfg.py new file mode 100644 index 0000000..d57977e --- /dev/null +++ b/main/ccrpe_lowT_cfg.py @@ -0,0 +1,38 @@ +Node('cfg/main/ccrpe_lowT.cfg', + '4 K closed cycle cryostat (PE cell)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ccrpe_lowT.config', + config='ccrpe_lowT.config', + service='main', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', + rel_paths=['ts', 'set'], +) + +Mod('tm', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tm'], +) + +Mod('te', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['te'], +) + +Mod('warmup', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='warmup', +) diff --git a/main/collector_cfg.py b/main/collector_cfg.py new file mode 100644 index 0000000..8dc19b3 --- /dev/null +++ b/main/collector_cfg.py @@ -0,0 +1,14 @@ +Node('collectortest.config.frappy.demo', 'collector test', + 'tcp://5001', +) + +Mod('c', + 'frappy_demo.test.CollectorTest', + 'a collector test', +) + +Mod('temp', + 'frappy_demo.test.Temp', + 'random temperature', + sensor = 'x1234567', +) diff --git a/main/cryosim_cfg.py b/main/cryosim_cfg.py new file mode 100644 index 0000000..9b5f6c0 --- /dev/null +++ b/main/cryosim_cfg.py @@ -0,0 +1,49 @@ +Node('cyrosim.psi.ch', + 'cryo simulation (similar ppms simulation)', +) + +Mod('tt', + 'frappy_psi.ppms.Temp', + 'main temperature', + meaning=('temperature_regulation', 10), + ramp=20.0, + io='ppms', +) + +Mod('lev', + 'frappy_psi.ppms.Level', + 'helium level', + io='ppms', +) + +Mod('ts', + 'frappy_psi.ppms.UserChannel', + 'sample temperature', + enabled=True, + linkenable='tv', + value=Param( + unit='K', + ), + meaning=('temperature', 10), + io='ppms', +) + +Mod('tv', + 'frappy_psi.ppms.UserChannel', + 'exchanger temperature', + enabled=True, + linkenable='ts', + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ppms', + 'frappy_psi.ppms.Main', + 'the main and poller module', + class_id='QD.MULTIVU.PPMS.1', + visibility='expert', + pollinterval=2.0, + export=False, +) diff --git a/main/cti5_cfg.py b/main/cti5_cfg.py new file mode 100644 index 0000000..2e0c45d --- /dev/null +++ b/main/cti5_cfg.py @@ -0,0 +1,17 @@ +Node('cti5.config.sea.psi.ch', + '15 K closed cycle cryostat', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for cti5.config', + config='cti5.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', +) diff --git a/main/cti7_cfg.py b/main/cti7_cfg.py new file mode 100644 index 0000000..d5ee0ef --- /dev/null +++ b/main/cti7_cfg.py @@ -0,0 +1,17 @@ +Node('cti7.config.sea.psi.ch', + '30 K - 475 K closed cycle cryostat', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for cti7.config', + config='cti7.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', +) diff --git a/main/cti7ht_cfg.py b/main/cti7ht_cfg.py new file mode 100644 index 0000000..ad35de5 --- /dev/null +++ b/main/cti7ht_cfg.py @@ -0,0 +1,24 @@ +Node('cti7ht.config.sea.psi.ch', + '30 K - 475 K closed cycle cryostat with hot stagge', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for cti7ht.config', + config='cti7ht.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 20], + io='sea_main', + sea_object='tt', +) + +Mod('th', + 'frappy_psi.sea.SeaReadable', 'CTI cold finger temperature', + io='sea_main', + sea_object='tt', + rel_paths = ['te'], +) diff --git a/main/eurotherm_cfg.py b/main/eurotherm_cfg.py new file mode 100644 index 0000000..721e648 --- /dev/null +++ b/main/eurotherm_cfg.py @@ -0,0 +1,16 @@ +Node('eurotherm.config.sea.psi.ch', + 'Eurotherm controller', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for haakeuro.config', + config = 'eurotherm.config', + service = 'main', +) +Mod('te', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + meaning=['temperature', 20], + sea_object = 'te', + meaning=('temperature', 11), +) diff --git a/main/fftf_cfg.py b/main/fftf_cfg.py new file mode 100644 index 0000000..5969ed9 --- /dev/null +++ b/main/fftf_cfg.py @@ -0,0 +1,43 @@ +Node('fftf.config.sea.psi.ch', + 'thin film oven for AMOR', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for fftf.config', + config='fftf.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', +) + +Mod('p', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p', + extra_modules=['vacuumpump', 'gasflow', 'tlimit', 'tlimit_without_vacuum'], +) + +Mod('gasflow', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='p.gasflow', +) + +Mod('vacuumpump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='p', + rel_paths=['vacuumpump', 'tlimit', 'tlimit_without_vacuum'], +) + +Mod('table', + 'frappy_psi.sea.SeaModule', '', + io='sea_main', + sea_object='table', +) diff --git a/main/flamemag_cfg.py b/main/flamemag_cfg.py new file mode 100644 index 0000000..a42c2d1 --- /dev/null +++ b/main/flamemag_cfg.py @@ -0,0 +1,226 @@ +Node('flamemag.psi.ch', + 'flame magnet', + interface='tcp://5000', +) + +sea_cfg = 'flamemag.config' + +Mod('cio', + 'frappy_psi.cryoltd.IO', + 'IO to cryo ltd software', + uri='tcp://flamemag:3128', +) + +Mod('main', + 'frappy_psi.cryoltd.Main', + 'master module', + io='cio', +) + +Mod('B', + 'frappy_psi.cryoltd.MainField', + 'magnetic field', + channel='Main', + main='main', + constraint=80000.0, + target=Param( + max=35000.0, + ), + mode='PERSISTENT', + hw_units='T', + A_to_G=285.73, + ramp=Param( + max=412.0, + ), + overshoot={'o': 1.0, 't': 180.0}, + degauss={'s': 500.0, 'd': 30.0, 'f': 5.0, 't': 120.0}, + tolerance=5.0, + wait_switch_on = 30, + wait_switch_off = 30, + wait_stable_field=180.0, +) + +Mod('Bx', + 'frappy_psi.cryoltd.ComponentField', + 'magnetic field x component', + channel='VMX', + main='main', + check_against='B', + target=Param( + max=200.0, + ), + hw_units='A', + A_to_G=4.134, + ramp=Param( + max=23.0, + ), + tolerance=1.0, +) + +Mod('By', + 'frappy_psi.cryoltd.ComponentField', + 'magnetic field y component', + channel='VMY', + main='main', + check_against='B', + target=Param( + max=100.0, + ), + hw_units='A', + A_to_G=4.1117, + ramp=Param( + max=22.9, + ), + tolerance=1.0, +) + +Mod('Bz', + 'frappy_psi.cryoltd.ComponentField', + 'magnetic field z component', + channel='VMZ', + main='main', + check_against='B', + target=Param( + max=100.0, + ), + hw_units='A', + A_to_G=5.74, + ramp=Param( + max=33.6, + ), + tolerance=1.0, +) + +Mod('compressorA', + 'frappy_psi.cryoltd.Compressor', + 'compressor A', + channel='A', + main='main', +) + +Mod('compressorB', + 'frappy_psi.cryoltd.Compressor', + 'compressor B', + channel='B', + main='main', +) + +Mod('T_stage1_A', + 'frappy_psi.cryoltd.Temperature', '', + channel='1st Stage A', + main='main', +) + +Mod('T_stage2_A', + 'frappy_psi.cryoltd.Temperature', '', + channel='2nd Stage A', + main='main', +) + +Mod('T_stage1_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='1st Stage B', + main='main', +) + +Mod('T_stage2_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='2nd Stage B', + main='main', +) + +Mod('T_top_A', + 'frappy_psi.cryoltd.Temperature', '', + channel='Inner Magnet A (Top)', + main='main', +) + +Mod('T_bottom_A', + 'frappy_psi.cryoltd.Temperature', '', + channel='Inner Magnet A (Bottom)', + main='main', +) + +Mod('T_top_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='Inner Magnet B (Top)', + main='main', +) + +Mod('T_bottom_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='Inner Magnet B (Bottom)', + main='main', +) + +Mod('T_Z_shim', + 'frappy_psi.cryoltd.Temperature', '', + channel='Z Shim Former', + main='main', +) + +Mod('T_XY_shim', + 'frappy_psi.cryoltd.Temperature', '', + channel='XY Shim Former', + main='main', +) + +Mod('T_XY_vector', + 'frappy_psi.cryoltd.Temperature', '', + channel='XY Vector Former', + main='main', +) + +Mod('T_radiation_shield', + 'frappy_psi.cryoltd.Temperature', '', + channel='Radiation Shield', + main='main', +) + +Mod('T_persistent_joints', + 'frappy_psi.cryoltd.Temperature', '', + channel='Persistent Joints', + main='main', +) + +Mod('T_outer_A', + 'frappy_psi.cryoltd.Temperature', '', + channel='Outer Magnet A', + main='main', +) + +Mod('T_outer_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='Outer Magnet B', + main='main', +) + +Mod('T_shim_B', + 'frappy_psi.cryoltd.Temperature', '', + channel='Z Shim Former B', + main='main', +) + +Mod('T_bore_shield', + 'frappy_psi.cryoltd.Temperature', '', + channel='Bore Radiation Shield', + main='main', +) + +Mod('T_XYZ_shim', + 'frappy_psi.cryoltd.Temperature', '', + channel='XYZ Shim Plate', + main='main', +) + +Mod('T_Z_shim_switch', + 'frappy_psi.cryoltd.Temperature', '', + channel='Z Shim Switch', + main='main', +) + +Mod('T_main_switch', + 'frappy_psi.cryoltd.Temperature', '', + channel='Main Coil Switch', + main='main', +) diff --git a/main/flamp_cfg.py b/main/flamp_cfg.py new file mode 100644 index 0000000..4e10f63 --- /dev/null +++ b/main/flamp_cfg.py @@ -0,0 +1,61 @@ +Node('flamp.config.sea.psi.ch', + 'lamp oven control (from manuel knecht)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for flamp.config', + config='flamp.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tt', + rel_paths=['.', 't1'], +) + +Mod('t2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['t2'], +) + +Mod('current', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='current', + extra_modules=['i1,', 'i2,', 'i3,', 'i4'], +) + +Mod('i1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='current.i1', +) + +Mod('i2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='current.i2', +) + +Mod('i3', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='current.i3', +) + +Mod('i4', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='current.i4', +) + +Mod('pv', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='pv', +) diff --git a/main/fs_cfg.py b/main/fs_cfg.py new file mode 100644 index 0000000..e5ad98d --- /dev/null +++ b/main/fs_cfg.py @@ -0,0 +1,24 @@ +Node('fs.config.sea.psi.ch', + 'small furnace', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for fs.config', + config='fs.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tm'], +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tt', + rel_paths=['ts'], +) diff --git a/main/ft_cfg.py b/main/ft_cfg.py new file mode 100644 index 0000000..5b54c27 --- /dev/null +++ b/main/ft_cfg.py @@ -0,0 +1,25 @@ +Node('ft.config.sea.psi.ch', + 'FT tantalum furnace (1400 K)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for fw.config', + config='ft.config', + service='main', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tt', + meaning=['temperature', 20], + rel_paths=['ts', 'set'], +) + +Mod('t2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tm'], +) diff --git a/main/fw_cfg.py b/main/fw_cfg.py new file mode 100644 index 0000000..0a9be84 --- /dev/null +++ b/main/fw_cfg.py @@ -0,0 +1,25 @@ +Node('ft.config.sea.psi.ch', + 'FW ILL furnace with W5 thermnocouple (1800 K), old power rack', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for fw.config', + config='fw.config', + service='main', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature', 20], + sea_object='tt', + rel_paths=['ts', 'set'], +) + +Mod('t2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['t2'], +) diff --git a/main/haake_cfg.py b/main/haake_cfg.py new file mode 100644 index 0000000..ef606b4 --- /dev/null +++ b/main/haake_cfg.py @@ -0,0 +1,21 @@ +Node('haakeuro.config.sea.psi.ch', + 'Haake thermostat + Eurotherm controller', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for haakeuro.config', + config = 'haake.config', + service = 'main', +) +Mod('th', + 'frappy_psi.sea.SeaDrivable', '', + meaning = ('temperature', 10), + io = 'sea_main', + sea_object = 'th', + extra_modules=['t2'], +) +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='th.t2', +) diff --git a/main/haakeuro_cfg.py b/main/haakeuro_cfg.py new file mode 100644 index 0000000..eb35435 --- /dev/null +++ b/main/haakeuro_cfg.py @@ -0,0 +1,19 @@ +Node('haakeuro.config.sea.psi.ch', + 'Haake thermostat + Eurotherm controller', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for haakeuro.config', + config = 'haakeuro.config', + service = 'main', +) +Mod('th', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'th', +) +Mod('te', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'te', +) diff --git a/main/ill1_cfg.py b/main/ill1_cfg.py new file mode 100644 index 0000000..120b797 --- /dev/null +++ b/main/ill1_cfg.py @@ -0,0 +1,68 @@ +Node('ill1.config.sea.psi.ch', + 'orange cryostat with 50 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ill1.config', + config='ill1.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ill2_cfg.py b/main/ill2_cfg.py new file mode 100644 index 0000000..ab7db25 --- /dev/null +++ b/main/ill2_cfg.py @@ -0,0 +1,68 @@ +Node('ill2.config.sea.psi.ch', + 'orange cryostat with 70 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ill2.config', + config='ill2.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ill3_cfg.py b/main/ill3_cfg.py new file mode 100644 index 0000000..13ff73e --- /dev/null +++ b/main/ill3_cfg.py @@ -0,0 +1,74 @@ +Node('cfg/main/ill3.cfg', + 'orange cryofurnace with 70 mm sample space (low T)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ill3.config', + config='ill3.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ill4_cfg.py b/main/ill4_cfg.py new file mode 100644 index 0000000..e82d470 --- /dev/null +++ b/main/ill4_cfg.py @@ -0,0 +1,68 @@ +Node('ill4.config.sea.psi.ch', + 'orange cryostat with 70 mm sample space (FOCUS)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ill4.config', + config='ill4.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ill5_cfg.py b/main/ill5_cfg.py new file mode 100644 index 0000000..93579fa --- /dev/null +++ b/main/ill5_cfg.py @@ -0,0 +1,68 @@ +Node('ill5.config.sea.psi.ch', + 'orange cryostat with 100 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main SEA connection to ill5.config', + config='ill5.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ill5pgas5_cfg.py b/main/ill5pgas5_cfg.py new file mode 100644 index 0000000..9c2d222 --- /dev/null +++ b/main/ill5pgas5_cfg.py @@ -0,0 +1,104 @@ +Node('ill5pgas5.config.sea.psi.ch', + 'orange cryostat with 100 mm sample space and pgas5 pressure cell', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ill5pgas5.config', + config='ill5pgas5.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('pauto', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='pauto', +) + +Mod('T_capillary', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tc', +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('pccu', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='pccu', +) + +Mod('p', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p', +) + +Mod('i1', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='i1', +) diff --git a/main/jtccr_cfg.py b/main/jtccr_cfg.py new file mode 100644 index 0000000..43079da --- /dev/null +++ b/main/jtccr_cfg.py @@ -0,0 +1,134 @@ +Node('jtccr.config.sea.psi.ch', + 'CCR with JT-stage', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for jtccr.config', + config='jtccr.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tt', 'set'], +) + +Mod('T_ccr', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['ccr'], +) + +Mod('jtccr', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='jtccr', + extra_modules=['v1','v2','v3','v4','v5','v6','v7','v8','v9','v10','vm'], +) + +Mod('v1', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v1', +) + +Mod('v2', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v2', +) + +Mod('v3', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v3', +) + +Mod('v4', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v4', +) + +Mod('v5', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v5', +) + +Mod('v6', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v6', +) + +Mod('v7', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v7', +) + +Mod('v8', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v8', +) + +Mod('v9', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v9', +) + +Mod('v10', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.v10', +) + +Mod('vm', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + single_module='jtccr.vm', +) + +Mod('p1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p1', +) + +Mod('p2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p2', +) + +Mod('p3', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p3', +) + +Mod('p4', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='p4', +) + +Mod('pressreg', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='pressreg', +) + +Mod('epc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='epc', +) diff --git a/main/ma02_cfg.py b/main/ma02_cfg.py new file mode 100644 index 0000000..c745fed --- /dev/null +++ b/main/ma02_cfg.py @@ -0,0 +1,79 @@ +Node('ma02.config.sea.psi.ch', + '1.8 Tesla horizontal cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma02.config', + config='ma02.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma02-ts.psi.ch:3003', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', +) diff --git a/main/ma10_cfg.py b/main/ma10_cfg.py new file mode 100644 index 0000000..bab61ba --- /dev/null +++ b/main/ma10_cfg.py @@ -0,0 +1,89 @@ +Node('ma10.config.sea.psi.ch', + '10 Tesla vertical cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma10.config', + config='ma10.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', + rel_paths=['.', 'gen', 'ips'], +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma10-ts.psi.ch:3004', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + target_min = -180, + target_max = 360, + encoder_mode='READ', + backlash=-1, +) diff --git a/main/ma10heat_cfg.py b/main/ma10heat_cfg.py new file mode 100644 index 0000000..e1cb2f4 --- /dev/null +++ b/main/ma10heat_cfg.py @@ -0,0 +1,102 @@ +Node('ma10.config.sea.psi.ch', + '10 Tesla vertical cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma10.config', + config='ma10heat.config', + service='main', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['ts', 'set'] +) + +Mod('tm', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tm', 'setvti'] +) + +Mod('ts2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['ts_2'] +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma10-ts.psi.ch:3004', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + sign=-1, + target_min = -180, + target_max = 360, + encoder_mode='READ', +) diff --git a/main/ma10high_t_cfg.py b/main/ma10high_t_cfg.py new file mode 100644 index 0000000..7a0b938 --- /dev/null +++ b/main/ma10high_t_cfg.py @@ -0,0 +1,109 @@ +Node('ma10.config.sea.psi.ch', + '10 Tesla vertical cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma10.config', + config='ma10high_t.config', + service='main', +) + +Mod('th', + 'frappy_psi.sea.SeaReadable', + 'sample heater temperature', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['ts', 'setsamp'] +) + +Mod('tm', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='tt', + rel_paths=['tm', '.', 'set'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'test for parmod', + unit='K', + read='th.value', + write='th.setsamp', + meaning=['temperature', 20], + settling_time=20, + tolerance=1, +) + +Mod('ts2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tt', + rel_paths=['ts_2'] +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma10-ts.psi.ch:3004', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + sign=-1, + target_min = -180, + target_max = 360, + encoder_mode='READ', +) + diff --git a/main/ma11_cfg.py b/main/ma11_cfg.py new file mode 100644 index 0000000..cbe38cd --- /dev/null +++ b/main/ma11_cfg.py @@ -0,0 +1,115 @@ +Node('ma11.config.sea.psi.ch', + 'MA11 cryomagnet for SANS', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma11.config', + config='ma11.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('tcoil', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('ccu2', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ccu2', +) + +Mod('lnv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='lnv', +) + +Mod('lpr', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='lpr', +) + +Mod('lambdawatch', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lambdawatch', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma11-ts.psi.ch:3005', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='NO', +) diff --git a/main/ma15_cfg.py b/main/ma15_cfg.py new file mode 100644 index 0000000..1b63405 --- /dev/null +++ b/main/ma15_cfg.py @@ -0,0 +1,98 @@ +Node('ma15.config.sea.psi.ch', + '''14.9 Tesla superconducting cryomagnet''', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma15.config', + config = 'ma15.config', + service = 'main', +) +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + meaning=['temperature_regulation', 27], + sea_object = 'tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'cc', +) +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'nv', +) +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hefill', +) +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hepump', +) +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'hemot', +) +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'nvflow', +) +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'mf', +) +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'lev', +) +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'ln2fill', +) +Mod('tcoil', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'tcoil', +) +Mod('ccu2', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'ccu2', +) +Mod('lnv', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'lnv', +) +Mod('lpr', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'lpr', +) +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'table', +) +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'om motor IO', + uri='ma15-ts.psi.ch:3005', +) +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used as omega', + io='stick_io', + encoder_mode='CHECK', +) + diff --git a/main/ma6_cfg.py b/main/ma6_cfg.py new file mode 100644 index 0000000..a6e4ec7 --- /dev/null +++ b/main/ma6_cfg.py @@ -0,0 +1,82 @@ +Node('ma6.config.sea.psi.ch', + 'compact 6 Tesla vertical cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma6.config', + config='ma6.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma6-ts.psi.ch:3003', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + encoder_mode='CHECK', + target_min=-180, + target_max=360, + backlash=-1, +) diff --git a/main/ma6_sampleheat_cfg.py b/main/ma6_sampleheat_cfg.py new file mode 100644 index 0000000..c48b911 --- /dev/null +++ b/main/ma6_sampleheat_cfg.py @@ -0,0 +1,109 @@ +Node('ma6_sampleheat.config.sea.psi.ch', + 'compact 6 Tesla vertical cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma6_sampleheat.config', + config='ma6_sampleheat.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('th', + 'frappy_psi.sea.SeaReadable', + 'sample heater temperature', + io='sea_main', + sea_object='tt', + rel_paths=['ts', 'setsamp'] +) + +Mod('ts0', + 'frappy_psi.sea.SeaReadable', + 'sample stick exch. temperature', + io='sea_main', + sea_object='tt', + rel_paths=['ts_2'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'test for parmod', + unit='K', + read='th.value', + write='th.setsamp', + meaning=['temperature', 20], + settling_time=20, + tolerance=1, +) + + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma6-ts.psi.ch:3003', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + encoder_mode='CHECK', + target_min=-180, + target_max=360, +) diff --git a/main/ma7_cfg.py b/main/ma7_cfg.py new file mode 100644 index 0000000..bec34e5 --- /dev/null +++ b/main/ma7_cfg.py @@ -0,0 +1,99 @@ +Node('ma7.config.sea.psi.ch', + '6.8 Tesla horizontal cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma7.config', + config='ma7.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.LscDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + sensor_path='tm', + set_path='set', +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', + value=Param(unit='T'), +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('tcoil1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_path='tcoil/ta', +) + +Mod('tcoil2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_path='tcoil/tb', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma7-ts.psi.ch:3007', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', +) diff --git a/main/ma7_piezo_cfg.py b/main/ma7_piezo_cfg.py new file mode 100644 index 0000000..09ec3fc --- /dev/null +++ b/main/ma7_piezo_cfg.py @@ -0,0 +1,108 @@ +Node('ma7_piezo.config.sea.psi.ch', + '6.8 Tesla horizontal cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma7.config', + config='ma7_piezo.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl', 'voltage'], + extra_modules=['manualpower'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', + value=Param(unit='T'), +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('tcoil1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['ta'], +) + +Mod('tcoil2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['tb'], +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma7-ts.psi.ch:3007', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', +) + +Mod('V', + 'frappy_psi.sea.SeaWritable', + 'voltage', + io='sea_main', + single_module='tt.manualpower', +) diff --git a/main/ma7_sampleheat_cfg.py b/main/ma7_sampleheat_cfg.py new file mode 100644 index 0000000..ef3fda2 --- /dev/null +++ b/main/ma7_sampleheat_cfg.py @@ -0,0 +1,135 @@ +Node('ma7.config.sea.psi.ch', + '6.8 Tesla horizontal cryomagnet', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma7_sampleheat.config', + config='ma7_sampleheat.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], + ) + +Mod('th', + 'frappy_psi.sea.SeaReadable', + 'sample heater temperature', + io='sea_main', + sea_object='tt', + rel_paths=['ts_2', 'setsamp'] +) + + +Mod('ts0', + 'frappy_psi.sea.SeaReadable', + 'sample stick exch. temperature', + io='sea_main', + sea_object='tt', + rel_paths=['ts'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'test for parmod', + unit='K', + read='th.value', + write='th.setsamp', + meaning=['temperature', 20], + settling_time=20, + tolerance=1, +) + +#Mod('sampheat', +# 'frappy_psi.sea.SeaWritable', '', +# io='sea_main', +# sea_object='tt', +# rel_paths=['ts_2', 'setsamp', 'manualpower'] +#) + + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('tcoil1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['ta'], +) + +Mod('tcoil2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['tb'], +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma7-ts.psi.ch:3007', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', +) diff --git a/main/ma7_thermalc_cfg.py b/main/ma7_thermalc_cfg.py new file mode 100644 index 0000000..d91b24c --- /dev/null +++ b/main/ma7_thermalc_cfg.py @@ -0,0 +1,129 @@ +Node('ma7_thermalc.config.sea.psi.ch', + '''6.8 Tesla horizontal cryomagnet for thrermalcond''', +) +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma7_thermalc.config', + config = 'ma7_thermalc.config', + service = 'main', +) +#Mod('tt', +# 'frappy_psi.sea.SeaDrivable', '', +# io='sea_main', +# sea_object='tt', +# rel_paths=['.', 'tm'], +#) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature_regulation', 27], + io='sea_main', + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('th', + 'frappy_psi.sea.SeaReadable', + 'sample heater temperature', + io='sea_main', + sea_object='tt', + rel_paths=['ts', 'setsamp'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'test for parmod', + unit='K', + value_param='th.value', + target_param='th.setsamp', + meaning=['temperature', 20], + settling_time=20, + tolerance=1, +) + +Mod('samph', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='tt', + rel_paths=['setsamp','power'], +) + + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'cc', +) +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'nv', +) +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hefill', +) +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hepump', +) +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'hemot', +) +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'nvflow', +) +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'ln2fill', +) +Mod('mf', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'mf', +) +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'lev', +) + +Mod('tcoil1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['ta'], +) + +Mod('tcoil2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['tb'], +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'table', +) + +Mod('stick_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma7-ts.psi.ch:3007', +) + +Mod('stickrot', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically not used as omega', + io='stick_io', + encoder_mode='CHECK', +) diff --git a/main/ma7two_cfg.py b/main/ma7two_cfg.py new file mode 100644 index 0000000..b53dce5 --- /dev/null +++ b/main/ma7two_cfg.py @@ -0,0 +1,105 @@ +Node('cfg/main/ma7two.cfg', + '6.8 Tesla horizontal cryomagnet with two heater loops', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ma7two.config', + config='ma7two.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('mf', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='mf', +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='lev', +) + +Mod('tcoil1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['ta'], +) + +Mod('tcoil2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='tcoil', + rel_paths=['tb'], +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='ma7-ts.psi.ch:3007', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation', + io='om_io', + encoder_mode='CHECK', +) diff --git a/main/magsim_cfg.py b/main/magsim_cfg.py new file mode 100644 index 0000000..f346edc --- /dev/null +++ b/main/magsim_cfg.py @@ -0,0 +1,60 @@ +Node('magsim.psi.ch', + 'cryo magnet simulation (similar to ppms simulation)', +) + +Mod('tt', + 'frappy_psi.ppms.Temp', + 'main temperature', + meaning=('temperature_regulation', 10), + ramp=20.0, + io='ppms', +) + +Mod('mf', + 'frappy_psi.ppms.Field', + 'magnetic field', + target=Param( + min=-9.0, + max=9.0, + ), + io='ppms', + meaning=('magneticfield', 10), +) + +Mod('lev', + 'frappy_psi.ppms.Level', + 'helium level', + io='ppms', +) + +Mod('ts', + 'frappy_psi.ppms.UserChannel', + 'sample temperature', + enabled=True, + linkenable='tv', + value=Param( + unit='K', + ), + meaning=('temperature', 10), + io='ppms', +) + +Mod('tv', + 'frappy_psi.ppms.UserChannel', + 'exchanger temperature', + enabled=True, + linkenable='ts', + value=Param( + unit='K', + ), + io='ppms', +) + +Mod('ppms', + 'frappy_psi.ppms.Main', + 'the main and poller module', + class_id='QD.MULTIVU.PPMS.1', + visibility='expert', + pollinterval=2.0, + export=False, +) diff --git a/main/mb11_cfg.py b/main/mb11_cfg.py new file mode 100644 index 0000000..9d0ea4d --- /dev/null +++ b/main/mb11_cfg.py @@ -0,0 +1,213 @@ +Node('mb11.psi.ch', + 'MB11 11 Tesla - 100 mm cryomagnet', +) + +sea_cfg = 'mb11.config' + +Mod('itc1', + 'frappy_psi.mercury.IO', + 'ITC for heat exchanger and pressures', + uri='mb11-ts:3001', +) + +Mod('itc2', + 'frappy_psi.mercury.IO', + 'ITC for neck and nv heaters', + uri='mb11-ts:3002', +) + +Mod('ips', + 'frappy_psi.mercury.IO', + 'IPS for magnet and levels', + uri='mb11-ts:3003', +) + +Mod('T_stat', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'static heat exchanger temperature', + meaning=['temperature_regulation', 27], + output_module='htr_stat', + needle_valve='p_stat', + slot='DB6.T1', + io='itc1', + tolerance=0.1, + flowpars=((1,5), (2, 20)), +) + +Mod('htr_stat', + 'frappy_psi.mercury.HeaterOutput', + 'static heat exchanger heater', + slot='DB1.H1', + io='itc1', +) + +Mod('p_stat', + 'frappy_psi.mercury.PressureLoop', + 'static needle valve pressure', + output_module='pos_stat', + settling_time=60.0, + slot='DB5.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_stat', + 'frappy_psi.mercury.ValvePos', + 'static needle valve position', + slot='DB5.P1,DB3.G1', + io='itc1', +) + +Mod('T_dyn', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'dynamic heat exchanger temperature', + output_module='htr_dyn', + needle_valve='p_dyn', + slot='DB7.T1', + io='itc1', + tolerance=0.1, +) + +Mod('htr_dyn', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic heat exchanger heater', + slot='DB2.H1', + io='itc1', +) + +Mod('p_dyn', + 'frappy_psi.mercury.PressureLoop', + 'dynamic needle valve pressure', + output_module='pos_dyn', + settling_time=60.0, + slot='DB8.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_dyn', + 'frappy_psi.mercury.ValvePos', + 'dynamic needle valve position', + slot='DB8.P1,DB4.G1', + io='itc1', +) + +Mod('mf', + 'frappy_psi.ips_mercury.Field', + 'magnetic field', + slot='GRPZ', + io='ips', + tolerance=0.001, + wait_stable_field=60.0, + target=Param( + max=11.0, + ), + persistent_limit=11.1, +) + +Mod('lev', + 'frappy_psi.mercury.HeLevel', + 'LHe level', + slot='DB1.L1', + io='ips', +) + +Mod('n2lev', + 'frappy_psi.mercury.N2Level', + 'LN2 level', + slot='DB1.L1', + io='ips', +) + +Mod('T_neck1', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 1 temperature', + output_module='htr_neck1', + slot='MB1.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck1', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 1 power', + slot='MB0.H1', + io='itc2', +) + +Mod('T_neck2', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 2 temperature', + output_module='htr_neck2', + slot='DB6.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck2', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 2 power', + slot='DB1.H1', + io='itc2', +) + +Mod('T_nvs', + 'frappy_psi.mercury.TemperatureLoop', + 'static needle valve temperature', + output_module='htr_nvs', + slot='DB7.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvs', + 'frappy_psi.mercury.HeaterOutput', + 'static needle valve heater power', + slot='DB2.H1', + io='itc2', +) + +Mod('T_nvd', + 'frappy_psi.mercury.TemperatureLoop', + 'dynamic needle valve heater temperature', + output_module='htr_nvd', + slot='DB8.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvd', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic needle valve heater power', + slot='DB3.H1', + io='itc2', +) + +Mod('T_coil', + 'frappy_psi.mercury.TemperatureSensor', + 'coil temperature', + slot='MB1.T1', + io='ips', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='mb11-ts.psi.ch:3004', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + target_min=-360, + target_max=360, + encoder_mode='NO', + target=Param(min=-360, max=360), +) diff --git a/main/mb11std_cfg.py b/main/mb11std_cfg.py new file mode 100644 index 0000000..cc809f9 --- /dev/null +++ b/main/mb11std_cfg.py @@ -0,0 +1,228 @@ +Node('mb11.psi.ch', + 'MB11 11 Tesla - 100 mm cryomagnet', +) + +Mod('itc1', + 'frappy_psi.mercury.IO', + 'ITC for heat exchanger and pressures', + uri='mb11-ts:3001', +) + +Mod('itc2', + 'frappy_psi.mercury.IO', + 'ITC for neck and nv heaters', + uri='mb11-ts:3002', +) + +Mod('ips', + 'frappy_psi.mercury.IO', + 'IPS for magnet and levels', + uri='mb11-ts:3003', +) + +Mod('T_stat', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'static heat exchanger temperature', + meaning=['temperature_regulation', 27], + output_module='htr_stat', + needle_valve='p_stat', + slot='DB6.T1', + io='itc1', + tolerance=0.1, + flowpars=((1,5), (2, 20)), +) + +Mod('htr_stat', + 'frappy_psi.mercury.HeaterOutput', + 'static heat exchanger heater', + slot='DB1.H1', + io='itc1', +) + +Mod('ts', + 'frappy_psi.mercury.TemperatureLoop', + 'sample temperature', + output_module='htr_sample', + slot='MB1.T1', + io='itc1', + tolerance=1.0, + visibility='expert', +) + +Mod('htr_sample', + 'frappy_psi.mercury.HeaterOutput', + 'sample stick heater power', + slot='MB0.H1', + io='itc1', +) + +Mod('p_stat', + 'frappy_psi.mercury.PressureLoop', + 'static needle valve pressure', + output_module='pos_stat', + settling_time=60.0, + slot='DB5.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_stat', + 'frappy_psi.mercury.ValvePos', + 'static needle valve position', + slot='DB5.P1,DB3.G1', + io='itc1', +) + +Mod('T_dyn', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'dynamic heat exchanger temperature', + output_module='htr_dyn', + needle_valve='p_dyn', + slot='DB7.T1', + io='itc1', + tolerance=0.1, +) + +Mod('htr_dyn', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic heat exchanger heater', + slot='DB2.H1', + io='itc1', +) + +Mod('p_dyn', + 'frappy_psi.mercury.PressureLoop', + 'dynamic needle valve pressure', + output_module='pos_dyn', + settling_time=60.0, + slot='DB8.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_dyn', + 'frappy_psi.mercury.ValvePos', + 'dynamic needle valve position', + slot='DB8.P1,DB4.G1', + io='itc1', +) + +Mod('mf', + 'frappy_psi.ips_mercury.Field', + 'magnetic field', + slot='GRPZ', + io='ips', + tolerance=0.001, + wait_stable_field=60.0, + target=Param( + max=11.0, + ), + persistent_limit=11.1, +) + +Mod('lev', + 'frappy_psi.mercury.HeLevel', + 'LHe level', + slot='DB1.L1', + io='ips', +) + +Mod('n2lev', + 'frappy_psi.mercury.N2Level', + 'LN2 level', + slot='DB1.L1', + io='ips', +) + +Mod('T_neck1', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 1 temperature', + output_module='htr_neck1', + slot='MB1.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck1', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 1 power', + slot='MB0.H1', + io='itc2', +) + +Mod('T_neck2', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 2 temperature', + output_module='htr_neck2', + slot='DB6.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck2', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 2 power', + slot='DB1.H1', + io='itc2', +) + +Mod('T_nvs', + 'frappy_psi.mercury.TemperatureLoop', + 'static needle valve temperature', + output_module='htr_nvs', + slot='DB7.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvs', + 'frappy_psi.mercury.HeaterOutput', + 'static needle valve heater power', + slot='DB2.H1', + io='itc2', +) + +Mod('T_nvd', + 'frappy_psi.mercury.TemperatureLoop', + 'dynamic needle valve heater temperature', + output_module='htr_nvd', + slot='DB8.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvd', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic needle valve heater power', + slot='DB3.H1', + io='itc2', +) + +Mod('T_coil', + 'frappy_psi.mercury.TemperatureSensor', + 'coil temperature', + slot='MB1.T1', + io='ips', +) + +Mod('om_io', + 'frappy_psi.phytron.PhytronIO', + 'dom motor IO', + uri='mb11-ts.psi.ch:3004', +) + +Mod('om', + 'frappy_psi.phytron.Motor', + 'stick rotation, typically used for omega', + io='om_io', + target_min=-360, + target_max=360, + encoder_mode='NO', + target=Param(min=-360, max=360), +) diff --git a/main/ori2_cfg.py b/main/ori2_cfg.py new file mode 100644 index 0000000..8cb4011 --- /dev/null +++ b/main/ori2_cfg.py @@ -0,0 +1,73 @@ +Node('ori3.config.sea.psi.ch', + 'orange cryostat with 50 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ori2.config', + config='ori2.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ori3_cfg.py b/main/ori3_cfg.py new file mode 100644 index 0000000..15706f3 --- /dev/null +++ b/main/ori3_cfg.py @@ -0,0 +1,73 @@ +Node('ori3.config.sea.psi.ch', + 'orange cryostat with 100 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ori3.config', + config='ori3.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ori4_cfg.py b/main/ori4_cfg.py new file mode 100644 index 0000000..169b5bf --- /dev/null +++ b/main/ori4_cfg.py @@ -0,0 +1,74 @@ +Node('ori4.config.sea.psi.ch', + 'orange cryostat with 100 mm sample space (HRPT)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'SEA connection to ori4', + config='ori4.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('nvmot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='nvmot', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ori6_cfg.py b/main/ori6_cfg.py new file mode 100644 index 0000000..6e65cb1 --- /dev/null +++ b/main/ori6_cfg.py @@ -0,0 +1,74 @@ +Node('ori6.config.sea.psi.ch', + 'orange cryostat with 100 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ori6.config', + config='ori6.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) + +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='table', +) diff --git a/main/ori7_cfg.py b/main/ori7_cfg.py new file mode 100644 index 0000000..ea3477d --- /dev/null +++ b/main/ori7_cfg.py @@ -0,0 +1,70 @@ +Node('ori7.config.sea.psi.ch', + '''orange cryostat with 50 mm sample space for ULT''', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for ori7.config', + config = 'ori7.config', + service = 'main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + meaning=['temperature_regulation', 27], + sea_object = 'tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'cc', + extra_modules=['h'], + visibility=2, +) + +Mod('lev', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + single_module='cc.h', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'nv', +) + + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'ln2fill', +) +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hefill', +) +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io = 'sea_main', + sea_object = 'hepump', +) +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io = 'sea_main', + sea_object = 'hemot', +) +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'nvflow', +) +Mod('table', + 'frappy_psi.sea.SeaReadable', '', + io = 'sea_main', + sea_object = 'table', +) diff --git a/main/ori7test_cfg.py b/main/ori7test_cfg.py new file mode 100644 index 0000000..7c64ae9 --- /dev/null +++ b/main/ori7test_cfg.py @@ -0,0 +1,14 @@ +Node('ori7test.psi.ch', + 'ORI7 test', + 'tcp://5000' + ) + +Include('racktools') + +LsSensor('Ts', channel='C', calcurve='x186350') +LsLoop('T', channel='B', calcurve='x174786', output_module='htr', target=10) +LsHeater('htr', output_no=1, max_heater='100W', resistance=25) + +HeLevel() +N2Level() +Flow(min_open_pulse=0.03) diff --git a/main/peltier_cfg.py b/main/peltier_cfg.py new file mode 100644 index 0000000..1e60b4f --- /dev/null +++ b/main/peltier_cfg.py @@ -0,0 +1,58 @@ +Node('peltier.psi.ch', + 'peltier test', + 'tcp://5000', + ) + +Mod('tio', + 'frappy_psi.qnw.QnwIO', + 'connection for Quantum northwest', + uri='tcp://ldm-fi-ts:3001', + ) + +Mod('T', + 'frappy_psi.qnw.TemperatureLoopTC1', + 'holder temperature', + channel='CT', + io='tio', + ) + +Mod('Th', + 'frappy_psi.qnw.SensorTC1', + 'heat exch. temperature', + channel='HT', + io='tio', + ) + +Mod('wio', + 'frappy_psi.thermofisher.ThermFishIO', + 'connection for water bath', + uri='tcp://ldm-fi-ts:3002', + ) + +Mod('Tbath', + 'frappy_psi.thermofisher.TemperatureLoopA10', + 'water bath', + io='wio', + target=Param(max=100), + tolerance=0.5, + settling_time=20, + ) + +Mod('lio', # the name of the module + 'frappy_demo.lakeshore.LakeshoreIO', # the class used for communication + 'communication to main controller', # a description + uri="tcp://ldmcc02-ls:7777", # the serial connection + ) +Mod('Ta', + 'frappy_demo.lakeshore.TemperatureSensor', + 'Sample Temperature', + io='lio', + channel='A', # the channel on the LakeShore for this module + ) +Mod('Tb', + 'frappy_demo.lakeshore.TemperatureSensor', + 'Sample Temperature', + io='lio', + channel='B', # the channel on the LakeShore for this module + ) + diff --git a/main/rt_cfg.py b/main/rt_cfg.py new file mode 100644 index 0000000..0f1ea46 --- /dev/null +++ b/main/rt_cfg.py @@ -0,0 +1,17 @@ +Node('cfg/main/rt.cfg', + 'room temperature HRPT (pt1000)', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for rt.config', + config='rt.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 20], + sea_object='tt', + io='sea_main', +) diff --git a/main/smamor_cfg.py b/main/smamor_cfg.py new file mode 100644 index 0000000..63027c2 --- /dev/null +++ b/main/smamor_cfg.py @@ -0,0 +1,28 @@ +Node('smamor.config.sea.psi.ch', + 'Keithley 2450 sourcemeter', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for smamor.config', + config='smamor.config', + service='main', +) + +Mod('smi', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='smi', +) + +Mod('smv', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='smv', +) + +Mod('r', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='r', +) diff --git a/main/variox_cfg.py b/main/variox_cfg.py new file mode 100644 index 0000000..f7906ef --- /dev/null +++ b/main/variox_cfg.py @@ -0,0 +1,60 @@ +Node('variox.config.sea.psi.ch', + 'Variox cryostat with 50 mm sample space', +) + +Mod('sea_main', + 'frappy_psi.sea.SeaClient', + 'main sea connection for variox.config', + config='variox.config', + service='main', +) + +Mod('tt', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + meaning=['temperature_regulation', 27], + sea_object='tt', + rel_paths=['tm', '.', 'set', 'dblctrl'], +) + +Mod('cc', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='cc', +) + +Mod('nv', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='nv', +) + +Mod('ln2fill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='ln2fill', +) + +Mod('hefill', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hefill', +) + +Mod('hepump', + 'frappy_psi.sea.SeaWritable', '', + io='sea_main', + sea_object='hepump', +) + +Mod('hemot', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_main', + sea_object='hemot', +) + +Mod('nvflow', + 'frappy_psi.sea.SeaReadable', '', + io='sea_main', + sea_object='nvflow', +) diff --git a/main/varioxb_cfg.py b/main/varioxb_cfg.py new file mode 100644 index 0000000..4fc66ef --- /dev/null +++ b/main/varioxb_cfg.py @@ -0,0 +1,187 @@ +Node('varioxb.psi.ch', + 'VarioxB - 100 mm cryostat', + interface='tcp://5000', +) + +Mod('itc1', + 'frappy_psi.mercury.IO', + 'ITC for heat exchanger and pressures', + uri='linvb-ts:3001', +) + +Mod('itc2', + 'frappy_psi.mercury.IO', + 'ITC for neck and nv heaters', + uri='linvb-ts:3002', +) + +Mod('T_stat', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'static heat exchanger temperature', + meaning=['temperature_regulation', 27], + output_module='htr_stat', + needle_valve='p_stat', + slot='DB6.T1', + io='itc1', + tolerance=0.1, +) + +Mod('htr_stat', + 'frappy_psi.mercury.HeaterOutput', + 'static heat exchanger heater', + slot='DB1.H1', + io='itc1', +) + +Mod('p_stat', + 'frappy_psi.mercury.PressureLoop', + 'static needle valve pressure', + output_module='pos_stat', + settling_time=60.0, + slot='DB5.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_stat', + 'frappy_psi.mercury.ValvePos', + 'static needle valve position', + slot='DB5.P1,DB3.G1', + io='itc1', +) + +Mod('T_dyn', + 'frappy_psi.mercury.TemperatureAutoFlow', + 'dynamic heat exchanger temperature', + output_module='htr_dyn', + needle_valve='p_dyn', + slot='DB7.T1', + io='itc1', + tolerance=0.1, +) + +Mod('htr_dyn', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic heat exchanger heater', + slot='DB2.H1', + io='itc1', +) + +Mod('p_dyn', + 'frappy_psi.mercury.PressureLoop', + 'dynamic needle valve pressure', + output_module='pos_dyn', + settling_time=60.0, + slot='DB8.P1', + io='itc1', + tolerance=1.0, + value=Param( + unit='mbar_flow', + ), +) + +Mod('pos_dyn', + 'frappy_psi.mercury.ValvePos', + 'dynamic needle valve position', + slot='DB8.P1,DB4.G1', + io='itc1', +) + +Mod('lev', + 'frappy_psi.mercury.HeLevel', + 'LHe level', + slot='DB4.L1', + io='itc2', +) + +Mod('n2lev', + 'frappy_psi.mercury.N2Level', + 'LN2 level', + slot='DB4.L1', + io='itc2', +) + +Mod('T_neck1', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 1 temperature', + output_module='htr_neck1', + slot='MB1.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck1', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 1 power', + slot='MB0.H1', + io='itc2', +) + +Mod('T_neck2', + 'frappy_psi.mercury.TemperatureLoop', + 'neck heater 2 temperature', + output_module='htr_neck2', + slot='DB6.T1', + io='itc2', + tolerance=1.0, +) + +Mod('htr_neck2', + 'frappy_psi.mercury.HeaterOutput', + 'neck heater 2 power', + slot='DB1.H1', + io='itc2', +) + +Mod('T_nvs', + 'frappy_psi.mercury.TemperatureLoop', + 'static needle valve temperature', + output_module='htr_nvs', + slot='DB7.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvs', + 'frappy_psi.mercury.HeaterOutput', + 'static needle valve heater power', + slot='DB2.H1', + io='itc2', +) + +Mod('T_nvd', + 'frappy_psi.mercury.TemperatureLoop', + 'dynamic needle valve heater temperature', + output_module='htr_nvd', + slot='DB8.T1', + io='itc2', + tolerance=0.1, +) + +Mod('htr_nvd', + 'frappy_psi.mercury.HeaterOutput', + 'dynamic needle valve heater power', + slot='DB3.H1', + io='itc2', +) + +# Motor controller is not yet available! +# +#Mod('om_io', +# 'frappy_psi.phytron.PhytronIO', +# 'dom motor IO', +# uri='mb11-ts.psi.ch:3004', +#) + +#Mod('om', +# 'frappy_psi.phytron.Motor', +# 'stick rotation, typically used for omega', +# io='om_io', +# target_min=-180, +# target_max=360, +# encoder_mode='NO', +# target=Param(min=-180, max=360) +#) diff --git a/racklist.py b/racklist.py new file mode 100644 index 0000000..2fd4f08 --- /dev/null +++ b/racklist.py @@ -0,0 +1,5 @@ +Rack('cc11', + ls_model=336, ls_uri='ldmcc11-ls:7777', + ccu_uri='ldmcc11-ts:3001', + hepump_type='xds35', hepump_uri='ldmcc11-ts:3002', +) diff --git a/racktools.py b/racktools.py new file mode 100644 index 0000000..0872b15 --- /dev/null +++ b/racktools.py @@ -0,0 +1,178 @@ +"""Usage: + +in a config file: + +Include('racktools') + + +""" +import os +from frappy.errors import ConfigError + + +class Rack: + racks = {} + + def __init__(self, name, **kwds): + self.racks[name] = kwds + + +# contains +# Rack('', ls_type=336, ls_io='...') + +Include('racklist') + +# contains either rack='' +# or rack = """ +# prep8=cc12 +# prep9=... +# """ +rack = None +Include('rack') + + +class RackConfig: + def __init__(self, config_or_rack=None): + if isinstance(config_or_rack, dict): + # direct configuration + self.config = config_or_rack + else: + instrument = os.environ.get('Instrument') or os.uname().nodename.split('.')[0] + racks = config_or_rack.split('\n') + if len(racks) == 1: + found_rack = racks[0].strip() + else: + for line in racks: + if line.strip().startswith(instrument): + found_rack = line.split('=', 1)[-1].strip() + break + else: + found_rack = instrument + # take from rack config + self.config = Rack.racks.get(found_rack) + self.props = {} # dict (, ) of value + self.mods = {} # dict (, ) of list of + self.ccu_cfg = {} + log = Include.log + self.ls_dev = None + + def set_props(self, mod, **kwds): + for prop, method in kwds.items(): + value = self.props.get((prop, method)) + if value is None: + # add mod to the list of cfgs to be fixed + self.mods.setdefault((prop, method), []).append(mod) + else: + # set prop in current module + if not mod.get(prop): # do not override given and not empty property + mod[prop] = value + + def fix_props(self, method, **kwds): + for prop, value in kwds.items(): + if (prop, method) in self.props: + raise ConfigError(f'duplicate call to {method}()') + self.props[prop, method] = value + # set property in modules to be fixed + for mod in self.mods.get((prop, method), ()): + mod[prop] = value + + def lakeshore(self, io='ls_io', dev='ls', **kwds): + if self.ls_dev: + return + self.fix_props('lakeshore', io=io, device=dev) + self.ls_model = model = self.config.get('ls_model') + self.ls_dev = dev + Mod(io, cls=f'frappy_psi.lakeshore.IO{self.ls_model}', + description='comm. to lakeshore in cc rack', uri=self.config.get('ls_uri')) + self.dev = Mod(dev, cls=f'frappy_psi.lakeshore.Device{self.ls_model}', + description='lakeshore in cc rack', io=io, curve_handling=True) + + def sensor(self, name, channel, calcurve, **kwds): + self.lakeshore() + kwds.setdefault('cls', f'frappy_psi.lakeshore.Sensor{self.ls_model}') + kwds.setdefault('description', f'T sensor {name}') + mod = Mod(name, channel=channel, calcurve=calcurve, + device=self.ls_dev, **kwds) + self.set_props(mod, io='lakeshore', dev='lakeshore') + + def loop(self, name, channel, calcurve, output_module, **kwds): + self.lakeshore() + kwds.setdefault('cls', f'frappy_psi.lakeshore.Loop{self.ls_model}') + kwds.setdefault('description', f'T loop {name}') + Mod(name, channel=channel, calcurve=calcurve, output_module=output_module, + device=self.ls_dev, **kwds) + self.fix_props(f'heater({output_module})', description=f'heater for {name}') + + def heater(self, name, output_no, max_heater, resistance, **kwds): + self.lakeshore() + if output_no == 1: + kwds.setdefault('cls', f'frappy_psi.lakeshore.MainOutput{self.ls_model}') + elif output_no == 2: + kwds.setdefault('cls', f'frappy_psi.lakeshore.SecondaryOutput{self.ls_model}') + else: + return + kwds.setdefault('description', '') + mod = Mod(name, max_heater=max_heater, resistance=resistance, **kwds) + self.set_props(mod, io='lakeshore', device='lakeshore', description=f'heater({name})') + + def ccu(self, name=None, **kwds): + """internal method, called by the methods below""" + name = name or 'ccu_io' + cfg = {'name': name, **kwds} + if self.ccu_cfg: + if self.ccu_cfg != cfg: + raise ConfigError('ccu config mismatch') + return name + self.ccu_cfg = cfg + Mod(name, 'frappy_psi.ccu4.IO', 'comm. to CCU4', uri=self.config['ccu_uri'], **kwds) + return name + + def he(self, name='He_lev', **kwds): + Mod(name, cls='frappy_psi.ccu4.HeLevel', + description='the He Level', io=self.ccu(), **kwds) + + def n2(self, name='N2_lev', valve='N2_valve', upper='N2_upper', lower='N2_lower', **kwds): + ccu_io = self.ccu() + Mod(name, cls='frappy_psi.ccu4.N2Level', + description='the N2 Level', io=ccu_io, + valve=valve, upper=upper, lower=lower) + Mod(valve, cls='frappy_psi.ccu4.N2FillValve', + description='LN2 fill valve', io=ccu_io) + Mod(upper, cls='frappy_psi.ccu4.N2TempSensor', + description='upper LN2 sensor') + Mod(lower, cls='frappy_psi.ccu4.N2TempSensor', + description='lower LN2 sensor') + + def flow(self, hepump_io='hepump_io', hepump='hepump', hepump_mot='hepump_mot', + hepump_valve='hepump_valve', flow_sensor='flow_sensor', pump_pressure='pump_pressure', + nv='nv', **kwds): + """creates needle valve and pump access if available""" + ccu_io = self.ccu() + hepump_type = self.config.get('hepump_type', 'unknown') + hepump_uri = self.config.get('hepump_uri') + if not hepump_uri: + flow_sensor = None + Mod(nv, 'frappy_psi.ccu4.NeedleValveFlow', 'flow from flow sensor or pump pressure', + flow_sensor=flow_sensor, pressure=pump_pressure, pump_type=hepump_type, io=ccu_io, **kwds) + Mod(pump_pressure, 'frappy_psi.ccu4.Pressure', 'He pump pressure', io=ccu_io) + if not flow_sensor: + self.log.warning('no pump remote control, no flow meter - using flow from pressure alone') + return + Mod(hepump_io, 'frappy.io.BytesIO', 'He pump connection', uri=hepump_uri) + Mod(hepump, 'frappy_psi.hepump.HePump', 'He pump', pump_type=hepump_type, + valvemotor=hepump_mot, valve=hepump_valve) + Mod(hepump_mot, 'frappy_psi.hepump.Motor', 'He pump valve motor', io=hepump_io, maxcurrent=2.8) + Mod(hepump_valve, 'frappy_psi.butterflyvalve.Valve', 'He pump valve', motor=hepump_mot) + Mod(flow_sensor, 'frappy_psi.sensirion.FlowSensor', 'Flow Sensor', io=hepump_io, nsamples=160) + + +rackcfg = RackConfig(rack) + +LakeShore = rackcfg.lakeshore +LsSensor = rackcfg.sensor +LsLoop = rackcfg.loop +LsHeater = rackcfg.heater +Ccu = rackcfg.ccu +HeLevel = rackcfg.he +N2Level = rackcfg.n2 +Flow = rackcfg.flow diff --git a/stick/PEstick_cfg.py b/stick/PEstick_cfg.py new file mode 100644 index 0000000..63ce6db --- /dev/null +++ b/stick/PEstick_cfg.py @@ -0,0 +1,47 @@ +import os +port = os.environ.get('FRAPPY_MAIN_PORT') + +Node('pe_stick.sinq.psi.ch', + 'soft cal for sample T from mercury', + 'tcp://5001', +) + +Mod('itc_proxy', + 'frappy.core.Proxy', + 'ITC io proxy', + module='itc1', + remote_class = 'frappy_psi.mercury.IO', + uri = f'tcp://localhost:{port}', +) + +Mod('ts_uncal', + 'frappy_psi.mercury.TemperatureLoop', + 'sample temperature', + output_module='htr_sample', + slot='MB1.T1', + io='itc_proxy', + tolerance=1.0, +) + +Mod('htr_sample', + 'frappy_psi.mercury.HeaterOutput', + 'sample stick heater power', + slot='MB0.H1', + io='itc_proxy', +) + +Mod('tsraw', + 'frappy_psi.parmod.Par', + 'sample T sensor raw value', + read='ts_uncal.raw', + unit='Ohm', +# export = False, +) + +Mod('ts', + 'frappy_psi.softcal.Sensor', + 'calibrated value for ts', + value = Param(unit = 'K'), + rawsensor = 'tsraw', + calib = 'X133834', +) diff --git a/stick/dil2_cfg.py b/stick/dil2_cfg.py new file mode 100644 index 0000000..17502de --- /dev/null +++ b/stick/dil2_cfg.py @@ -0,0 +1,76 @@ +Node('dil2.stick.sea.psi.ch', + 'dilution insert', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for dil2.stick', + config='dil2.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='ts', +) + +Mod('treg', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', +) + +Mod('tmon', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', +) + +Mod('T_oneK', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['onek'], +) + +Mod('T_still', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['stillt'], +) + +Mod('T_sample', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['sample'], +) + +Mod('T_samplehtr', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['samplehtr'], +) + +Mod('T_mix', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['mix'], +) + +Mod('dil', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='dil', +) + +Mod('T_sorb', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_stick', + sea_object='sorb', +) diff --git a/stick/dil3_cfg.py b/stick/dil3_cfg.py new file mode 100644 index 0000000..df9f2dc --- /dev/null +++ b/stick/dil3_cfg.py @@ -0,0 +1,76 @@ +Node('dil3.stick.sea.psi.ch', + 'dilution insert', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for dil3.stick', + config='dil3.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='ts', +) + +Mod('treg', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', +) + +Mod('tmon', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', +) + +Mod('T_oneK', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['onek'], +) + +Mod('T_still', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['stillt'], +) + +Mod('T_sample', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['sample'], +) + +Mod('T_samplehtr', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['samplehtr'], +) + +Mod('T_mix', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['mix'], +) + +Mod('dil', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='dil', +) + +Mod('T_sorb', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_stick', + sea_object='sorb', +) diff --git a/stick/dil4_cfg.py b/stick/dil4_cfg.py new file mode 100644 index 0000000..d0e1c57 --- /dev/null +++ b/stick/dil4_cfg.py @@ -0,0 +1,76 @@ +Node('dil4.stick.sea.psi.ch', + 'dilution insert', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for dil4.stick', + config='dil4.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='ts', +) + +Mod('treg', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', +) + +Mod('tmon', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', +) + +Mod('T_oneK', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['onek'], +) + +Mod('T_still', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tmon', + rel_paths=['stillt'], +) + +Mod('T_sample', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['sample'], +) + +Mod('T_samplehtr', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['samplehtr'], +) + +Mod('T_mix', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='treg', + rel_paths=['mix'], +) + +Mod('dil', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='dil', +) + +Mod('T_sorb', + 'frappy_psi.sea.SeaDrivable', '', + io='sea_stick', + sea_object='sorb', +) diff --git a/stick/dil5_cfg.py b/stick/dil5_cfg.py new file mode 100644 index 0000000..e398568 --- /dev/null +++ b/stick/dil5_cfg.py @@ -0,0 +1,249 @@ +Node('triton.psi.ch', + 'triton test', +) + +sea_cfg = 'dil5.stick' + +Mod('triton', + 'frappy_psi.mercury.IO', + 'connection to triton software', + uri='tcp://linse-dil5:33576', + timeout=25.0, +) + +Mod('T_mix', + 'frappy_psi.triton.TemperatureLoop', + 'mix. chamber temperature', + slot='T5', + output_module='htr_mix', + io='triton', +) + +Mod('htr_mix', + 'frappy_psi.triton.HeaterOutputWithRange', + 'mix. chamber heater', + slot='H1,T5', + io='triton', + resistivity = 100, +) + +Mod('ts', + 'frappy_psi.picontrol.PI', + 'softloop controlled Temperature mixing chamber', + meaning=['temperature', 30], + input_module = 'T_mix', + output_module = 'htr_mix', + control_active = 1, + output_range = (0, 100000), + p = 20000, + i = 100, + ) + +Mod('htr_sorb', + 'frappy_psi.triton.HeaterOutput', + 'sorb heater', + slot='H3', + io='triton', +) + +Mod('htr_still', + 'frappy_psi.triton.HeaterOutput', + 'still heater', + slot='H2', + io='triton', +) + +Mod('T_sorb', + 'frappy_psi.triton.TemperatureSensor', + 'sorb temperature', + slot='T1', + io='triton', +) + +Mod('T_ivc', + 'frappy_psi.triton.TemperatureSensor', + 'IVC temperature', + slot='T2', + io='triton', +) + +Mod('T_still', + 'frappy_psi.triton.TemperatureSensor', + 'still temperature', + slot='T3', + io='triton', +) + +Mod('T_cp', + 'frappy_psi.triton.TemperatureSensor', + 'cold plate temperature', + slot='T4', + io='triton', +) + +Mod('action', + 'frappy_psi.triton.Action', + 'higher level scripts', + io='triton', + slot='DR', +) + +Mod('p_dump', + 'frappy_psi.mercury.PressureSensor', + 'dump pressure', + slot='P1', + io='triton', +) + +Mod('p_cond', + 'frappy_psi.mercury.PressureSensor', + 'condenser pressure', + slot='P2', + io='triton', +) + +Mod('p_still', + 'frappy_psi.mercury.PressureSensor', + 'still pressure', + slot='P3', + io='triton', +) + +Mod('p_fore', + 'frappy_psi.mercury.PressureSensor', + 'pressure on the pump side', + slot='P4', + io='triton', +) + +Mod('p_back', + 'frappy_psi.mercury.PressureSensor', + 'pressure on the back side of the pump', + slot='P5', + io='triton', +) + +Mod('itc', + 'frappy_psi.mercury.IO', + 'connection to MercuryiTC', + uri='tcp://linse-dil5:3000', +) + +Mod('T_still_wup', + 'frappy_psi.mercury.TemperatureLoop', + 'still warmup temperature', + slot='MB1.T1', + io='itc', +) + +#Mod('htr_still_wup', +# 'frappy_psi.mercury.HeaterOutput', +# 'still warmup heater', +# slot='MB0.H1', +# io='itc', +#) + +Mod('T_one_K', + 'frappy_psi.mercury.TemperatureLoop', + '1 K plate warmup temperature', + slot='DB5.T1', + io='itc', +) + +Mod('T_mix_wup', + 'frappy_psi.mercury.TemperatureLoop', + 'mix. chamber warmup temperature', + slot='DB6.T1', + io='itc', +) + +Mod('htr_mix_wup', + 'frappy_psi.mercury.HeaterOutput', + 'mix. chamber warmup heater', + slot='DB1.H1', + io='itc', +) + +Mod('T_ivc_wup', + 'frappy_psi.mercury.TemperatureLoop', + 'IVC warmup temperature', + slot='DB7.T1', + io='itc', +) + +Mod('htr_ivc_wup', + 'frappy_psi.mercury.HeaterOutput', + 'IVC warmup heater', + slot='DB2.H1', + io='itc', +) + +Mod('T_cond', + 'frappy_psi.mercury.TemperatureLoop', + 'condenser temperature', + slot='DB8.T1', + io='itc', +) + +Mod('htr_cond', + 'frappy_psi.mercury.HeaterOutput', + 'condenser heater', + slot='DB3.H1', + io='itc', +) + +Mod('V1', + 'frappy_psi.triton.Valve', + 'valve V1', + slot='V1', + io='triton', +) + +Mod('V2', + 'frappy_psi.triton.Valve', + 'valve V2', + slot='V2', + io='triton', +) + +Mod('V4', + 'frappy_psi.triton.Valve', + 'valve V4', + slot='V4', + io='triton', +) + +Mod('V5', + 'frappy_psi.triton.Valve', + 'valve V5', + slot='V5', + io='triton', +) + +Mod('V9', + 'frappy_psi.triton.Valve', + 'valve V9', + slot='V9', + io='triton', +) + +Mod('turbo', + 'frappy_psi.triton.TurboPump', + 'still turbo pump', + slot='TURB1', + io='triton', +) + +Mod('fp', + 'frappy_psi.triton.Pump', + 'still fore pump', + slot='FP', + io='triton', +) + +Mod('compressor', + 'frappy_psi.triton.Pump', + 'compressor', + slot='COMP', + io='triton', +) diff --git a/stick/flamedil_cfg.py b/stick/flamedil_cfg.py new file mode 100644 index 0000000..e708838 --- /dev/null +++ b/stick/flamedil_cfg.py @@ -0,0 +1,152 @@ +Node('triton.psi.ch', + 'triton test', +) + +Mod('T_mix', + 'frappy_psi.triton.TemperatureLoop', + 'mix. chamber temperature', + meaning=['temperature', 30], + slot='T5', + output_module='htr_mix', + io='triton', +) + +Mod('T_sorb', + 'frappy_psi.triton.TemperatureSensor', + 'sorb temperature', + slot='T1', + io='triton', +) + +Mod('T_still', + 'frappy_psi.triton.TemperatureSensor', + 'still temperature', + slot='T4', + io='triton', +) + +Mod('T_hx', + 'frappy_psi.triton.TemperatureSensor', + 'heat exchanger T', + slot='T2', + io='triton', +) + +Mod('T_jtstage', + 'frappy_psi.triton.TemperatureSensor', + 'jt stage temperature', + slot='T3', + io='triton', +) + +Mod('htr_mix', + 'frappy_psi.triton.HeaterOutputWithRange', + 'mix. chamber heater', + slot='H1,T5', + io='triton', +) + +Mod('htr_sorb', + 'frappy_psi.triton.HeaterOutput', + 'sorb heater', + slot='H3', + io='triton', +) + +Mod('htr_still', + 'frappy_psi.triton.HeaterOutput', + 'still heater', + slot='H2', + io='triton', +) + +Mod('dil_action', + 'frappy_psi.triton.Action', + 'higher level scripts', + io='triton', + slot='DR', +) + +Mod('p_dump', + 'frappy_psi.mercury.PressureSensor', + 'dump pressure', + slot='P1', + io='triton', +) + +Mod('p_cond', + 'frappy_psi.mercury.PressureSensor', + 'condenser pressure', + slot='P2', + io='triton', +) + +Mod('p_still', + 'frappy_psi.mercury.PressureSensor', + 'still pressure', + slot='P3', + io='triton', +) + +Mod('p_back', + 'frappy_psi.mercury.PressureSensor', + 'pressure on the back side of the pump', + slot='P5', + io='triton', +) + +Mod('V1', + 'frappy_psi.triton.Valve', + 'valve V1', + slot='V1', + io='triton', +) + +Mod('V2', + 'frappy_psi.triton.Valve', + 'valve V2', + slot='V2', + io='triton', +) + +Mod('V4', + 'frappy_psi.triton.Valve', + 'valve V4', + slot='V4', + io='triton', +) + +Mod('V5', + 'frappy_psi.triton.Valve', + 'valve V5', + slot='V5', + io='triton', +) + +Mod('V9', + 'frappy_psi.triton.Valve', + 'valve V9', + slot='V9', + io='triton', +) + +Mod('fp', + 'frappy_psi.triton.Pump', + 'still fore pump', + slot='FP', + io='triton', +) + +Mod('compressor', + 'frappy_psi.triton.Pump', + 'compressor', + slot='COMP', + io='triton', +) + +Mod('triton', + 'frappy_psi.mercury.IO', + 'connection to triton software', + uri='tcp://flamedil:33576', + timeout=9.0, +) diff --git a/stick/forwarder_test_cfg.py b/stick/forwarder_test_cfg.py new file mode 100644 index 0000000..99887db --- /dev/null +++ b/stick/forwarder_test_cfg.py @@ -0,0 +1,26 @@ +Node('forwarder_test.psi.ch', + 'test for forwarder', + interface='tcp://5555', +) + +#Mod('src', +# 'frappy.core.Proxy', +# 'remote temperature', +# uri='samenv:15112', +# remote_class = 'frappy.modules.Readable', +# module='tt', +#) + +Mod('src', + 'frappy_psi.dummy.Temp', + 'source T') + +Mod('dst', + 'frappy_psi.dummy.Temp', + 'dummy (remote) T') + +Mod('forwarder', + 'frappy_psi.dummy.Forwarder', + 'forwarder', + src='src', + dst='dst') diff --git a/stick/gas10ka_cfg.py b/stick/gas10ka_cfg.py new file mode 100644 index 0000000..1764c89 --- /dev/null +++ b/stick/gas10ka_cfg.py @@ -0,0 +1,43 @@ +import os + +Node('gas10ka.psi.ch', + 'gas pressure stick 10 kbar', +) + +frappy_main_port = os.environ.get('FRAPPY_MAIN_PORT', 0) + +Mod('itc1_', + 'frappy.core.Proxy', + 'itc1 on main frappy server', + remote_class = 'frappy_psi.mercury.IO', + uri = f'tcp://localhost:{frappy_main_port}', + module='itc1', + # export = False, +) + + +Mod('res_sample', + 'frappy_psi.mercury.RawSensor', + 'raw sensor', + io='itc1_', + slot='MB1.T1', +) + +Mod('htr_sample', + 'frappy_psi.mercury.HeaterUpdate', + 'sample stick heater power', + slot='MB0.H1,MB1.T1', + io='itc1_', +) + +Mod('T_sample', + 'frappy_psi.softcal.SoftPiLoop', + 'sample T', + meaning=['temperature', 30], + rawsensor='res_sample', + output_module='htr_sample', + p=1, + i=0.01, + calib='X161269', + value=Param(unit='K'), +) diff --git a/stick/heliox_cfg.py b/stick/heliox_cfg.py new file mode 100644 index 0000000..27700a6 --- /dev/null +++ b/stick/heliox_cfg.py @@ -0,0 +1,45 @@ +Node('heliox.stick.sea.psi.ch', + 'heliox insert', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for heliox.stick', + config='heliox.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='ts', +) + +Mod('T_sorb', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='th', + rel_paths=['sorb'], +) + +Mod('T_plate', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='th', + rel_paths=['plate'], +) + +Mod('T_low', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='th', + rel_paths=['low'], +) + +Mod('T_pot', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='th', + rel_paths=['pot'], +) diff --git a/stick/hvolt_long_cfg.py b/stick/hvolt_long_cfg.py new file mode 100644 index 0000000..b6c99f7 --- /dev/null +++ b/stick/hvolt_long_cfg.py @@ -0,0 +1,41 @@ +Node('cfg/stick/hvolt_long.cfg', + 'high voltage stick (extended can)', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for hvolt_long.stick', + config='hvolt_long.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma6.config.json', + rel_paths=['ts_2'], +) + +Mod('ts_reg', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='tt', + json_file='ma6.config.json', + rel_paths=['ts'], +) + +Mod('hcp', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='hcp', +) + +Mod('v', + 'frappy_psi.parmod.Driv', + 'drivable voltage', + read='hcp.value', + write='hcp.set', + unit='V', +) diff --git a/stick/hvolt_short_cfg.py b/stick/hvolt_short_cfg.py new file mode 100644 index 0000000..77f9d8c --- /dev/null +++ b/stick/hvolt_short_cfg.py @@ -0,0 +1,25 @@ +Node('cfg/stick/hvolt_short.cfg', + 'high voltage stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for hvolt_short.stick', + config='hvolt_short.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma10.config.json', + rel_paths=['ts'], +) + +Mod('hcp', + 'frappy_psi.sea.SeaWritable', '', + io='sea_stick', + sea_object='hcp', +) diff --git a/stick/ill1stick_cfg.py b/stick/ill1stick_cfg.py new file mode 100644 index 0000000..7254f87 --- /dev/null +++ b/stick/ill1stick_cfg.py @@ -0,0 +1,19 @@ +Node('ill1.stick.sea.psi.ch', + 'ILL1 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ill1.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill1.config.json', + rel_paths=['ts'], +) diff --git a/stick/ill2stick_cfg.py b/stick/ill2stick_cfg.py new file mode 100644 index 0000000..525aaef --- /dev/null +++ b/stick/ill2stick_cfg.py @@ -0,0 +1,19 @@ +Node('ill2.stick.sea.psi.ch', + 'ILL2 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ill2.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill2.config.json', + rel_paths=['ts'], +) diff --git a/stick/ill3stick_cfg.py b/stick/ill3stick_cfg.py new file mode 100644 index 0000000..897400a --- /dev/null +++ b/stick/ill3stick_cfg.py @@ -0,0 +1,19 @@ +Node('cfg/stick/ill3stick.cfg', + 'ILL3 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ill3.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill3.config.json', + rel_paths=['ts'], +) diff --git a/stick/ill4stick_cfg.py b/stick/ill4stick_cfg.py new file mode 100644 index 0000000..28b12f3 --- /dev/null +++ b/stick/ill4stick_cfg.py @@ -0,0 +1,19 @@ +Node('ill4.stick.sea.psi.ch', + 'ILL4 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ill4.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill4.config.json', + rel_paths=['ts'], +) diff --git a/stick/ill5p_cfg.py b/stick/ill5p_cfg.py new file mode 100644 index 0000000..a458219 --- /dev/null +++ b/stick/ill5p_cfg.py @@ -0,0 +1,19 @@ +Node('ill5p.stick.sea.psi.ch', + 'ILL5 sample stick for pressure cells', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ill5p.stick', + config='ill5p.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill5.config.json', + rel_paths=['ts'], +) diff --git a/stick/ill5stick_cfg.py b/stick/ill5stick_cfg.py new file mode 100644 index 0000000..8ef3507 --- /dev/null +++ b/stick/ill5stick_cfg.py @@ -0,0 +1,19 @@ +Node('ill5.stick.sea.psi.ch', + 'ILL5 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ill5.stick', + config='ill5.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ill5.config.json', + rel_paths=['ts'], +) diff --git a/stick/ma02stick_cfg.py b/stick/ma02stick_cfg.py new file mode 100644 index 0000000..de4f692 --- /dev/null +++ b/stick/ma02stick_cfg.py @@ -0,0 +1,19 @@ +Node('ma02.stick.sea.psi.ch', + 'MAO2 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma02.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma02.config.json', + rel_paths=['ts'], +) diff --git a/stick/ma10stick_cfg.py b/stick/ma10stick_cfg.py new file mode 100644 index 0000000..d9faeb2 --- /dev/null +++ b/stick/ma10stick_cfg.py @@ -0,0 +1,19 @@ +Node('ma10.stick.sea.psi.ch', + 'MA10 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma10.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma10.config.json', + rel_paths=['ts'], +) diff --git a/stick/ma11stick_cfg.py b/stick/ma11stick_cfg.py new file mode 100644 index 0000000..ffcddb0 --- /dev/null +++ b/stick/ma11stick_cfg.py @@ -0,0 +1,30 @@ +Node('ma11.stick.sea.psi.ch', + 'MA11 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma11.stick', + service='stick', +) + +Mod('tsam', + 'frappy_psi.sea.SeaReadable', + 'sample stick temperature', + io='sea_stick', + json_file='ma11.config.json', + sea_object='tt', + rel_paths=['ts', 'setsamp'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'stick T (controlled)', + meaning=['temperature', 25], + unit='K', + read='tsam.value', + write='tsam.setsamp', + settling_time=20, + tolerance=1, +) diff --git a/stick/ma15stick_cfg.py b/stick/ma15stick_cfg.py new file mode 100644 index 0000000..355143e --- /dev/null +++ b/stick/ma15stick_cfg.py @@ -0,0 +1,19 @@ +Node('ma15.stick.sea.psi.ch', + 'MA15 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma15.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma15.config.json', + rel_paths=['ts'], +) diff --git a/stick/ma6_sampleheat_cfg.py b/stick/ma6_sampleheat_cfg.py new file mode 100644 index 0000000..d695bf9 --- /dev/null +++ b/stick/ma6_sampleheat_cfg.py @@ -0,0 +1,11 @@ +Node('ma6_sampleheat.psi.ch', '', interface='tcp://5000') + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for ma6_sampleheat.stick', + config='ma6_sampleheat.stick', + service='stick', +) + + +# ts is configured on ma7_sampleheat_cfg.py diff --git a/stick/ma6_sampleheatstick_cfg.py b/stick/ma6_sampleheatstick_cfg.py new file mode 100644 index 0000000..50b027f --- /dev/null +++ b/stick/ma6_sampleheatstick_cfg.py @@ -0,0 +1,11 @@ +Node('ma6_sampleheat.psi.ch', '', interface='tcp://5000') + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for ma6_sampleheatstick.stick', + config='ma6_sampleheatstick.stick', + service='stick', +) + + +# ts is configured on ma6_sampleheat_cfg.py diff --git a/stick/ma6stick_cfg.py b/stick/ma6stick_cfg.py new file mode 100644 index 0000000..8c29d31 --- /dev/null +++ b/stick/ma6stick_cfg.py @@ -0,0 +1,34 @@ +Node('ma6.stick.sea.psi.ch', + 'MA6 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma6.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', + 'sample stick temperature', + io='sea_stick', + json_file='ma6.config.json', + sea_object='tt', + rel_paths=['ts', 'setsamp'], + meaning=['temperature', 30], +) + + +""" +Mod('ts', + 'frappy_psi.parmod.Converging', + 'drivable stick T using setsamp', + meaning=['temperature', 25], + unit='K', + read='tsam.value', + write='tsam.setsamp', + settling_time=20, + tolerance=1, +) +""" diff --git a/stick/ma7_piezostick_cfg.py b/stick/ma7_piezostick_cfg.py new file mode 100644 index 0000000..1c98889 --- /dev/null +++ b/stick/ma7_piezostick_cfg.py @@ -0,0 +1,19 @@ +Node('ma7.stick.sea.psi.ch', + 'MA7 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma7_piezo.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ma7_piezo.config.json', + rel_paths=['ts'], +) diff --git a/stick/ma7stick_cfg.py b/stick/ma7stick_cfg.py new file mode 100644 index 0000000..db0c788 --- /dev/null +++ b/stick/ma7stick_cfg.py @@ -0,0 +1,18 @@ +Node('ma7.stick.sea.psi.ch', + 'MA7 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ma7.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_path='tt/ts', + json_file='ma7.config.json', +) diff --git a/stick/mb11stick_cfg.py b/stick/mb11stick_cfg.py new file mode 100644 index 0000000..02d8071 --- /dev/null +++ b/stick/mb11stick_cfg.py @@ -0,0 +1,3 @@ +Node('mb11.stick.sea.psi.ch', + 'MB11 standard sample stick (do not use)', +) diff --git a/stick/nostick_cfg.py b/stick/nostick_cfg.py new file mode 100644 index 0000000..63c78e4 --- /dev/null +++ b/stick/nostick_cfg.py @@ -0,0 +1,11 @@ +Node('none.stick.sea.psi.ch', + 'cryostat or cryomagnet without stick', +) + +Mod('seaconn', + 'frappy_psi.sea.SeaClient', + 'SEA connection to none stick', + config='none.stick', + export=False, + service='stick', +) diff --git a/stick/ori1stick_cfg.py b/stick/ori1stick_cfg.py new file mode 100644 index 0000000..8abb2c6 --- /dev/null +++ b/stick/ori1stick_cfg.py @@ -0,0 +1,19 @@ +Node('cfg/stick/ori1stick.cfg', + 'ORI1 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='ori1.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori1.config.json', + rel_paths=['ts'], +) diff --git a/stick/ori3stick_cfg.py b/stick/ori3stick_cfg.py new file mode 100644 index 0000000..ca68528 --- /dev/null +++ b/stick/ori3stick_cfg.py @@ -0,0 +1,19 @@ +Node('ori3.stick.sea.psi.ch', + 'ORI3 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ori3.stick', + config='ori3.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori3.config.json', + rel_paths=['ts'], +) diff --git a/stick/ori4stick_cfg.py b/stick/ori4stick_cfg.py new file mode 100644 index 0000000..b3b94ae --- /dev/null +++ b/stick/ori4stick_cfg.py @@ -0,0 +1,19 @@ +Node('ori4.stick.sea.psi.ch', + 'ORI4 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA connection to ori4 stick', + config='ori4.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori4.config.json', + rel_paths=['ts'], +) diff --git a/stick/ori6stick_cfg.py b/stick/ori6stick_cfg.py new file mode 100644 index 0000000..5b1d8af --- /dev/null +++ b/stick/ori6stick_cfg.py @@ -0,0 +1,19 @@ +Node('ori6.stick.sea.psi.ch', + 'ORI6 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ori6.stick', + config='ori6.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori6.config.json', + rel_paths=['ts'], +) diff --git a/stick/ori7stick_cfg.py b/stick/ori7stick_cfg.py new file mode 100644 index 0000000..545c5c0 --- /dev/null +++ b/stick/ori7stick_cfg.py @@ -0,0 +1,19 @@ +Node('ori7.stick.sea.psi.ch', + 'ORI7 standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ori6.stick', + config='ori7.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori7.config.json', + rel_paths=['ts'], +) diff --git a/stick/ovenstick_cfg.py b/stick/ovenstick_cfg.py new file mode 100644 index 0000000..51cf7a3 --- /dev/null +++ b/stick/ovenstick_cfg.py @@ -0,0 +1,31 @@ +Node('cfg/stick/ovenstick.cfg', + 'oven stick for sans', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='oven.stick', + service='stick', +) + +Mod('tsam', + 'frappy_psi.sea.SeaReadable', + 'sample stick temperature', + io='sea_stick', + json_file='ma7.config.json', + sea_object='tt', + rel_paths=['ts', 'setsamp'] +) + +Mod('ts', + 'frappy_psi.parmod.Converging', + 'drivable stick T using setsamp', + meaning=['temperature', 30], + unit='K', + read='tsam.value', + write='tsam.setsamp', + settling_time=20, + tolerance=1, +) + diff --git a/stick/oventwo_cfg.py b/stick/oventwo_cfg.py new file mode 100644 index 0000000..73c923e --- /dev/null +++ b/stick/oventwo_cfg.py @@ -0,0 +1,17 @@ +Node('cfg/stick/oventwo.cfg', + 'oven stick for SANS', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for oventwo.stick', + config='oventwo.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaDrivable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='ts', +) diff --git a/stick/pgas5_cfg.py b/stick/pgas5_cfg.py new file mode 100644 index 0000000..b561bd1 --- /dev/null +++ b/stick/pgas5_cfg.py @@ -0,0 +1,29 @@ +Node('pgas5.stick.sea.psi.ch', + 'PGAS5 gas pressure cell stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick SEA connection to ill5.stick', + config = 'pgas5.stick', + service = 'stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', + 'sample temperature', + meaning=['temperature', 30], + io = 'sea_stick', + sea_object = 'tt', + json_file = 'ill5pgas5.config.json', + rel_paths = ['ts'], +) + +Mod('T_bottom', + 'frappy_psi.sea.SeaReadable', + 'bottom T', + io = 'sea_stick', + sea_object = 'tt', + json_file = 'ill5pgas5.config.json', + rel_paths = ['ts_2'], +) diff --git a/stick/sch5_cfg.py b/stick/sch5_cfg.py new file mode 100644 index 0000000..b974146 --- /dev/null +++ b/stick/sch5_cfg.py @@ -0,0 +1,25 @@ +Node('sch5.stick.sea.psi.ch', + 'sample changer for 100 mm orange cryo (5 samples, HRPT)', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA connection to sch5', + config='sch5.stick', + service='stick', +) + +Mod('warmup', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='warmup', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='ori4.config.json', + rel_paths=['ts'], +) diff --git a/stick/sch_cfg.py b/stick/sch_cfg.py new file mode 100644 index 0000000..500beb8 --- /dev/null +++ b/stick/sch_cfg.py @@ -0,0 +1,26 @@ +# error creating warmup +Node('cfg/stick/sch.cfg', + 'old sample changer for 100 mm orange cryo (4 samples, HRPT)', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA connection to sch4', + config='sch.stick', + service='stick', +) + +Mod('warmup', + 'frappy_psi.sea.SeaReadable', '', + sea_object='warmup', + io='sea_stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + sea_object='tt', + json_file='ori4.config.json', + rel_paths=['ts'], + io='sea_stick', +) diff --git a/stick/thermalcond_cfg.py b/stick/thermalcond_cfg.py new file mode 100644 index 0000000..0d070d9 --- /dev/null +++ b/stick/thermalcond_cfg.py @@ -0,0 +1,46 @@ +Node('thermalcond.stick.sea.psi.ch', + '''50 mm thermal conductivity stick, version with standard lsc370 driver''', +) +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'stick sea connection for thermalcond.stick', + config = 'thermalcond.stick', + service = 'stick', +) + + +Mod('R1', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='res', + rel_paths=['s1'], +) + +Mod('R2', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='res', + rel_paths=['s2'], +) + +Mod('R3', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='res', + rel_paths=['s3'], +) + +Mod('R4', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='res', + rel_paths=['s4'], +) + + +Mod('R5', + 'frappy_psi.sea.SeaReadable', '', + io='sea_stick', + sea_object='res', + rel_paths=['s5'], +) diff --git a/stick/varioxbstick_cfg.py b/stick/varioxbstick_cfg.py new file mode 100644 index 0000000..d7eee6a --- /dev/null +++ b/stick/varioxbstick_cfg.py @@ -0,0 +1,32 @@ +import os + +Node('varioxbstick.psi.ch', + 'variox B standard sample stick', +) + +frappy_main_port = os.environ.get('FRAPPY_MAIN_PORT', 0) + +Mod('itc1_', + 'frappy.core.Proxy', + 'itc1 on main frappy server', + remote_class = 'frappy_psi.mercury.IO', + uri = f'tcp://localhost:{frappy_main_port}', + module='itc1', + # export = False, +) + + +Mod('T_sample', + 'frappy_psi.mercury.TemperatureLoop', + 'T at sample stick sensor', + meaning=['temperature', 30], + io='itc1_', + slot='MB1.T1', +) + +Mod('htr_sample', + 'frappy_psi.mercury.HeaterOutput', + 'sample stick heater power', + slot='MB0.H1', + io='itc1_', +) diff --git a/stick/varioxstick_cfg.py b/stick/varioxstick_cfg.py new file mode 100644 index 0000000..b4db647 --- /dev/null +++ b/stick/varioxstick_cfg.py @@ -0,0 +1,19 @@ +Node('cfg/stick/varioxstick.cfg', + 'Variox standard sample stick', +) + +Mod('sea_stick', + 'frappy_psi.sea.SeaClient', + 'SEA stick connection', + config='variox.stick', + service='stick', +) + +Mod('ts', + 'frappy_psi.sea.SeaReadable', '', + meaning=['temperature', 30], + io='sea_stick', + sea_object='tt', + json_file='variox.config.json', + rel_paths=['ts'], +)