From a35231f5bd224d355ce0cff829cac1e16f81b54a Mon Sep 17 00:00:00 2001 From: Markus Zolliker Date: Tue, 7 Jun 2022 14:26:30 +0200 Subject: [PATCH] fixes in mb11/dil5 - no need fro second slot in TemperatureLoop, PressureLoop - only ValvePos needs two slots - added testwise heater to mix chamber Change-Id: Iac4592d037a5e6a4f586041762992d75cc77e3de --- cfg/main/mb11.cfg | 12 ++++++------ cfg/stick/dil5.cfg | 16 ++++++++-------- secop_psi/mercury.py | 4 ++-- secop_psi/triton.py | 12 ++++++++++-- 4 files changed, 26 insertions(+), 18 deletions(-) diff --git a/cfg/main/mb11.cfg b/cfg/main/mb11.cfg index 0f3db0e..56b4248 100644 --- a/cfg/main/mb11.cfg +++ b/cfg/main/mb11.cfg @@ -25,7 +25,7 @@ class = secop_psi.mercury.TemperatureAutoFlow description = static heat exchanger temperature output_module = htr_stat needle_valve = p_stat -slot = DB6.T1,DB1.H1 +slot = DB6.T1 io = itc1 tolerance = 0.1 @@ -56,7 +56,7 @@ class = secop_psi.mercury.TemperatureAutoFlow description = dynamic heat exchanger temperature output_module = htr_dyn needle_valve = p_dyn -slot = DB7.T1,DB2.H1 +slot = DB7.T1 io = itc1 tolerance = 0.1 @@ -98,7 +98,7 @@ io = ips class = secop_psi.mercury.TemperatureLoop description = neck heater 1 temperature output_module = htr_neck1 -slot = MB1.T1,MB0.H1 +slot = MB1.T1 io = itc2 tolerance = 1 @@ -112,7 +112,7 @@ io = itc2 class = secop_psi.mercury.TemperatureLoop description = neck heater 2 temperature output_module = htr_neck2 -slot = DB6.T1,DB1.H1 +slot = DB6.T1 io = itc2 tolerance = 1 @@ -126,7 +126,7 @@ io = itc2 class = secop_psi.mercury.TemperatureLoop description = static needle valve temperature output_module = htr_nvs -slot = DB7.T1,DB2.H1 +slot = DB7.T1 io = itc2 tolerance = 0.1 @@ -140,7 +140,7 @@ io = itc2 class = secop_psi.mercury.TemperatureLoop description = dynamic needle valve heater temperature output_module = htr_nvd -slot = DB8.T1,DB3.H1 +slot = DB8.T1 io = itc2 tolerance = 0.1 diff --git a/cfg/stick/dil5.cfg b/cfg/stick/dil5.cfg index c52793f..1ab6fda 100644 --- a/cfg/stick/dil5.cfg +++ b/cfg/stick/dil5.cfg @@ -10,17 +10,17 @@ class = secop_psi.mercury.IO description = connection to triton software uri = tcp://linse-dil5:33576 -#[ts] -#class = secop_psi.switching_sensor.Sensor -#description = either T_mix or T_mix_wup, depending on T -#lower = T_mix -#upper = T_mix_wup -#switch_range = (1.5, 4) - [ts] -class = secop_psi.triton.TemperatureSensor +class = secop_psi.triton.TemperatureLoop description = mix. chamber temperature slot = T5 +output_module = htr_mix +io = triton + +[htr_mix] +class = secop_psi.triton.HeaterOutput +description = mix. chamber heater +slot = H1 io = triton [T_sorb] diff --git a/secop_psi/mercury.py b/secop_psi/mercury.py index 6dc78bc..33cfec0 100644 --- a/secop_psi/mercury.py +++ b/secop_psi/mercury.py @@ -343,7 +343,7 @@ class HeaterOutput(HasInput, MercuryChannel, Writable): class TemperatureLoop(TemperatureSensor, Loop, Drivable): - channel_type = 'TEMP,HTR' + channel_type = 'TEMP' output_module = Attached(HeaterOutput, mandatory=False) ramp = Parameter('ramp rate', FloatRange(0, unit='K/min'), readonly=False) enable_ramp = Parameter('enable ramp rate', BoolType(), readonly=False) @@ -463,7 +463,7 @@ class ValvePos(HasInput, MercuryChannel, Drivable): class PressureLoop(HasInput, PressureSensor, Loop, Drivable): - channel_type = 'PRES,AUX' + channel_type = 'PRES' output_module = Attached(ValvePos, mandatory=False) tolerance = Parameter(default=0.1) diff --git a/secop_psi/triton.py b/secop_psi/triton.py index 5ed6d4f..1ac7ef0 100644 --- a/secop_psi/triton.py +++ b/secop_psi/triton.py @@ -175,7 +175,7 @@ class FlowMeter(MercuryChannel, Readable): return self.query('FLOW:SIG:FLOW') -class TemperatureSensor(mercury.TemperatureSensor): +class ScannerChannel: # TODO: excitation, enable # TODO: switch on/off filter, check filter_time = Parameter('filter time', FloatRange(1, 200, unit='sec'), readonly=False) @@ -203,5 +203,13 @@ class TemperatureSensor(mercury.TemperatureSensor): return self.change('TEMP:MEAS:PAUS', value) -class TemperatureLoop(mercury.TemperatureLoop): +class TemperatureSensor(ScannerChannel, mercury.TemperatureSensor): pass + + +class TemperatureLoop(ScannerChannel, mercury.TemperatureLoop): + pass + + +class HeaterOutput(mercury.HeaterOutput): + pass # not sure if we need special handling of triton heater output: to be checked!